17 Retrospective 15.4 Task I4: Add a locale switcher.
git add .
git commit -a -m "save work"
Created commit e1142e8: save work
94 files changed, 2245 insertions(+), 117 deletions(-)
create mode 100644 app/controllers/admin_controller.rb
create mode 100644 app/controllers/carts_controller.rb
create mode 100644 app/controllers/line_items_controller.rb
create mode 100644 app/controllers/orders_controller.rb
create mode 100644 app/controllers/sessions_controller.rb
create mode 100644 app/controllers/store_controller.rb
create mode 100644 app/controllers/users_controller.rb
create mode 100644 app/helpers/admin_helper.rb
create mode 100644 app/helpers/carts_helper.rb
create mode 100644 app/helpers/line_items_helper.rb
create mode 100644 app/helpers/orders_helper.rb
create mode 100644 app/helpers/sessions_helper.rb
create mode 100644 app/helpers/store_helper.rb
create mode 100644 app/helpers/users_helper.rb
create mode 100644 app/mailers/notifier.rb
create mode 100644 app/models/cart.rb
create mode 100644 app/models/line_item.rb
create mode 100644 app/models/order.rb
create mode 100644 app/models/user.rb
create mode 100644 app/views/admin/index.html.erb
create mode 100644 app/views/carts/_cart.html.erb
create mode 100644 app/views/carts/_form.html.erb
create mode 100644 app/views/carts/edit.html.erb
create mode 100644 app/views/carts/index.html.erb
create mode 100644 app/views/carts/new.html.erb
create mode 100644 app/views/carts/show.html.erb
create mode 100644 app/views/line_items/_form.html.erb
create mode 100644 app/views/line_items/_line_item.html.erb
create mode 100644 app/views/line_items/_line_item.text.erb
create mode 100644 app/views/line_items/create.js.rjs
create mode 100644 app/views/line_items/edit.html.erb
create mode 100644 app/views/line_items/index.html.erb
create mode 100644 app/views/line_items/new.html.erb
create mode 100644 app/views/line_items/show.html.erb
create mode 100644 app/views/notifier/order_received.text.erb
create mode 100644 app/views/notifier/order_shipped.html.erb
create mode 100644 app/views/notifier/order_shipped.text.erb
create mode 100644 app/views/orders/_form.html.erb
create mode 100644 app/views/orders/edit.html.erb
create mode 100644 app/views/orders/index.html.erb
create mode 100644 app/views/orders/new.html.erb
create mode 100644 app/views/orders/show.html.erb
create mode 100644 app/views/products/who_bought.atom.builder
create mode 100644 app/views/products/who_bought.html.erb
create mode 100644 app/views/products/who_bought.xml.builder
create mode 100644 app/views/sessions/create.html.erb
create mode 100644 app/views/sessions/destroy.html.erb
create mode 100644 app/views/sessions/new.html.erb
create mode 100644 app/views/store/index.html.erb
create mode 100644 app/views/users/_form.html.erb
create mode 100644 app/views/users/edit.html.erb
create mode 100644 app/views/users/index.html.erb
create mode 100644 app/views/users/new.html.erb
create mode 100644 app/views/users/show.html.erb
create mode 100644 config/initializers/i18n.rb
rewrite config/locales/en.yml (97%)
create mode 100644 config/locales/es.yml
rewrite config/routes.rb (88%)
create mode 100644 db/migrate/20100301000002_create_carts.rb
create mode 100644 db/migrate/20100301000003_create_line_items.rb
create mode 100644 db/migrate/20100301000004_add_quantity_to_line_item.rb
create mode 100644 db/migrate/20100301000005_combine_items_in_cart.rb
create mode 100644 db/migrate/20100301000006_create_orders.rb
create mode 100644 db/migrate/20100301000007_add_order_id_to_line_item.rb
create mode 100644 db/migrate/20100301000008_create_users.rb
create mode 100644 script/load_orders.rb
create mode 100644 test/fixtures/carts.yml
create mode 100644 test/fixtures/line_items.yml
create mode 100644 test/fixtures/orders.yml
create mode 100644 test/fixtures/users.yml
create mode 100644 test/functional/admin_controller_test.rb
create mode 100644 test/functional/carts_controller_test.rb
create mode 100644 test/functional/line_items_controller_test.rb
create mode 100644 test/functional/notifier_test.rb
create mode 100644 test/functional/orders_controller_test.rb
create mode 100644 test/functional/sessions_controller_test.rb
create mode 100644 test/functional/store_controller_test.rb
create mode 100644 test/functional/users_controller_test.rb
create mode 100644 test/integration/dsl_user_stories_test.rb
create mode 100644 test/integration/user_stories_test.rb
create mode 100644 test/unit/cart_test.rb
create mode 100644 test/unit/helpers/admin_helper_test.rb
create mode 100644 test/unit/helpers/carts_helper_test.rb
create mode 100644 test/unit/helpers/line_items_helper_test.rb
create mode 100644 test/unit/helpers/orders_helper_test.rb
create mode 100644 test/unit/helpers/sessions_helper_test.rb
create mode 100644 test/unit/helpers/store_helper_test.rb
create mode 100644 test/unit/helpers/users_helper_test.rb
create mode 100644 test/unit/line_item_test.rb
create mode 100644 test/unit/order_test.rb
create mode 100644 test/unit/user_test.rb
edit config/database.yml
# SQLite version 3.x
# gem install sqlite3-ruby (not necessary on OS X Leopard)
development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
adapter: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000
production:
adapter: mysql
encoding: utf8
reconnect: false
database: depot_production
pool: 5
username: username
password: password
host: localhost
edit Gemfile
# source 'http://rubygems.org'
gem 'rails', :path => "/home/rubys/git/rails" # '3.0.0.beta3'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'sqlite3-ruby', :require => 'sqlite3'
group :production do
gem 'mysql'
end
# Use unicorn as the web server
# gem 'unicorn'
# Deploy with Capistrano
gem 'capistrano'
# To use debugger
# gem 'ruby-debug'
# Bundle the extra gems:
# gem 'bj'
# gem 'nokogiri', '1.4.1'
# gem 'sqlite3-ruby', :require => 'sqlite3'
# gem 'aws-s3', :require => 'aws/s3'
gem 'will_paginate', '>= 3.0.pre'
# Bundle gems for certain environments:
# gem 'rspec', :group => :test
# group :test do
# gem 'webrat'
# end
bundle install
Using rake (0.8.7) from system gems
Using abstract (1.0.0) from bundler gems
Using activesupport (3.0.0.beta3) from source code at /home/rubys/git/rails
Using builder (2.1.2) from bundler gems
Using i18n (0.4.1) from bundler gems
Using activemodel (3.0.0.beta3) from source code at /home/rubys/git/rails
Using erubis (2.6.5) from bundler gems
Using rack (1.1.0) from bundler gems
Using rack-mount (0.6.3) from bundler gems
Using rack-test (0.5.4) from bundler gems
Using tzinfo (0.3.22) from bundler gems
Using actionpack (3.0.0.beta3) from source code at /home/rubys/git/rails
Using mime-types (1.16) from bundler gems
Using polyglot (0.3.1) from bundler gems
Using treetop (1.4.8) from bundler gems
Using mail (2.2.1) from bundler gems
Using actionmailer (3.0.0.beta3) from source code at /home/rubys/git/rails
Using arel (0.3.3) from bundler gems
Using activerecord (3.0.0.beta3) from source code at /home/rubys/git/rails
Using activeresource (3.0.0.beta3) from source code at /home/rubys/git/rails
Using bundler (0.9.24) from bundler gems
Using highline (1.5.2) from bundler gems
Using net-ssh (2.0.23) from bundler gems
Using net-scp (1.0.2) from bundler gems
Using net-sftp (2.0.4) from bundler gems
Using net-ssh-gateway (1.0.1) from bundler gems
Using capistrano (2.5.18) from bundler gems
Using mysql (2.8.1) from bundler gems
Using thor (0.13.6) from bundler gems
Using railties (3.0.0.beta3) from source code at /home/rubys/git/rails
Using rails (3.0.0.beta3) from source code at /home/rubys/git/rails
Using sqlite3-ruby (1.2.5) from bundler gems
Using will_paginate (3.0.pre) from bundler gems
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
rake db:setup RAILS_ENV=production
depot_production already exists
(in /home/rubys/svn/rails4/Book/util/work-193/depot)
-- create_table("carts", {:force=>true})
-> 0.0578s
-- create_table("line_items", {:force=>true})
-> 0.0530s
-- create_table("orders", {:force=>true})
-> 0.0249s
-- create_table("products", {:force=>true})
-> 0.0109s
-- create_table("users", {:force=>true})
-> 0.0070s
-- initialize_schema_migrations_table()
-> 0.0005s
-- assume_migrated_upto_version(20100301000008, "db/migrate")
-> 0.0005s
bundle pack
Your bundle is now locked. Use `bundle show [gemname]` to list the gems in the environment.
Copying .gem files into vendor/cache
* rake-0.8.7.gem
* abstract-1.0.0.gem
* builder-2.1.2.gem
* i18n-0.4.1.gem
* erubis-2.6.5.gem
* rack-1.1.0.gem
* rack-mount-0.6.3.gem
* rack-test-0.5.4.gem
* tzinfo-0.3.22.gem
* mime-types-1.16.gem
* polyglot-0.3.1.gem
* treetop-1.4.8.gem
* mail-2.2.1.gem
* arel-0.3.3.gem
* bundler-0.9.24.gem
* highline-1.5.2.gem
* net-ssh-2.0.23.gem
* net-scp-1.0.2.gem
* net-sftp-2.0.4.gem
* net-ssh-gateway-1.0.1.gem
* capistrano-2.5.18.gem
* mysql-2.8.1.gem
* thor-0.13.6.gem
* sqlite3-ruby-1.2.5.gem
* will_paginate-3.0.pre.gem
Removing outdated .gem files from vendor/cache
capify .
[add] writing './Capfile'
[add] writing './config/deploy.rb'
[done] capified!
edit config/deploy.rb
# be sure to change these
set :user, 'rubys'
set :domain, 'depot.pragprog.com'
set :application, 'depot'
# file paths
set :repository, "#{user}@#{domain}:git/#{application}.git"
set :deploy_to, "/home/#{user}/#{domain}"
# distribute your applications across servers (the instructions below put them
# all on the same server, defined above as 'domain', adjust as necessary)
role :app, domain
role :web, domain
role :db, domain, :primary => true
# you might need to set this if you aren't seeing password prompts
# default_run_options[:pty] = true
# As Capistrano executes in a non-interactive mode and therefore doesn't cause
# any of your shell profile scripts to be run, the following might be needed
# if (for example) you have locally installed gems or applications. Note:
# this needs to contain the full values for the variables set, not simply
# the deltas.
# default_environment['PATH']='<your paths>:/usr/local/bin:/usr/bin:/bin'
# default_environment['GEM_PATH']='<your paths>:/usr/lib/ruby/gems/1.8'
# miscellaneous options
set :deploy_via, :remote_cache
set :scm, 'git'
set :branch, 'master'
set :scm_verbose, true
set :use_sudo, false
# task which causes Passenger to initiate a restart
namespace :deploy do
task :restart do
run "touch #{current_path}/tmp/restart.txt"
end
task :seed do
run "cd #{current_path}; rake db:seed RAILS_ENV=production"
end
end
# optional task to reconfigure databases
after "deploy:update_code", :bundle_install
desc "install the necessary prerequisites"
task :bundle_install, :roles => :app do
run "cd #{release_path} && bundle install"
end
edit config/environments/production.rb
Depot::Application.configure do
# Settings specified here will take precedence over those in config/environment.rb
# The production environment is meant for finished, "live" apps.
# Code is not reloaded between requests
config.cache_classes = true
# Full error reports are disabled and caching is turned on
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
# Specifies the header that your server uses for sending files
config.action_dispatch.x_sendfile_header = "X-Sendfile"
# For nginx:
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'
# If you have no front-end server that supports something like X-Sendfile,
# just comment this out and Rails will serve the files
# See everything in the log (default is :info)
# config.log_level = :debug
# Use a different logger for distributed setups
# config.logger = SyslogLogger.new
# Use a different cache store in production
# config.cache_store = :mem_cache_store
# Disable Rails's static asset server
# In production, Apache or nginx will already do this
config.serve_static_assets = false
# Enable serving of images, stylesheets, and javascripts from an asset server
# config.action_controller.asset_host = "http://assets.example.com"
# Disable delivery errors, bad email addresses will be ignored
# config.action_mailer.raise_delivery_errors = false
# Enable threaded mode
# config.threadsafe!
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
# the I18n.default_locale when a translation can not be found)
config.i18n.fallbacks = true
require 'active_support/core_ext/numeric/bytes'
config.logger = Logger.new(paths.log.first, 2, 10.kilobytes)
end
echo "Depot::Application.configure { paths.log.first }" | IRBRC=tmp/irbrc rails console production
Loading production environment (Rails 3.0.0.beta3)
Switch to inspect mode.
>> Depot::Application.configure { paths.log.first }
=> "/home/rubys/svn/rails4/Book/util/work-193/depot/log/production.log"
>>
git st
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
#
# modified: Gemfile
# modified: config/database.yml
# modified: config/environments/production.rb
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# Capfile
# Gemfile.lock
# config/deploy.rb
# vendor/cache/
no changes added to commit (use "git add" and/or "git commit -a")