carter 0.5.6 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,16 +10,16 @@ class CartItem < ActiveRecord::Base
10
10
  after_update :check_quantity
11
11
 
12
12
  # Match a cart_item by owner and cartable
13
- named_scope :for_cartable, lambda { |cartable|
14
- { :conditions => { :cartable_type => cartable.class.to_s, :cartable_id => cartable.id } }
13
+ scope :for_cartable, lambda { |cartable|
14
+ where({ :cartable_type => cartable.class.to_s, :cartable_id => cartable.id })
15
15
  }
16
16
 
17
- named_scope :for_owner, lambda {|owner|
18
- { :conditions => { :owner_id => (owner ? owner.id : nil), :owner_type => (owner ? owner.class.to_s : nil) } }
17
+ scope :for_owner, lambda {|owner|
18
+ where({ :owner_id => (owner ? owner.id : nil), :owner_type => (owner ? owner.class.to_s : nil) })
19
19
  }
20
20
 
21
- named_scope :for_cartable_and_owner, lambda {|cartable, owner|
22
- { :conditions => for_owner(owner).proxy_options[:conditions].merge!(for_cartable(cartable).proxy_options[:conditions])}
21
+ scope :for_cartable_and_owner, lambda {|cartable, owner|
22
+ for_owner(owner).for_cartable(cartable)
23
23
  }
24
24
 
25
25
  money_composed_column :total_price,
@@ -6,3 +6,4 @@ require 'carter/controller_resource'
6
6
  require 'carter/state_machine'
7
7
  require 'carter/errors'
8
8
  require 'carter/active_record/extensions'
9
+ require 'rails/init'
@@ -9,7 +9,6 @@ module Carter
9
9
 
10
10
  module ClassMethods
11
11
  def init_states
12
-
13
12
  state_machine :state, :initial => :active do
14
13
  state :active, :processing, :failure, :success, :expired
15
14
 
@@ -9,6 +9,8 @@ require 'factory_girl'
9
9
  require 'action_pack'
10
10
  require 'state_machine'
11
11
  require 'money'
12
+ require 'active_support'
13
+ require 'active_support/test_case'
12
14
 
13
15
  Carter::Initializer.setup
14
16
  # Requires supporting files with custom matchers and macros, etc,
@@ -16,7 +16,7 @@ end
16
16
  def load_schema
17
17
 
18
18
  config = YAML::load(IO.read(File.dirname(__FILE__) + '/database.yml'))
19
- ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/debug.log")
19
+ # ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/debug.log")
20
20
 
21
21
  db_adapter = ENV['DB']
22
22
 
@@ -1,25 +1,43 @@
1
- Factory.sequence :name do |n|
2
- "name_#{n}"
3
- end
4
-
5
- Factory.define :product do |f|
6
- f.sequence(:name) {|n| "name#{n}" }
7
- f.price 2.00
1
+
2
+ FactoryGirl.define do
3
+ sequence :name do |n|
4
+ "name_#{n}"
5
+ end
6
+
7
+ factory :product do
8
+ Factory.next(:name) {|n| "name#{n}" }
9
+ price 2.00
10
+ end
8
11
  end
9
12
 
10
- Factory.define :thing do |f|
11
- f.sequence(:name) {|n| "name#{n}" }
12
- f.price 4.00
13
+ FactoryGirl.define do
14
+ factory :thing do
15
+ Factory.next(:name) {|n| "name#{n}" }
16
+ price 4.00
17
+ end
13
18
  end
14
19
 
15
- Factory.define :user do |f|
16
- f.sequence(:name) {|n| "name#{n}" }
20
+ FactoryGirl.define do
21
+ factory :user do
22
+ Factory.next(:name) {|n| "name#{n}" }
23
+ end
17
24
  end
18
25
 
19
- Factory.define :cart do |f|
20
- f.shopper {|a| a.association(:user) }
26
+ FactoryGirl.define do
27
+
28
+ factory :cart do
29
+ shopper {|a| a.association(:user) }
30
+ state "active"
31
+ after_create {|cart_item| cart_item.send(:initialize_state_machines, :dynamic => :force)}
32
+ end
21
33
  end
22
34
 
23
- Factory.define :cart_item do |f|
24
- f.cart {|a| a.association(:cart) }
35
+ FactoryGirl.define do
36
+
37
+ factory :cart_item do
38
+ state "in_cart"
39
+ cart {|a| a.association(:cart) }
40
+ after_create {|cart_item| cart_item.send(:initialize_state_machines, :dynamic => :force)}
41
+ end
25
42
  end
43
+
metadata CHANGED
@@ -5,9 +5,9 @@ version: !ruby/object:Gem::Version
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 5
9
8
  - 6
10
- version: 0.5.6
9
+ - 0
10
+ version: 0.6.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Louis Gillies
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-03-10 00:00:00 +00:00
18
+ date: 2011-10-21 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -119,12 +119,12 @@ dependencies:
119
119
  requirements:
120
120
  - - "="
121
121
  - !ruby/object:Gem::Version
122
- hash: 51
122
+ hash: 19
123
123
  segments:
124
+ - 1
124
125
  - 0
125
- - 9
126
- - 4
127
- version: 0.9.4
126
+ - 2
127
+ version: 1.0.2
128
128
  requirement: *id007
129
129
  - !ruby/object:Gem::Dependency
130
130
  prerelease: false
@@ -142,38 +142,6 @@ dependencies:
142
142
  - 5
143
143
  version: 3.1.5
144
144
  requirement: *id008
145
- - !ruby/object:Gem::Dependency
146
- prerelease: false
147
- type: :runtime
148
- name: state_machine
149
- version_requirements: &id009 !ruby/object:Gem::Requirement
150
- none: false
151
- requirements:
152
- - - "="
153
- - !ruby/object:Gem::Version
154
- hash: 51
155
- segments:
156
- - 0
157
- - 9
158
- - 4
159
- version: 0.9.4
160
- requirement: *id009
161
- - !ruby/object:Gem::Dependency
162
- prerelease: false
163
- type: :development
164
- name: money
165
- version_requirements: &id010 !ruby/object:Gem::Requirement
166
- none: false
167
- requirements:
168
- - - ">"
169
- - !ruby/object:Gem::Version
170
- hash: 9
171
- segments:
172
- - 3
173
- - 1
174
- - 5
175
- version: 3.1.5
176
- requirement: *id010
177
145
  description: A really simple shopping cart implementation for rails.
178
146
  email: louisgillies@ygmail.com
179
147
  executables: []