piggybak 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. data/Gemfile +10 -3
  2. data/Gemfile.lock +85 -2
  3. data/README.md +4 -0
  4. data/Rakefile +10 -24
  5. data/VERSION +1 -1
  6. data/app/assets/javascripts/piggybak.js +1 -1
  7. data/app/controllers/piggybak/orders_controller.rb +24 -30
  8. data/app/helpers/piggybak_helper.rb +1 -1
  9. data/app/mailers/piggybak/notifier.rb +2 -0
  10. data/app/models/piggybak/cart.rb +11 -3
  11. data/app/models/piggybak/tax_calculator/percent.rb +2 -2
  12. data/app/views/piggybak/orders/{show.html.erb → submit.html.erb} +1 -1
  13. data/app/views/rails_admin/main/_no_edit_form_filtering_select.html.haml +2 -1
  14. data/config/routes.rb +1 -2
  15. data/lib/piggybak/config.rb +3 -0
  16. data/piggybak.gemspec +101 -8
  17. data/spec/TODO +5 -0
  18. data/spec/database_helpers.rb +15 -0
  19. data/spec/dummy_app/.gitignore +15 -0
  20. data/spec/dummy_app/Gemfile +17 -0
  21. data/spec/dummy_app/Gemfile.lock +190 -0
  22. data/spec/dummy_app/Rakefile +7 -0
  23. data/spec/dummy_app/app/assets/images/rails.png +0 -0
  24. data/spec/dummy_app/app/assets/javascripts/application.js +9 -0
  25. data/spec/dummy_app/app/assets/javascripts/images.js.coffee +3 -0
  26. data/spec/dummy_app/app/assets/stylesheets/application.css +7 -0
  27. data/spec/dummy_app/app/assets/stylesheets/images.css.scss +3 -0
  28. data/spec/dummy_app/app/controllers/application_controller.rb +3 -0
  29. data/spec/dummy_app/app/controllers/images_controller.rb +9 -0
  30. data/spec/dummy_app/app/helpers/application_helper.rb +2 -0
  31. data/spec/dummy_app/app/helpers/images_helper.rb +2 -0
  32. data/spec/dummy_app/app/mailers/.gitkeep +0 -0
  33. data/spec/dummy_app/app/models/.gitkeep +0 -0
  34. data/spec/dummy_app/app/models/image.rb +3 -0
  35. data/spec/dummy_app/app/models/user.rb +9 -0
  36. data/spec/dummy_app/app/views/images/index.html +3 -0
  37. data/spec/dummy_app/app/views/layouts/application.html.erb +14 -0
  38. data/spec/dummy_app/config.ru +4 -0
  39. data/spec/dummy_app/config/application.rb +49 -0
  40. data/spec/dummy_app/config/boot.rb +6 -0
  41. data/spec/dummy_app/config/database.yml +25 -0
  42. data/spec/dummy_app/config/environment.rb +5 -0
  43. data/spec/dummy_app/config/environments/development.rb +30 -0
  44. data/spec/dummy_app/config/environments/production.rb +60 -0
  45. data/spec/dummy_app/config/environments/test.rb +39 -0
  46. data/spec/dummy_app/config/initializers/backtrace_silencers.rb +7 -0
  47. data/spec/dummy_app/config/initializers/devise.rb +209 -0
  48. data/spec/dummy_app/config/initializers/inflections.rb +10 -0
  49. data/spec/dummy_app/config/initializers/mime_types.rb +5 -0
  50. data/spec/dummy_app/config/initializers/quiet_assets.rb +10 -0
  51. data/spec/dummy_app/config/initializers/secret_token.rb +7 -0
  52. data/spec/dummy_app/config/initializers/session_store.rb +8 -0
  53. data/spec/dummy_app/config/initializers/wrap_parameters.rb +14 -0
  54. data/spec/dummy_app/config/locales/devise.en.yml +58 -0
  55. data/spec/dummy_app/config/locales/en.yml +5 -0
  56. data/spec/dummy_app/config/routes.rb +9 -0
  57. data/spec/dummy_app/db/migrate/20120119002503_create_images.rb +9 -0
  58. data/spec/dummy_app/db/migrate/20120119003643_devise_create_users.rb +25 -0
  59. data/spec/dummy_app/db/schema.rb +40 -0
  60. data/spec/dummy_app/db/seeds.rb +7 -0
  61. data/spec/dummy_app/lib/assets/.gitkeep +0 -0
  62. data/spec/dummy_app/lib/tasks/.gitkeep +0 -0
  63. data/spec/dummy_app/public/404.html +26 -0
  64. data/spec/dummy_app/public/422.html +26 -0
  65. data/spec/dummy_app/public/500.html +26 -0
  66. data/spec/dummy_app/public/favicon.ico +0 -0
  67. data/spec/dummy_app/public/robots.txt +5 -0
  68. data/spec/dummy_app/script/rails +6 -0
  69. data/spec/factories.rb +16 -0
  70. data/spec/models/line_item_spec.rb +5 -0
  71. data/spec/models/order_spec.rb +8 -0
  72. data/spec/spec_helper.rb +48 -0
  73. metadata +321 -84
data/Gemfile CHANGED
@@ -5,11 +5,18 @@ source "http://rubygems.org"
5
5
 
6
6
  # Add dependencies to develop your gem here.
7
7
  # Include everything needed to run rake, tests, features, etc.
8
- group :development do
9
- # gem "shoulda", ">= 0"
8
+ group :development, :test do
10
9
  gem "bundler", "~> 1.0.0"
11
10
  gem "jeweler", "~> 1.6.4"
12
- gem "rcov", ">= 0"
11
+
12
+ gem 'rspec'
13
+ gem 'rspec-rails', '~> 2.7.0'
14
+ gem 'factory_girl'
15
+ gem 'diff-lcs'
16
+ gem 'shoulda'
17
+ gem 'simplecov'
18
+ gem 'tzinfo'
19
+ gem 'devise'
13
20
  end
14
21
 
15
22
  gem "countries"
@@ -1,17 +1,93 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ actionpack (3.1.3)
5
+ activemodel (= 3.1.3)
6
+ activesupport (= 3.1.3)
7
+ builder (~> 3.0.0)
8
+ erubis (~> 2.7.0)
9
+ i18n (~> 0.6)
10
+ rack (~> 1.3.5)
11
+ rack-cache (~> 1.1)
12
+ rack-mount (~> 0.8.2)
13
+ rack-test (~> 0.6.1)
14
+ sprockets (~> 2.0.3)
15
+ activemodel (3.1.3)
16
+ activesupport (= 3.1.3)
17
+ builder (~> 3.0.0)
18
+ i18n (~> 0.6)
19
+ activesupport (3.1.3)
20
+ multi_json (~> 1.0)
21
+ bcrypt-ruby (3.0.1)
22
+ builder (3.0.0)
4
23
  countries (0.8.1)
5
24
  currencies (= 0.4.0)
6
25
  currencies (>= 0.2.0)
7
26
  currencies (0.4.0)
27
+ devise (1.5.3)
28
+ bcrypt-ruby (~> 3.0)
29
+ orm_adapter (~> 0.0.3)
30
+ warden (~> 1.1)
31
+ diff-lcs (1.1.3)
32
+ erubis (2.7.0)
33
+ factory_girl (2.4.2)
34
+ activesupport
8
35
  git (1.2.5)
36
+ hike (1.2.1)
37
+ i18n (0.6.0)
9
38
  jeweler (1.6.4)
10
39
  bundler (~> 1.0)
11
40
  git (>= 1.2.5)
12
41
  rake
42
+ json (1.6.5)
43
+ multi_json (1.0.4)
44
+ orm_adapter (0.0.6)
45
+ rack (1.3.6)
46
+ rack-cache (1.1)
47
+ rack (>= 0.4)
48
+ rack-mount (0.8.3)
49
+ rack (>= 1.0.0)
50
+ rack-ssl (1.3.2)
51
+ rack
52
+ rack-test (0.6.1)
53
+ rack (>= 1.0)
54
+ railties (3.1.3)
55
+ actionpack (= 3.1.3)
56
+ activesupport (= 3.1.3)
57
+ rack-ssl (~> 1.3.2)
58
+ rake (>= 0.8.7)
59
+ rdoc (~> 3.4)
60
+ thor (~> 0.14.6)
13
61
  rake (0.9.2.2)
14
- rcov (0.9.11)
62
+ rdoc (3.12)
63
+ json (~> 1.4)
64
+ rspec (2.7.0)
65
+ rspec-core (~> 2.7.0)
66
+ rspec-expectations (~> 2.7.0)
67
+ rspec-mocks (~> 2.7.0)
68
+ rspec-core (2.7.1)
69
+ rspec-expectations (2.7.0)
70
+ diff-lcs (~> 1.1.2)
71
+ rspec-mocks (2.7.0)
72
+ rspec-rails (2.7.0)
73
+ actionpack (~> 3.0)
74
+ activesupport (~> 3.0)
75
+ railties (~> 3.0)
76
+ rspec (~> 2.7.0)
77
+ shoulda (2.11.3)
78
+ simplecov (0.5.4)
79
+ multi_json (~> 1.0.3)
80
+ simplecov-html (~> 0.5.3)
81
+ simplecov-html (0.5.3)
82
+ sprockets (2.0.3)
83
+ hike (~> 1.2)
84
+ rack (~> 1.0)
85
+ tilt (~> 1.1, != 1.3.0)
86
+ thor (0.14.6)
87
+ tilt (1.3.3)
88
+ tzinfo (0.3.31)
89
+ warden (1.1.0)
90
+ rack (>= 1.0)
15
91
 
16
92
  PLATFORMS
17
93
  ruby
@@ -19,5 +95,12 @@ PLATFORMS
19
95
  DEPENDENCIES
20
96
  bundler (~> 1.0.0)
21
97
  countries
98
+ devise
99
+ diff-lcs
100
+ factory_girl
22
101
  jeweler (~> 1.6.4)
23
- rcov
102
+ rspec
103
+ rspec-rails (~> 2.7.0)
104
+ shoulda
105
+ simplecov
106
+ tzinfo
data/README.md CHANGED
@@ -30,6 +30,10 @@ Installation
30
30
 
31
31
  mount Piggybak::Engine => '/checkout', :as => 'piggybak'" to config/routes
32
32
 
33
+ * You must include jquery_ujs in your application.js file in to get the remove item from cart functionality to work.
34
+
35
+ //= require jquery_ujs
36
+
33
37
  More Details
34
38
  ========
35
39
 
data/Rakefile CHANGED
@@ -26,32 +26,18 @@ Jeweler::Tasks.new do |gem|
26
26
  gem.add_dependency "devise"
27
27
  gem.add_dependency "activemerchant"
28
28
  gem.add_dependency "countries"
29
- end
30
- Jeweler::RubygemsDotOrgTasks.new
31
29
 
32
- require 'rake/testtask'
33
- Rake::TestTask.new(:test) do |test|
34
- test.libs << 'lib' << 'test'
35
- test.pattern = 'test/**/test_*.rb'
36
- test.verbose = true
37
- end
30
+ gem.add_development_dependency 'rspec'
31
+ gem.add_development_dependency 'rspec-rails'
32
+ gem.add_development_dependency 'diff-lcs'
33
+ gem.add_development_dependency 'factory_girl'
34
+ gem.add_development_dependency 'shoulda'
38
35
 
39
- require 'rcov/rcovtask'
40
- Rcov::RcovTask.new do |test|
41
- test.libs << 'test'
42
- test.pattern = 'test/**/test_*.rb'
43
- test.verbose = true
44
- test.rcov_opts << '--exclude "gems/*"'
36
+ gem.test_files = Dir['spec/**/*']
45
37
  end
38
+ Jeweler::RubygemsDotOrgTasks.new
46
39
 
47
- task :default => :test
48
-
49
- require 'rake/rdoctask'
50
- Rake::RDocTask.new do |rdoc|
51
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
40
+ require 'rspec/core/rake_task'
41
+ RSpec::Core::RakeTask.new(:spec)
52
42
 
53
- rdoc.rdoc_dir = 'rdoc'
54
- rdoc.title = "piggybak #{version}"
55
- rdoc.rdoc_files.include('README*')
56
- rdoc.rdoc_files.include('lib/**/*.rb')
57
- end
43
+ task :test => :spec
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.1
1
+ 0.3.2
@@ -10,7 +10,7 @@ $(function() {
10
10
 
11
11
  var piggybak = {
12
12
  initialize_listeners: function() {
13
- $('#piggybak_order_shipping_address_attributes_state_id').live('click', function() {
13
+ $('#piggybak_order_shipping_address_attributes_state_id').live('change', function() {
14
14
  piggybak.update_shipping_options($(this));
15
15
  });
16
16
  $('#piggybak_order_billing_address_attributes_state_id').live('change', function() {
@@ -1,41 +1,35 @@
1
1
  module Piggybak
2
2
  class OrdersController < ApplicationController
3
- def show
4
- response.headers['Cache-Control'] = 'no-cache'
5
-
6
- @cart = Piggybak::Cart.new(request.cookies["cart"])
7
- @order = Piggybak::Order.new
8
-
9
- @order.initialize_user(current_user)
10
- end
11
-
12
3
  def submit
13
4
  response.headers['Cache-Control'] = 'no-cache'
14
5
  @cart = Piggybak::Cart.new(request.cookies["cart"])
15
6
 
16
- begin
17
- ActiveRecord::Base.transaction do
18
- @order = Piggybak::Order.new(params[:piggybak_order])
19
- @order.initialize_user(current_user)
7
+ if request.post?
8
+ begin
9
+ ActiveRecord::Base.transaction do
10
+ @order = Piggybak::Order.new(params[:piggybak_order])
11
+ @order.initialize_user(current_user)
20
12
 
21
- @order.add_line_items(@cart)
13
+ @order.add_line_items(@cart)
22
14
 
23
- if @order.save
24
- Piggybak::Notifier.order_notification(@order)
15
+ if @order.save
16
+ Piggybak::Notifier.order_notification(@order).deliver
25
17
 
26
- cookies["cart"] = { :value => '', :path => '/' }
27
- session[:last_order] = @order.id
28
- redirect_to piggybak.receipt_url
29
- else
30
- raise Exception, @order.errors.full_messages
18
+ cookies["cart"] = { :value => '', :path => '/' }
19
+ session[:last_order] = @order.id
20
+ redirect_to piggybak.receipt_url
21
+ else
22
+ raise Exception, @order.errors.full_messages
23
+ end
24
+ end
25
+ rescue Exception => e
26
+ if @order.errors.empty?
27
+ @order.errors.add "", "Your order could not go through. Please try again."
31
28
  end
32
29
  end
33
- rescue Exception => e
34
- if @order.errors.empty?
35
- @order.errors.add "", "Your order could not go through. Please try again."
36
- end
37
-
38
- render "piggybak/orders/show"
30
+ else
31
+ @order = Piggybak::Order.new
32
+ @order.initialize_user(current_user)
39
33
  end
40
34
  end
41
35
 
@@ -68,7 +62,7 @@ module Piggybak
68
62
  order = Order.find(params[:id])
69
63
 
70
64
  if can?(:email, order)
71
- Piggybak::Notifier.order_notification(order)
65
+ Piggybak::Notifier.order_notification(order).deliver
72
66
  flash[:notice] = "Email notification sent."
73
67
  end
74
68
 
@@ -92,14 +86,14 @@ module Piggybak
92
86
  # AJAX Actions from checkout
93
87
  def shipping
94
88
  cart = Piggybak::Cart.new(request.cookies["cart"])
95
- cart.extra_data = params
89
+ cart.set_extra_data(params)
96
90
  shipping_methods = Piggybak::ShippingMethod.lookup_methods(cart)
97
91
  render :json => shipping_methods
98
92
  end
99
93
 
100
94
  def tax
101
95
  cart = Piggybak::Cart.new(request.cookies["cart"])
102
- cart.extra_data = params
96
+ cart.set_extra_data(params)
103
97
  total_tax = Piggybak::TaxMethod.calculate_tax(cart)
104
98
  render :json => { :tax => total_tax }
105
99
  end
@@ -6,7 +6,7 @@ module PiggybakHelper
6
6
  cart = Piggybak::Cart.new(request.cookies["cart"])
7
7
  nitems = cart.items.inject(0) { |nitems, item| nitems + item[:quantity] }
8
8
  if nitems > 0 && !["piggybak/orders", "piggybak/cart"].include?(params[:controller])
9
- link_to "#{pluralize(nitems, 'item')}: #{number_to_currency(cart.total)}", piggybak.cart_url
9
+ link_to "#{pluralize(nitems, 'item')}: #{number_to_currency(cart.total)}", piggybak.cart_url
10
10
  end
11
11
  end
12
12
  def orders_link(text)
@@ -1,5 +1,7 @@
1
1
  module Piggybak
2
2
  class Notifier < ActionMailer::Base
3
+ default :from => Piggybak.config.email_sender
4
+
3
5
  def order_notification(order)
4
6
  @order = order
5
7
 
@@ -10,12 +10,14 @@ module Piggybak
10
10
  self.errors = []
11
11
  cookie ||= ''
12
12
  cookie.split(';').each do |item|
13
- item_variant = Piggybak::Variant.find_by_id(item.split(':')[0])
14
- if item_variant.present?
15
- self.items << { :variant => item_variant, :quantity => (item.split(':')[1]).to_i }
13
+ item_variant = Piggybak::Variant.find_by_id(item.split(':')[0])
14
+ if item_variant.present?
15
+ self.items << { :variant => item_variant, :quantity => (item.split(':')[1]).to_i }
16
16
  end
17
17
  end
18
18
  self.total = self.items.sum { |item| item[:quantity]*item[:variant].price }
19
+
20
+ self.extra_data = {}
19
21
  end
20
22
 
21
23
  def self.to_hash(cookie)
@@ -80,5 +82,11 @@ module Piggybak
80
82
  self.items = new_items
81
83
  self.total = self.items.sum { |item| item[:quantity]*item[:variant].price }
82
84
  end
85
+
86
+ def set_extra_data(form_params)
87
+ form_params.each do |k, v|
88
+ self.extra_data[k.to_sym] = v if ![:controller, :action].include?(k)
89
+ end
90
+ end
83
91
  end
84
92
  end
@@ -6,8 +6,8 @@ module Piggybak
6
6
  id = method.metadata.detect { |t| t.key == "state_id" }.value
7
7
 
8
8
  if object.is_a?(Cart)
9
- if object.extra_data["state_id"] != ""
10
- state = State.find(object.extra_data["state_id"])
9
+ if object.extra_data[:state_id] != ""
10
+ state = State.find(object.extra_data[:state_id])
11
11
  return state.id == id.to_i if state
12
12
  end
13
13
  else
@@ -1,7 +1,7 @@
1
1
  <div id="checkout">
2
2
 
3
3
  <h1>Checkout</h1>
4
- <%= form_for @order, :url => piggybak.order_submit_url, :method => "POST" do |f| %>
4
+ <%= form_for @order, :url => piggybak.orders_url, :method => "POST" do |f| %>
5
5
 
6
6
  <% if @order.errors.any? -%>
7
7
  <div id="checkout_error">
@@ -20,7 +20,8 @@
20
20
 
21
21
  collection = xhr ? [[selected_name, selected_id]] : controller.list_entries(config, :index, field.associated_collection_scope, false).map { |o| [o.send(config.object_label_method), o.id] }
22
22
 
23
- = form.select field.method_name, collection, { :selected => selected_id, :include_blank => true }, field._html_attributes.reverse_merge({:placeholder => t('admin.index.search')})
23
+ - selected_id = (hdv = field.html_default_value).nil? ? selected_id : hdv
24
+ = form.select field.method_name, collection, { :selected => selected_id, :include_blank => true }, field.html_attributes.reverse_merge({:placeholder => t('admin.misc.search')})
24
25
 
25
26
  = form.javascript_for(field) do
26
27
  :plain
@@ -7,8 +7,7 @@ Piggybak::Engine.routes.draw do
7
7
  match "/cart/remove/:item" => "cart#remove", :via => :delete, :as => :remove_item
8
8
 
9
9
  # order actions
10
- match "/show" => "orders#show", :as => :orders
11
- match "/submit" => "orders#submit", :via => :post, :as => :order_submit
10
+ root :to => 'orders#submit', :as => :orders, :via => [:get, :post]
12
11
  match "/receipt" => "orders#receipt", :as => :receipt
13
12
  match "/orders/shipping" => "orders#shipping", :as => :orders_shipping
14
13
  match "/orders/tax" => "orders#tax", :as => :orders_tax
@@ -6,8 +6,11 @@ module Piggybak
6
6
  attr_accessor :tax_calculators
7
7
  attr_accessor :default_country
8
8
  attr_accessor :activemerchant_mode
9
+ attr_accessor :email_sender
9
10
 
10
11
  def reset
12
+ @email_sender = "support@piggybak.org"
13
+
11
14
  @payment_calculators = ["::Piggybak::PaymentCalculator::Fake",
12
15
  "::Piggybak::PaymentCalculator::AuthorizeNet"]
13
16
  @shipping_calculators = ["::Piggybak::ShippingCalculator::FlatRate",
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "piggybak"
8
- s.version = "0.3.1"
8
+ s.version = "0.3.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Steph Skardal", "Brian Buchalter"]
12
- s.date = "2012-01-11"
12
+ s.date = "2012-02-06"
13
13
  s.description = "Mountable ecommerce"
14
14
  s.email = "steph@endpoint.com"
15
15
  s.extra_rdoc_files = [
@@ -64,7 +64,7 @@ Gem::Specification.new do |s|
64
64
  "app/views/piggybak/orders/list.html.erb",
65
65
  "app/views/piggybak/orders/no_access.text.erb",
66
66
  "app/views/piggybak/orders/receipt.html.erb",
67
- "app/views/piggybak/orders/show.html.erb",
67
+ "app/views/piggybak/orders/submit.html.erb",
68
68
  "app/views/rails_admin/main/_form_nested_no_destroy.html.haml",
69
69
  "app/views/rails_admin/main/_location_select.html.haml",
70
70
  "app/views/rails_admin/main/_no_edit_form_filtering_select.html.haml",
@@ -94,13 +94,70 @@ Gem::Specification.new do |s|
94
94
  "lib/currency.rb",
95
95
  "lib/piggybak.rb",
96
96
  "lib/piggybak/config.rb",
97
- "piggybak.gemspec"
97
+ "piggybak.gemspec",
98
+ "spec/TODO",
99
+ "spec/database_helpers.rb",
100
+ "spec/dummy_app/.gitignore",
101
+ "spec/dummy_app/Gemfile",
102
+ "spec/dummy_app/Gemfile.lock",
103
+ "spec/dummy_app/Rakefile",
104
+ "spec/dummy_app/app/assets/images/rails.png",
105
+ "spec/dummy_app/app/assets/javascripts/application.js",
106
+ "spec/dummy_app/app/assets/javascripts/images.js.coffee",
107
+ "spec/dummy_app/app/assets/stylesheets/application.css",
108
+ "spec/dummy_app/app/assets/stylesheets/images.css.scss",
109
+ "spec/dummy_app/app/controllers/application_controller.rb",
110
+ "spec/dummy_app/app/controllers/images_controller.rb",
111
+ "spec/dummy_app/app/helpers/application_helper.rb",
112
+ "spec/dummy_app/app/helpers/images_helper.rb",
113
+ "spec/dummy_app/app/mailers/.gitkeep",
114
+ "spec/dummy_app/app/models/.gitkeep",
115
+ "spec/dummy_app/app/models/image.rb",
116
+ "spec/dummy_app/app/models/user.rb",
117
+ "spec/dummy_app/app/views/images/index.html",
118
+ "spec/dummy_app/app/views/layouts/application.html.erb",
119
+ "spec/dummy_app/config.ru",
120
+ "spec/dummy_app/config/application.rb",
121
+ "spec/dummy_app/config/boot.rb",
122
+ "spec/dummy_app/config/database.yml",
123
+ "spec/dummy_app/config/environment.rb",
124
+ "spec/dummy_app/config/environments/development.rb",
125
+ "spec/dummy_app/config/environments/production.rb",
126
+ "spec/dummy_app/config/environments/test.rb",
127
+ "spec/dummy_app/config/initializers/backtrace_silencers.rb",
128
+ "spec/dummy_app/config/initializers/devise.rb",
129
+ "spec/dummy_app/config/initializers/inflections.rb",
130
+ "spec/dummy_app/config/initializers/mime_types.rb",
131
+ "spec/dummy_app/config/initializers/quiet_assets.rb",
132
+ "spec/dummy_app/config/initializers/secret_token.rb",
133
+ "spec/dummy_app/config/initializers/session_store.rb",
134
+ "spec/dummy_app/config/initializers/wrap_parameters.rb",
135
+ "spec/dummy_app/config/locales/devise.en.yml",
136
+ "spec/dummy_app/config/locales/en.yml",
137
+ "spec/dummy_app/config/routes.rb",
138
+ "spec/dummy_app/db/migrate/20120119002503_create_images.rb",
139
+ "spec/dummy_app/db/migrate/20120119003643_devise_create_users.rb",
140
+ "spec/dummy_app/db/schema.rb",
141
+ "spec/dummy_app/db/seeds.rb",
142
+ "spec/dummy_app/lib/assets/.gitkeep",
143
+ "spec/dummy_app/lib/tasks/.gitkeep",
144
+ "spec/dummy_app/public/404.html",
145
+ "spec/dummy_app/public/422.html",
146
+ "spec/dummy_app/public/500.html",
147
+ "spec/dummy_app/public/favicon.ico",
148
+ "spec/dummy_app/public/robots.txt",
149
+ "spec/dummy_app/script/rails",
150
+ "spec/factories.rb",
151
+ "spec/models/line_item_spec.rb",
152
+ "spec/models/order_spec.rb",
153
+ "spec/spec_helper.rb"
98
154
  ]
99
155
  s.homepage = "http://github.com/stephskardal/piggybak"
100
156
  s.licenses = ["MIT"]
101
157
  s.require_paths = ["lib"]
102
- s.rubygems_version = "1.8.11"
158
+ s.rubygems_version = "1.8.15"
103
159
  s.summary = "Mountable ecommerce"
160
+ s.test_files = ["spec/spec_helper.rb", "spec/dummy_app", "spec/dummy_app/script", "spec/dummy_app/script/rails", "spec/dummy_app/config", "spec/dummy_app/config/locales", "spec/dummy_app/config/locales/en.yml", "spec/dummy_app/config/locales/devise.en.yml", "spec/dummy_app/config/database.yml", "spec/dummy_app/config/application.rb", "spec/dummy_app/config/boot.rb", "spec/dummy_app/config/initializers", "spec/dummy_app/config/initializers/quiet_assets.rb", "spec/dummy_app/config/initializers/inflections.rb", "spec/dummy_app/config/initializers/session_store.rb", "spec/dummy_app/config/initializers/wrap_parameters.rb", "spec/dummy_app/config/initializers/secret_token.rb", "spec/dummy_app/config/initializers/mime_types.rb", "spec/dummy_app/config/initializers/backtrace_silencers.rb", "spec/dummy_app/config/initializers/devise.rb", "spec/dummy_app/config/routes.rb", "spec/dummy_app/config/environments", "spec/dummy_app/config/environments/development.rb", "spec/dummy_app/config/environments/test.rb", "spec/dummy_app/config/environments/production.rb", "spec/dummy_app/config/environment.rb", "spec/dummy_app/log", "spec/dummy_app/log/test.log", "spec/dummy_app/Rakefile", "spec/dummy_app/Gemfile", "spec/dummy_app/config.ru", "spec/dummy_app/db", "spec/dummy_app/db/seeds.rb", "spec/dummy_app/db/migrate", "spec/dummy_app/db/migrate/20120119002503_create_images.rb", "spec/dummy_app/db/migrate/20120119003643_devise_create_users.rb", "spec/dummy_app/db/development.sqlite3", "spec/dummy_app/db/schema.rb", "spec/dummy_app/app", "spec/dummy_app/app/assets", "spec/dummy_app/app/assets/javascripts", "spec/dummy_app/app/assets/javascripts/images.js.coffee", "spec/dummy_app/app/assets/javascripts/application.js", "spec/dummy_app/app/assets/stylesheets", "spec/dummy_app/app/assets/stylesheets/images.css.scss", "spec/dummy_app/app/assets/stylesheets/application.css", "spec/dummy_app/app/assets/images", "spec/dummy_app/app/assets/images/rails.png", "spec/dummy_app/app/helpers", "spec/dummy_app/app/helpers/application_helper.rb", "spec/dummy_app/app/helpers/images_helper.rb", "spec/dummy_app/app/mailers", "spec/dummy_app/app/controllers", "spec/dummy_app/app/controllers/application_controller.rb", "spec/dummy_app/app/controllers/images_controller.rb", "spec/dummy_app/app/models", "spec/dummy_app/app/models/user.rb", "spec/dummy_app/app/models/image.rb", "spec/dummy_app/app/views", "spec/dummy_app/app/views/layouts", "spec/dummy_app/app/views/layouts/application.html.erb", "spec/dummy_app/app/views/images", "spec/dummy_app/app/views/images/index.html", "spec/dummy_app/public", "spec/dummy_app/public/422.html", "spec/dummy_app/public/favicon.ico", "spec/dummy_app/public/404.html", "spec/dummy_app/public/500.html", "spec/dummy_app/public/robots.txt", "spec/dummy_app/lib", "spec/dummy_app/lib/assets", "spec/dummy_app/lib/tasks", "spec/dummy_app/Gemfile.lock", "spec/factories.rb", "spec/TODO", "spec/models", "spec/models/order_spec.rb", "spec/models/line_item_spec.rb", "spec/database_helpers.rb"]
104
161
 
105
162
  if s.respond_to? :specification_version then
106
163
  s.specification_version = 3
@@ -109,30 +166,66 @@ Gem::Specification.new do |s|
109
166
  s.add_runtime_dependency(%q<countries>, [">= 0"])
110
167
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
111
168
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
112
- s.add_development_dependency(%q<rcov>, [">= 0"])
169
+ s.add_development_dependency(%q<rspec>, [">= 0"])
170
+ s.add_development_dependency(%q<rspec-rails>, ["~> 2.7.0"])
171
+ s.add_development_dependency(%q<factory_girl>, [">= 0"])
172
+ s.add_development_dependency(%q<diff-lcs>, [">= 0"])
173
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
174
+ s.add_development_dependency(%q<simplecov>, [">= 0"])
175
+ s.add_development_dependency(%q<tzinfo>, [">= 0"])
176
+ s.add_development_dependency(%q<devise>, [">= 0"])
113
177
  s.add_runtime_dependency(%q<rails_admin>, [">= 0"])
114
178
  s.add_runtime_dependency(%q<devise>, [">= 0"])
115
179
  s.add_runtime_dependency(%q<activemerchant>, [">= 0"])
116
180
  s.add_runtime_dependency(%q<countries>, [">= 0"])
181
+ s.add_development_dependency(%q<rspec>, [">= 0"])
182
+ s.add_development_dependency(%q<rspec-rails>, [">= 0"])
183
+ s.add_development_dependency(%q<diff-lcs>, [">= 0"])
184
+ s.add_development_dependency(%q<factory_girl>, [">= 0"])
185
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
117
186
  else
118
187
  s.add_dependency(%q<countries>, [">= 0"])
119
188
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
120
189
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
121
- s.add_dependency(%q<rcov>, [">= 0"])
190
+ s.add_dependency(%q<rspec>, [">= 0"])
191
+ s.add_dependency(%q<rspec-rails>, ["~> 2.7.0"])
192
+ s.add_dependency(%q<factory_girl>, [">= 0"])
193
+ s.add_dependency(%q<diff-lcs>, [">= 0"])
194
+ s.add_dependency(%q<shoulda>, [">= 0"])
195
+ s.add_dependency(%q<simplecov>, [">= 0"])
196
+ s.add_dependency(%q<tzinfo>, [">= 0"])
197
+ s.add_dependency(%q<devise>, [">= 0"])
122
198
  s.add_dependency(%q<rails_admin>, [">= 0"])
123
199
  s.add_dependency(%q<devise>, [">= 0"])
124
200
  s.add_dependency(%q<activemerchant>, [">= 0"])
125
201
  s.add_dependency(%q<countries>, [">= 0"])
202
+ s.add_dependency(%q<rspec>, [">= 0"])
203
+ s.add_dependency(%q<rspec-rails>, [">= 0"])
204
+ s.add_dependency(%q<diff-lcs>, [">= 0"])
205
+ s.add_dependency(%q<factory_girl>, [">= 0"])
206
+ s.add_dependency(%q<shoulda>, [">= 0"])
126
207
  end
127
208
  else
128
209
  s.add_dependency(%q<countries>, [">= 0"])
129
210
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
130
211
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
131
- s.add_dependency(%q<rcov>, [">= 0"])
212
+ s.add_dependency(%q<rspec>, [">= 0"])
213
+ s.add_dependency(%q<rspec-rails>, ["~> 2.7.0"])
214
+ s.add_dependency(%q<factory_girl>, [">= 0"])
215
+ s.add_dependency(%q<diff-lcs>, [">= 0"])
216
+ s.add_dependency(%q<shoulda>, [">= 0"])
217
+ s.add_dependency(%q<simplecov>, [">= 0"])
218
+ s.add_dependency(%q<tzinfo>, [">= 0"])
219
+ s.add_dependency(%q<devise>, [">= 0"])
132
220
  s.add_dependency(%q<rails_admin>, [">= 0"])
133
221
  s.add_dependency(%q<devise>, [">= 0"])
134
222
  s.add_dependency(%q<activemerchant>, [">= 0"])
135
223
  s.add_dependency(%q<countries>, [">= 0"])
224
+ s.add_dependency(%q<rspec>, [">= 0"])
225
+ s.add_dependency(%q<rspec-rails>, [">= 0"])
226
+ s.add_dependency(%q<diff-lcs>, [">= 0"])
227
+ s.add_dependency(%q<factory_girl>, [">= 0"])
228
+ s.add_dependency(%q<shoulda>, [">= 0"])
136
229
  end
137
230
  end
138
231