statesman 1.0.0.beta1 → 1.0.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 55f5eab4bdf1849056059ca216caa5412679967d
4
- data.tar.gz: 56d537766abea0884d94e4a55a9051896bbfc902
3
+ metadata.gz: 5acbb511b8785176c360bef3aa219e6032f04cea
4
+ data.tar.gz: a3e42e31f916ce396904a0e5dc7a687643ee124a
5
5
  SHA512:
6
- metadata.gz: b2bead7fc506334da98f4ab620cb6df1fd49012a3a77c3accb8e779e8f09212e3b9926c5ea145ea7d0d3df2f69db13808d05bb65ec55fdfbb39be3ea55d4e915
7
- data.tar.gz: e9c8295a8eca68e22debdb594c4802bdd554c18b6a26b4e7d3940fed0673436bf5aa917b4b3a188191b867f6cb4532d08f9383e378d771752ca4b0e91eab1790
6
+ metadata.gz: 9df0ba4a9e60e6f9eab79a028d580f59f19b95cf8de5a95ca27b496f0ead46634b12160c3bb6984eee5ed4b9d763360a71172cee48159d15bb42987902291828
7
+ data.tar.gz: 81796ee3bae3a594dedb93ad2c9d45793e955ca96501a3221de013d74d9ba8816889c7a219071b4660e2a8aaf9301f2f7c6759727d366e4d792a53b595dd5197
data/CHANGELOG.md CHANGED
@@ -1,4 +1,9 @@
1
- ## v1.0.0.rc1 9 October 2014
1
+ ## v1.0.0.beta2 10 October 2014
2
+ *Breaking changes*
3
+
4
+ - Rename `ActiveRecordModel` to `ActiveRecordQueries`, to reflect the fact that it mixes in some helpful scopes, but is not required.
5
+
6
+ ## v1.0.0.beta1 9 October 2014
2
7
  *Breaking changes*
3
8
 
4
9
  - Classes which include `ActiveRecordModel` must define an `initial_state` class method.
data/README.md CHANGED
@@ -53,7 +53,7 @@ class OrderStateMachine
53
53
  end
54
54
 
55
55
  class Order < ActiveRecord::Base
56
- include Statesman::Adapters::ActiveRecordModel
56
+ include Statesman::Adapters::ActiveRecordQueries
57
57
 
58
58
  has_many :order_transitions
59
59
 
@@ -66,6 +66,10 @@ class Order < ActiveRecord::Base
66
66
  def self.transition_class
67
67
  OrderTransition
68
68
  end
69
+
70
+ def self.initial_state
71
+ :pending
72
+ end
69
73
  end
70
74
 
71
75
  class OrderTransition < ActiveRecord::Base
@@ -335,7 +339,7 @@ model and define `transition_class` and `initial_state` class methods:
335
339
 
336
340
  ```ruby
337
341
  class Order < ActiveRecord::Base
338
- include Statesman::Adapters::ActiveRecordModel
342
+ include Statesman::Adapters::ActiveRecordQueries
339
343
 
340
344
  private
341
345
 
@@ -357,16 +361,6 @@ Returns all models not currently in any of the supplied states. Prior to 1.0 thi
357
361
 
358
362
  ## Frequently Asked Questions
359
363
 
360
- #### `Model.in_state` does not work before first transition
361
-
362
- This is expected. State is modelled as a series of tranisitions so initially where there has been no transition, there is no explict state. At GoCardless we get around this by transitioning immediately after creation:
363
-
364
- ```ruby
365
- after_create do
366
- state_machine.transition_to! "pending"
367
- end
368
- ```
369
-
370
364
  #### Storing the state on the model object
371
365
 
372
366
  If you wish to store the model state on the model directly, you can keep it up to date using an `after_transition` hook:
@@ -378,6 +372,8 @@ after_transition do |model, transition|
378
372
  end
379
373
  ```
380
374
 
375
+ You could also use a calculated column or view in your database.
376
+
381
377
  #### Accessing metadata from the last transition
382
378
 
383
379
  Given a field `foo` that was stored in the metadata, you can access it like so:
@@ -1,6 +1,6 @@
1
1
  module Statesman
2
2
  module Adapters
3
- module ActiveRecordModel
3
+ module ActiveRecordQueries
4
4
  def self.included(base)
5
5
  base.extend(ClassMethods)
6
6
  end
@@ -1,3 +1,3 @@
1
1
  module Statesman
2
- VERSION = "1.0.0.beta1"
2
+ VERSION = "1.0.0.beta2"
3
3
  end
data/lib/statesman.rb CHANGED
@@ -9,8 +9,8 @@ module Statesman
9
9
  autoload :ActiveRecord, "statesman/adapters/active_record"
10
10
  autoload :ActiveRecordTransition,
11
11
  "statesman/adapters/active_record_transition"
12
- autoload :ActiveRecordModel,
13
- "statesman/adapters/active_record_model"
12
+ autoload :ActiveRecordQueries,
13
+ "statesman/adapters/active_record_queries"
14
14
  autoload :Mongoid, "statesman/adapters/mongoid"
15
15
  autoload :MongoidTransition,
16
16
  "statesman/adapters/mongoid_transition"
@@ -1,13 +1,13 @@
1
1
  require "spec_helper"
2
2
 
3
- describe Statesman::Adapters::ActiveRecordModel do
3
+ describe Statesman::Adapters::ActiveRecordQueries do
4
4
  before do
5
5
  prepare_model_table
6
6
  prepare_transitions_table
7
7
  end
8
8
 
9
9
  before do
10
- MyActiveRecordModel.send(:include, Statesman::Adapters::ActiveRecordModel)
10
+ MyActiveRecordModel.send(:include, Statesman::Adapters::ActiveRecordQueries)
11
11
  MyActiveRecordModel.class_eval do
12
12
  def self.transition_class
13
13
  MyActiveRecordModelTransition
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: statesman
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta1
4
+ version: 1.0.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Harry Marr
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-10-09 00:00:00.000000000 Z
12
+ date: 2014-10-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -193,7 +193,7 @@ files:
193
193
  - lib/generators/statesman/templates/update_migration.rb.erb
194
194
  - lib/statesman.rb
195
195
  - lib/statesman/adapters/active_record.rb
196
- - lib/statesman/adapters/active_record_model.rb
196
+ - lib/statesman/adapters/active_record_queries.rb
197
197
  - lib/statesman/adapters/active_record_transition.rb
198
198
  - lib/statesman/adapters/memory.rb
199
199
  - lib/statesman/adapters/memory_transition.rb
@@ -210,7 +210,7 @@ files:
210
210
  - spec/generators/statesman/migration_generator_spec.rb
211
211
  - spec/generators/statesman/mongoid_transition_generator_spec.rb
212
212
  - spec/spec_helper.rb
213
- - spec/statesman/adapters/active_record_model_spec.rb
213
+ - spec/statesman/adapters/active_record_queries_spec.rb
214
214
  - spec/statesman/adapters/active_record_spec.rb
215
215
  - spec/statesman/adapters/active_record_transition_spec.rb
216
216
  - spec/statesman/adapters/memory_spec.rb
@@ -254,7 +254,7 @@ test_files:
254
254
  - spec/generators/statesman/migration_generator_spec.rb
255
255
  - spec/generators/statesman/mongoid_transition_generator_spec.rb
256
256
  - spec/spec_helper.rb
257
- - spec/statesman/adapters/active_record_model_spec.rb
257
+ - spec/statesman/adapters/active_record_queries_spec.rb
258
258
  - spec/statesman/adapters/active_record_spec.rb
259
259
  - spec/statesman/adapters/active_record_transition_spec.rb
260
260
  - spec/statesman/adapters/memory_spec.rb