stateflow 0.4.0 → 0.4.1
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.
- data/CHANGELOG.rdoc +3 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +53 -0
- data/Manifest +4 -0
- data/Rakefile +2 -2
- data/lib/stateflow.rb +1 -1
- data/lib/stateflow/persistence/mongo_mapper.rb +4 -2
- data/lib/stateflow/persistence/mongoid.rb +4 -2
- data/spec/orm/activerecord_spec.rb +182 -0
- data/spec/orm/mongoid_spec.rb +133 -0
- data/stateflow.gemspec +6 -6
- metadata +10 -11
data/CHANGELOG.rdoc
CHANGED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
stateflow (0.4.1)
|
5
|
+
|
6
|
+
GEM
|
7
|
+
remote: http://rubygems.org/
|
8
|
+
specs:
|
9
|
+
activemodel (3.0.3)
|
10
|
+
activesupport (= 3.0.3)
|
11
|
+
builder (~> 2.1.2)
|
12
|
+
i18n (~> 0.4)
|
13
|
+
activerecord (3.0.3)
|
14
|
+
activemodel (= 3.0.3)
|
15
|
+
activesupport (= 3.0.3)
|
16
|
+
arel (~> 2.0.2)
|
17
|
+
tzinfo (~> 0.3.23)
|
18
|
+
activesupport (3.0.3)
|
19
|
+
arel (2.0.6)
|
20
|
+
bson (1.1.4)
|
21
|
+
builder (2.1.2)
|
22
|
+
diff-lcs (1.1.2)
|
23
|
+
i18n (0.5.0)
|
24
|
+
mongo (1.1.4)
|
25
|
+
bson (>= 1.1.1)
|
26
|
+
mongoid (2.0.0.beta.20)
|
27
|
+
activemodel (~> 3.0)
|
28
|
+
mongo (~> 1.1)
|
29
|
+
tzinfo (~> 0.3.22)
|
30
|
+
will_paginate (~> 3.0.pre)
|
31
|
+
rspec (2.2.0)
|
32
|
+
rspec-core (~> 2.2)
|
33
|
+
rspec-expectations (~> 2.2)
|
34
|
+
rspec-mocks (~> 2.2)
|
35
|
+
rspec-core (2.2.1)
|
36
|
+
rspec-expectations (2.2.0)
|
37
|
+
diff-lcs (~> 1.1.2)
|
38
|
+
rspec-mocks (2.2.0)
|
39
|
+
sqlite3 (1.3.3)
|
40
|
+
sqlite3-ruby (1.3.3)
|
41
|
+
sqlite3 (>= 1.3.3)
|
42
|
+
tzinfo (0.3.23)
|
43
|
+
will_paginate (3.0.pre2)
|
44
|
+
|
45
|
+
PLATFORMS
|
46
|
+
ruby
|
47
|
+
|
48
|
+
DEPENDENCIES
|
49
|
+
activerecord
|
50
|
+
mongoid (>= 2.0.0.beta.20)
|
51
|
+
rspec (>= 2.0.0)
|
52
|
+
sqlite3-ruby
|
53
|
+
stateflow!
|
data/Manifest
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
CHANGELOG.rdoc
|
2
|
+
Gemfile
|
3
|
+
Gemfile.lock
|
2
4
|
LICENCE
|
3
5
|
Manifest
|
4
6
|
README.rdoc
|
@@ -17,6 +19,8 @@ lib/stateflow/persistence/mongoid.rb
|
|
17
19
|
lib/stateflow/persistence/none.rb
|
18
20
|
lib/stateflow/state.rb
|
19
21
|
lib/stateflow/transition.rb
|
22
|
+
spec/orm/activerecord_spec.rb
|
23
|
+
spec/orm/mongoid_spec.rb
|
20
24
|
spec/spec_helper.rb
|
21
25
|
spec/stateflow_spec.rb
|
22
26
|
stateflow.gemspec
|
data/Rakefile
CHANGED
@@ -2,11 +2,11 @@ require 'rubygems'
|
|
2
2
|
require 'rake'
|
3
3
|
require 'echoe'
|
4
4
|
|
5
|
-
Echoe.new('stateflow', '0.4.
|
5
|
+
Echoe.new('stateflow', '0.4.1') do |p|
|
6
6
|
p.description = "State machine that allows dynamic transitions for business workflows"
|
7
7
|
p.url = "http://github.com/ryanza/stateflow"
|
8
8
|
p.author = "Ryan Oberholzer"
|
9
9
|
p.email = "ryan@platform45.com"
|
10
10
|
p.ignore_pattern = ["tmp/*", "script/*"]
|
11
|
-
p.development_dependencies = ["rspec", "activerecord", "mongoid >=2.0.0.beta.20", "sqlite3-ruby"]
|
11
|
+
p.development_dependencies = ["rspec >=2.0.0", "activerecord", "mongoid >=2.0.0.beta.20", "sqlite3-ruby"]
|
12
12
|
end
|
data/lib/stateflow.rb
CHANGED
@@ -45,7 +45,7 @@ module Stateflow
|
|
45
45
|
@current_state ||= load_from_persistence.nil? ? machine.initial_state : machine.states[load_from_persistence.to_sym]
|
46
46
|
end
|
47
47
|
|
48
|
-
def set_current_state(new_state, options)
|
48
|
+
def set_current_state(new_state, options = {})
|
49
49
|
save_to_persistence(new_state.name.to_s, options)
|
50
50
|
@current_state = new_state
|
51
51
|
end
|
@@ -2,8 +2,10 @@ module Stateflow
|
|
2
2
|
module Persistence
|
3
3
|
module MongoMapper
|
4
4
|
def self.install(base)
|
5
|
-
|
6
|
-
|
5
|
+
ActiveSupport::Deprecation.silence do
|
6
|
+
base.respond_to?(:before_validation_on_create) ? base.before_validation_on_create(:ensure_initial_state) : base.before_validation(:ensure_initial_state, :on => :create)
|
7
|
+
base.send :include, InstanceMethods
|
8
|
+
end
|
7
9
|
end
|
8
10
|
|
9
11
|
module InstanceMethods
|
@@ -2,8 +2,10 @@ module Stateflow
|
|
2
2
|
module Persistence
|
3
3
|
module Mongoid
|
4
4
|
def self.install(base)
|
5
|
-
|
6
|
-
|
5
|
+
ActiveSupport::Deprecation.silence do
|
6
|
+
base.respond_to?(:before_validation_on_create) ? base.before_validation_on_create(:ensure_initial_state) : base.before_validation(:ensure_initial_state, :on => :create)
|
7
|
+
base.send :include, InstanceMethods
|
8
|
+
end
|
7
9
|
end
|
8
10
|
|
9
11
|
module InstanceMethods
|
@@ -0,0 +1,182 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'active_record'
|
3
|
+
|
4
|
+
Stateflow.persistence = :active_record
|
5
|
+
|
6
|
+
# change this if sqlite is unavailable
|
7
|
+
dbconfig = {
|
8
|
+
:adapter => 'sqlite3',
|
9
|
+
:database => ':memory:'
|
10
|
+
}
|
11
|
+
|
12
|
+
ActiveRecord::Base.establish_connection(dbconfig)
|
13
|
+
ActiveRecord::Migration.verbose = false
|
14
|
+
|
15
|
+
class TestMigration < ActiveRecord::Migration
|
16
|
+
def self.up
|
17
|
+
create_table :active_record_robots, :force => true do |t|
|
18
|
+
t.column :state, :string
|
19
|
+
t.column :name, :string
|
20
|
+
end
|
21
|
+
|
22
|
+
create_table :active_record_protected_robots, :force => true do |t|
|
23
|
+
t.column :state, :string
|
24
|
+
t.column :name, :string
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.down
|
30
|
+
drop_table :active_record_robots
|
31
|
+
drop_table :active_record_protected_robots
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
class ActiveRecordRobot < ActiveRecord::Base
|
36
|
+
include Stateflow
|
37
|
+
|
38
|
+
stateflow do
|
39
|
+
initial :red
|
40
|
+
|
41
|
+
state :red, :green
|
42
|
+
|
43
|
+
event :change do
|
44
|
+
transitions :from => :red, :to => :green
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
class ActiveRecordProtectedRobot < ActiveRecord::Base
|
50
|
+
include Stateflow
|
51
|
+
|
52
|
+
attr_protected :state
|
53
|
+
|
54
|
+
stateflow do
|
55
|
+
initial :red
|
56
|
+
|
57
|
+
state :red, :green
|
58
|
+
|
59
|
+
event :change do
|
60
|
+
transitions :from => :red, :to => :green
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
describe Stateflow::Persistence::ActiveRecord do
|
66
|
+
before(:all) { TestMigration.up }
|
67
|
+
after(:all) { TestMigration.down }
|
68
|
+
after { ActiveRecordRobot.delete_all; ActiveRecordProtectedRobot.delete_all }
|
69
|
+
|
70
|
+
let(:robot) { ActiveRecordRobot.new }
|
71
|
+
let(:protected_robot) { ActiveRecordProtectedRobot.new }
|
72
|
+
|
73
|
+
describe "includes" do
|
74
|
+
it "should include current_state" do
|
75
|
+
robot.respond_to?(:current_state).should be_true
|
76
|
+
end
|
77
|
+
|
78
|
+
it "should include current_state=" do
|
79
|
+
robot.respond_to?(:set_current_state).should be_true
|
80
|
+
end
|
81
|
+
|
82
|
+
it "should include save_to_persistence" do
|
83
|
+
robot.respond_to?(:save_to_persistence).should be_true
|
84
|
+
end
|
85
|
+
|
86
|
+
it "should include load_from_persistence" do
|
87
|
+
robot.respond_to?(:load_from_persistence).should be_true
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
describe "bang method" do
|
92
|
+
before do
|
93
|
+
@robot = robot
|
94
|
+
@robot.state = "red"
|
95
|
+
end
|
96
|
+
|
97
|
+
it "should call the set_current_state with save being true" do
|
98
|
+
@robot.should_receive(:set_current_state).with(@robot.machine.states[:green], {:save=>true})
|
99
|
+
@robot.change!
|
100
|
+
end
|
101
|
+
|
102
|
+
it "should call the setter method for the state column" do
|
103
|
+
@robot.should_receive(:state=).with("green")
|
104
|
+
@robot.change!
|
105
|
+
end
|
106
|
+
|
107
|
+
it "should call save after setting the state column" do
|
108
|
+
@robot.should_receive(:save)
|
109
|
+
@robot.change!
|
110
|
+
end
|
111
|
+
|
112
|
+
it "should save the record" do
|
113
|
+
@robot.new_record?.should be_true
|
114
|
+
@robot.change!
|
115
|
+
@robot.new_record?.should be_false
|
116
|
+
@robot.reload.state.should == "green"
|
117
|
+
end
|
118
|
+
|
119
|
+
it "should save the protected method" do
|
120
|
+
@protected_robot = protected_robot
|
121
|
+
@protected_robot.new_record?.should be_true
|
122
|
+
@protected_robot.change!
|
123
|
+
@protected_robot.new_record?.should be_false
|
124
|
+
@protected_robot.reload.state.should == "green"
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
describe "non bang method" do
|
129
|
+
before do
|
130
|
+
@robot = robot
|
131
|
+
@robot.state = "red"
|
132
|
+
end
|
133
|
+
|
134
|
+
it "should call the set_current_state with save being false" do
|
135
|
+
@robot.should_receive(:set_current_state).with(@robot.machine.states[:green], {:save=>false})
|
136
|
+
@robot.change
|
137
|
+
end
|
138
|
+
|
139
|
+
it "should call the setter method for the state column" do
|
140
|
+
@robot.should_receive(:state=).with("green")
|
141
|
+
@robot.change
|
142
|
+
end
|
143
|
+
|
144
|
+
it "should call save after setting the state column" do
|
145
|
+
@robot.should_not_receive(:save)
|
146
|
+
@robot.change
|
147
|
+
end
|
148
|
+
|
149
|
+
it "should not save the record" do
|
150
|
+
@robot.new_record?.should be_true
|
151
|
+
@robot.change
|
152
|
+
@robot.new_record?.should be_true
|
153
|
+
@robot.state.should == "green"
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
it "Make sure stateflow saves the initial state if no state is set" do
|
158
|
+
@robot3 = robot
|
159
|
+
|
160
|
+
@robot3.save
|
161
|
+
@robot3.reload
|
162
|
+
|
163
|
+
@robot3.state.should == "red"
|
164
|
+
end
|
165
|
+
|
166
|
+
describe "load from persistence" do
|
167
|
+
before do
|
168
|
+
@robot = robot
|
169
|
+
@robot.state = "green"
|
170
|
+
@robot.name = "Bottie"
|
171
|
+
@robot.save
|
172
|
+
end
|
173
|
+
|
174
|
+
it "should call the load_from_persistence method" do
|
175
|
+
@robot.reload
|
176
|
+
@robot.should_receive(:load_from_persistence)
|
177
|
+
|
178
|
+
@robot.current_state
|
179
|
+
end
|
180
|
+
end
|
181
|
+
end
|
182
|
+
|
@@ -0,0 +1,133 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'mongoid'
|
3
|
+
|
4
|
+
Stateflow.persistence = :mongoid
|
5
|
+
|
6
|
+
connection = Mongo::Connection.new
|
7
|
+
Mongoid.database = connection.db("stateflow_test")
|
8
|
+
|
9
|
+
class MongoRobot
|
10
|
+
include Mongoid::Document
|
11
|
+
include Stateflow
|
12
|
+
|
13
|
+
field :state
|
14
|
+
field :name
|
15
|
+
|
16
|
+
stateflow do
|
17
|
+
initial :red
|
18
|
+
|
19
|
+
state :red, :green
|
20
|
+
|
21
|
+
event :change do
|
22
|
+
transitions :from => :red, :to => :green
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe Stateflow::Persistence::Mongoid do
|
28
|
+
after { MongoRobot.collection.drop }
|
29
|
+
|
30
|
+
let(:robot) { MongoRobot.new }
|
31
|
+
|
32
|
+
describe "includes" do
|
33
|
+
it "should include current_state" do
|
34
|
+
robot.respond_to?(:current_state).should be_true
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should include current_state=" do
|
38
|
+
robot.respond_to?(:set_current_state).should be_true
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should include save_to_persistence" do
|
42
|
+
robot.respond_to?(:save_to_persistence).should be_true
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should include load_from_persistence" do
|
46
|
+
robot.respond_to?(:load_from_persistence).should be_true
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
describe "bang method" do
|
51
|
+
before do
|
52
|
+
@robot = robot
|
53
|
+
@robot.state = "red"
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should call the set_current_state with save being true" do
|
57
|
+
@robot.should_receive(:set_current_state).with(@robot.machine.states[:green], {:save=>true})
|
58
|
+
@robot.change!
|
59
|
+
end
|
60
|
+
|
61
|
+
it "should call the setter method for the state column" do
|
62
|
+
@robot.should_receive(:state=).with("green")
|
63
|
+
@robot.change!
|
64
|
+
end
|
65
|
+
|
66
|
+
it "should call save after setting the state column" do
|
67
|
+
@robot.should_receive(:save)
|
68
|
+
@robot.change!
|
69
|
+
end
|
70
|
+
|
71
|
+
it "should save the record" do
|
72
|
+
@robot.new_record?.should be_true
|
73
|
+
@robot.change!
|
74
|
+
@robot.new_record?.should be_false
|
75
|
+
@robot.reload.state.should == "green"
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
describe "non bang method" do
|
80
|
+
before do
|
81
|
+
@robot = robot
|
82
|
+
@robot.state = "red"
|
83
|
+
end
|
84
|
+
|
85
|
+
it "should call the set_current_state with save being false" do
|
86
|
+
@robot.should_receive(:set_current_state).with(@robot.machine.states[:green], {:save=>false})
|
87
|
+
@robot.change
|
88
|
+
end
|
89
|
+
|
90
|
+
it "should call the setter method for the state column" do
|
91
|
+
@robot.should_receive(:state=).with("green")
|
92
|
+
@robot.change
|
93
|
+
end
|
94
|
+
|
95
|
+
it "should call save after setting the state column" do
|
96
|
+
@robot.should_not_receive(:save)
|
97
|
+
@robot.change
|
98
|
+
end
|
99
|
+
|
100
|
+
it "should not save the record" do
|
101
|
+
@robot.new_record?.should be_true
|
102
|
+
@robot.change
|
103
|
+
@robot.new_record?.should be_true
|
104
|
+
@robot.state.should == "green"
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
it "Make sure stateflow saves the initial state if no state is set" do
|
109
|
+
@robot = robot
|
110
|
+
|
111
|
+
@robot.save
|
112
|
+
@robot.reload
|
113
|
+
|
114
|
+
@robot.state.should == "red"
|
115
|
+
end
|
116
|
+
|
117
|
+
describe "load from persistence" do
|
118
|
+
before do
|
119
|
+
@robot = robot
|
120
|
+
@robot.state = "green"
|
121
|
+
@robot.name = "Bottie"
|
122
|
+
@robot.save
|
123
|
+
end
|
124
|
+
|
125
|
+
it "should call the load_from_persistence method" do
|
126
|
+
@robot.reload
|
127
|
+
@robot.should_receive(:load_from_persistence)
|
128
|
+
|
129
|
+
@robot.current_state
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
data/stateflow.gemspec
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{stateflow}
|
5
|
-
s.version = "0.4.
|
5
|
+
s.version = "0.4.1"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Ryan Oberholzer"]
|
9
|
-
s.date = %q{
|
9
|
+
s.date = %q{2011-02-13}
|
10
10
|
s.description = %q{State machine that allows dynamic transitions for business workflows}
|
11
11
|
s.email = %q{ryan@platform45.com}
|
12
12
|
s.extra_rdoc_files = ["CHANGELOG.rdoc", "README.rdoc", "lib/stateflow.rb", "lib/stateflow/event.rb", "lib/stateflow/exception.rb", "lib/stateflow/machine.rb", "lib/stateflow/persistence.rb", "lib/stateflow/persistence/active_record.rb", "lib/stateflow/persistence/mongo_mapper.rb", "lib/stateflow/persistence/mongoid.rb", "lib/stateflow/persistence/none.rb", "lib/stateflow/state.rb", "lib/stateflow/transition.rb"]
|
13
|
-
s.files = ["CHANGELOG.rdoc", "LICENCE", "Manifest", "README.rdoc", "Rakefile", "examples/robot.rb", "examples/test.rb", "init.rb", "lib/stateflow.rb", "lib/stateflow/event.rb", "lib/stateflow/exception.rb", "lib/stateflow/machine.rb", "lib/stateflow/persistence.rb", "lib/stateflow/persistence/active_record.rb", "lib/stateflow/persistence/mongo_mapper.rb", "lib/stateflow/persistence/mongoid.rb", "lib/stateflow/persistence/none.rb", "lib/stateflow/state.rb", "lib/stateflow/transition.rb", "spec/spec_helper.rb", "spec/stateflow_spec.rb", "stateflow.gemspec"]
|
13
|
+
s.files = ["CHANGELOG.rdoc", "Gemfile", "Gemfile.lock", "LICENCE", "Manifest", "README.rdoc", "Rakefile", "examples/robot.rb", "examples/test.rb", "init.rb", "lib/stateflow.rb", "lib/stateflow/event.rb", "lib/stateflow/exception.rb", "lib/stateflow/machine.rb", "lib/stateflow/persistence.rb", "lib/stateflow/persistence/active_record.rb", "lib/stateflow/persistence/mongo_mapper.rb", "lib/stateflow/persistence/mongoid.rb", "lib/stateflow/persistence/none.rb", "lib/stateflow/state.rb", "lib/stateflow/transition.rb", "spec/orm/activerecord_spec.rb", "spec/orm/mongoid_spec.rb", "spec/spec_helper.rb", "spec/stateflow_spec.rb", "stateflow.gemspec"]
|
14
14
|
s.homepage = %q{http://github.com/ryanza/stateflow}
|
15
15
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Stateflow", "--main", "README.rdoc"]
|
16
16
|
s.require_paths = ["lib"]
|
@@ -23,18 +23,18 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.specification_version = 3
|
24
24
|
|
25
25
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
26
|
-
s.add_development_dependency(%q<rspec>, [">= 0"])
|
26
|
+
s.add_development_dependency(%q<rspec>, [">= 2.0.0"])
|
27
27
|
s.add_development_dependency(%q<activerecord>, [">= 0"])
|
28
28
|
s.add_development_dependency(%q<mongoid>, [">= 2.0.0.beta.20"])
|
29
29
|
s.add_development_dependency(%q<sqlite3-ruby>, [">= 0"])
|
30
30
|
else
|
31
|
-
s.add_dependency(%q<rspec>, [">= 0"])
|
31
|
+
s.add_dependency(%q<rspec>, [">= 2.0.0"])
|
32
32
|
s.add_dependency(%q<activerecord>, [">= 0"])
|
33
33
|
s.add_dependency(%q<mongoid>, [">= 2.0.0.beta.20"])
|
34
34
|
s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
|
35
35
|
end
|
36
36
|
else
|
37
|
-
s.add_dependency(%q<rspec>, [">= 0"])
|
37
|
+
s.add_dependency(%q<rspec>, [">= 2.0.0"])
|
38
38
|
s.add_dependency(%q<activerecord>, [">= 0"])
|
39
39
|
s.add_dependency(%q<mongoid>, [">= 2.0.0.beta.20"])
|
40
40
|
s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
|
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stateflow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 15
|
5
4
|
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 0
|
8
7
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
8
|
+
- 1
|
9
|
+
version: 0.4.1
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Ryan Oberholzer
|
@@ -15,7 +14,7 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date:
|
17
|
+
date: 2011-02-13 00:00:00 +00:00
|
19
18
|
default_executable:
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
@@ -26,10 +25,11 @@ dependencies:
|
|
26
25
|
requirements:
|
27
26
|
- - ">="
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 3
|
30
28
|
segments:
|
29
|
+
- 2
|
31
30
|
- 0
|
32
|
-
|
31
|
+
- 0
|
32
|
+
version: 2.0.0
|
33
33
|
type: :development
|
34
34
|
version_requirements: *id001
|
35
35
|
- !ruby/object:Gem::Dependency
|
@@ -40,7 +40,6 @@ dependencies:
|
|
40
40
|
requirements:
|
41
41
|
- - ">="
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
hash: 3
|
44
43
|
segments:
|
45
44
|
- 0
|
46
45
|
version: "0"
|
@@ -54,7 +53,6 @@ dependencies:
|
|
54
53
|
requirements:
|
55
54
|
- - ">="
|
56
55
|
- !ruby/object:Gem::Version
|
57
|
-
hash: 62196427
|
58
56
|
segments:
|
59
57
|
- 2
|
60
58
|
- 0
|
@@ -72,7 +70,6 @@ dependencies:
|
|
72
70
|
requirements:
|
73
71
|
- - ">="
|
74
72
|
- !ruby/object:Gem::Version
|
75
|
-
hash: 3
|
76
73
|
segments:
|
77
74
|
- 0
|
78
75
|
version: "0"
|
@@ -100,6 +97,8 @@ extra_rdoc_files:
|
|
100
97
|
- lib/stateflow/transition.rb
|
101
98
|
files:
|
102
99
|
- CHANGELOG.rdoc
|
100
|
+
- Gemfile
|
101
|
+
- Gemfile.lock
|
103
102
|
- LICENCE
|
104
103
|
- Manifest
|
105
104
|
- README.rdoc
|
@@ -118,6 +117,8 @@ files:
|
|
118
117
|
- lib/stateflow/persistence/none.rb
|
119
118
|
- lib/stateflow/state.rb
|
120
119
|
- lib/stateflow/transition.rb
|
120
|
+
- spec/orm/activerecord_spec.rb
|
121
|
+
- spec/orm/mongoid_spec.rb
|
121
122
|
- spec/spec_helper.rb
|
122
123
|
- spec/stateflow_spec.rb
|
123
124
|
- stateflow.gemspec
|
@@ -140,7 +141,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
140
141
|
requirements:
|
141
142
|
- - ">="
|
142
143
|
- !ruby/object:Gem::Version
|
143
|
-
hash: 3
|
144
144
|
segments:
|
145
145
|
- 0
|
146
146
|
version: "0"
|
@@ -149,7 +149,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
149
149
|
requirements:
|
150
150
|
- - ">="
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
hash: 11
|
153
152
|
segments:
|
154
153
|
- 1
|
155
154
|
- 2
|