aasm 4.11.1 → 4.12.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.
- checksums.yaml +4 -4
- data/.travis.yml +15 -16
- data/Appraisals +44 -0
- data/CHANGELOG.md +14 -0
- data/CONTRIBUTING.md +24 -0
- data/Gemfile +4 -21
- data/README.md +53 -32
- data/Rakefile +6 -1
- data/TESTING.md +25 -0
- data/aasm.gemspec +3 -0
- data/gemfiles/rails_3.2.gemfile +13 -0
- data/gemfiles/rails_4.0.gemfile +8 -9
- data/gemfiles/rails_4.2.gemfile +9 -9
- data/gemfiles/rails_4.2_mongoid_5.gemfile +5 -9
- data/gemfiles/rails_5.0.gemfile +7 -16
- data/lib/aasm/aasm.rb +9 -3
- data/lib/aasm/base.rb +3 -1
- data/lib/aasm/configuration.rb +4 -0
- data/lib/aasm/core/event.rb +17 -3
- data/lib/aasm/core/state.rb +7 -0
- data/lib/aasm/core/transition.rb +9 -0
- data/lib/aasm/persistence.rb +0 -3
- data/lib/aasm/persistence/active_record_persistence.rb +1 -1
- data/lib/aasm/persistence/mongoid_persistence.rb +48 -9
- data/lib/aasm/state_machine.rb +4 -2
- data/lib/aasm/state_machine_store.rb +5 -2
- data/lib/aasm/version.rb +1 -1
- data/lib/motion-aasm.rb +0 -1
- data/spec/generators/active_record_generator_spec.rb +42 -39
- data/spec/generators/mongoid_generator_spec.rb +4 -6
- data/spec/models/{invalid_persistor.rb → active_record/invalid_persistor.rb} +0 -2
- data/spec/models/{silent_persistor.rb → active_record/silent_persistor.rb} +0 -2
- data/spec/models/{transactor.rb → active_record/transactor.rb} +0 -2
- data/spec/models/{validator.rb → active_record/validator.rb} +0 -2
- data/spec/models/{worker.rb → active_record/worker.rb} +0 -0
- data/spec/models/callbacks/basic.rb +5 -2
- data/spec/models/guard_with_params.rb +1 -1
- data/spec/models/mongoid/invalid_persistor_mongoid.rb +39 -0
- data/spec/models/mongoid/silent_persistor_mongoid.rb +39 -0
- data/spec/models/mongoid/validator_mongoid.rb +100 -0
- data/spec/models/multiple_transitions_that_differ_only_by_guard.rb +31 -0
- data/spec/models/parametrised_event.rb +7 -0
- data/spec/models/simple_multiple_example.rb +12 -0
- data/spec/models/sub_class.rb +34 -0
- data/spec/spec_helper.rb +0 -33
- data/spec/spec_helpers/active_record.rb +7 -0
- data/spec/spec_helpers/dynamoid.rb +33 -0
- data/spec/spec_helpers/mongoid.rb +7 -0
- data/spec/spec_helpers/redis.rb +7 -0
- data/spec/spec_helpers/remove_warnings.rb +1 -0
- data/spec/spec_helpers/sequel.rb +7 -0
- data/spec/unit/api_spec.rb +76 -73
- data/spec/unit/callbacks_spec.rb +5 -0
- data/spec/unit/event_spec.rb +12 -0
- data/spec/unit/guard_with_params_spec.rb +4 -0
- data/spec/unit/localizer_spec.rb +55 -53
- data/spec/unit/multiple_transitions_that_differ_only_by_guard_spec.rb +14 -0
- data/spec/unit/override_warning_spec.rb +8 -0
- data/spec/unit/persistence/active_record_persistence_multiple_spec.rb +452 -448
- data/spec/unit/persistence/active_record_persistence_spec.rb +523 -501
- data/spec/unit/persistence/dynamoid_persistence_multiple_spec.rb +4 -9
- data/spec/unit/persistence/dynamoid_persistence_spec.rb +4 -9
- data/spec/unit/persistence/mongoid_persistence_multiple_spec.rb +83 -9
- data/spec/unit/persistence/mongoid_persistence_spec.rb +85 -9
- data/spec/unit/persistence/redis_persistence_spec.rb +3 -7
- data/spec/unit/persistence/sequel_persistence_multiple_spec.rb +4 -9
- data/spec/unit/persistence/sequel_persistence_spec.rb +4 -9
- data/spec/unit/simple_multiple_example_spec.rb +28 -0
- data/spec/unit/subclassing_multiple_spec.rb +37 -2
- data/spec/unit/subclassing_spec.rb +17 -2
- metadata +66 -28
- data/gemfiles/rails_3.2_stable.gemfile +0 -15
- data/gemfiles/rails_4.0_mongo_mapper.gemfile +0 -16
- data/gemfiles/rails_4.2_mongo_mapper.gemfile +0 -17
- data/lib/aasm/persistence/mongo_mapper_persistence.rb +0 -163
- data/spec/models/mongo_mapper/complex_mongo_mapper_example.rb +0 -37
- data/spec/models/mongo_mapper/no_scope_mongo_mapper.rb +0 -21
- data/spec/models/mongo_mapper/simple_mongo_mapper.rb +0 -23
- data/spec/models/mongo_mapper/simple_new_dsl_mongo_mapper.rb +0 -25
- data/spec/unit/persistence/mongo_mapper_persistence_multiple_spec.rb +0 -149
- data/spec/unit/persistence/mongo_mapper_persistence_spec.rb +0 -96
@@ -1,96 +0,0 @@
|
|
1
|
-
describe 'mongo_mapper' do
|
2
|
-
begin
|
3
|
-
require 'mongo_mapper'
|
4
|
-
require 'logger'
|
5
|
-
require 'spec_helper'
|
6
|
-
|
7
|
-
Dir[File.dirname(__FILE__) + "/../../models/mongo_mapper/*.rb"].sort.each do |f|
|
8
|
-
require File.expand_path(f)
|
9
|
-
end
|
10
|
-
|
11
|
-
before(:all) do
|
12
|
-
config = {
|
13
|
-
'test' => {
|
14
|
-
'database' => "mongo_mapper_#{Process.pid}"
|
15
|
-
}
|
16
|
-
}
|
17
|
-
|
18
|
-
MongoMapper.setup(config, 'test') #, :logger => Logger.new(STDERR))
|
19
|
-
end
|
20
|
-
|
21
|
-
after do
|
22
|
-
# Clear Out all non-system Mongo collections between tests
|
23
|
-
MongoMapper.database.collections.each do |collection|
|
24
|
-
collection.drop unless collection.capped? || (collection.name =~ /\Asystem/)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
describe "named scopes with the old DSL" do
|
29
|
-
|
30
|
-
context "Does not already respond_to? the scope name" do
|
31
|
-
it "should add a scope for each state" do
|
32
|
-
expect(SimpleMongoMapper).to respond_to(:unknown_scope)
|
33
|
-
expect(SimpleMongoMapper).to respond_to(:another_unknown_scope)
|
34
|
-
|
35
|
-
expect(SimpleMongoMapper.unknown_scope.class).to eq(MongoMapper::Plugins::Querying::DecoratedPluckyQuery)
|
36
|
-
expect(SimpleMongoMapper.another_unknown_scope.class).to eq(MongoMapper::Plugins::Querying::DecoratedPluckyQuery)
|
37
|
-
#expect(SimpleMongoMapper.unknown_scope.is_a?(ActiveRecord::Relation)).to be_truthy
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
context "Already respond_to? the scope name" do
|
42
|
-
it "should not add a scope" do
|
43
|
-
expect(SimpleMongoMapper).to respond_to(:next)
|
44
|
-
expect(SimpleMongoMapper.new.class).to eq(SimpleMongoMapper)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
end
|
49
|
-
|
50
|
-
describe "named scopes with the new DSL" do
|
51
|
-
|
52
|
-
context "Does not already respond_to? the scope name" do
|
53
|
-
it "should add a scope" do
|
54
|
-
expect(SimpleNewDslMongoMapper).to respond_to(:unknown_scope)
|
55
|
-
expect(SimpleNewDslMongoMapper.unknown_scope.class).to eq(MongoMapper::Plugins::Querying::DecoratedPluckyQuery)
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
context "Already respond_to? the scope name" do
|
60
|
-
it "should not add a scope" do
|
61
|
-
expect(SimpleNewDslMongoMapper).to respond_to(:next)
|
62
|
-
expect(SimpleNewDslMongoMapper.new.class).to eq(SimpleNewDslMongoMapper)
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
it "does not create scopes if requested" do
|
67
|
-
expect(NoScopeMongoMapper).not_to respond_to(:ignored_scope)
|
68
|
-
end
|
69
|
-
|
70
|
-
end
|
71
|
-
|
72
|
-
describe "instance methods" do
|
73
|
-
|
74
|
-
let(:simple) {SimpleNewDslMongoMapper.new}
|
75
|
-
|
76
|
-
it "should call aasm_ensure_initial_state on validation before create" do
|
77
|
-
expect(SimpleNewDslMongoMapper.aasm.initial_state).to eq(:unknown_scope)
|
78
|
-
expect(SimpleNewDslMongoMapper.aasm.attribute_name).to eq(:status)
|
79
|
-
expect(simple.status).to eq(nil)
|
80
|
-
simple.valid?
|
81
|
-
expect(simple.status).to eq('unknown_scope')
|
82
|
-
end
|
83
|
-
|
84
|
-
it "should call aasm_ensure_initial_state before create, even if skipping validations" do
|
85
|
-
expect(simple.status).to eq(nil)
|
86
|
-
simple.save(:validate => false)
|
87
|
-
expect(simple.status).to eq('unknown_scope')
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
rescue LoadError
|
92
|
-
puts "--------------------------------------------------------------------------"
|
93
|
-
puts "Not running MongoMapper multiple-specs because mongo_mapper gem is not installed!!!"
|
94
|
-
puts "--------------------------------------------------------------------------"
|
95
|
-
end
|
96
|
-
end
|