aasm 2.1.1 → 5.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.document +6 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +27 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.gitignore +20 -0
- data/.travis.yml +82 -0
- data/API +34 -0
- data/Appraisals +67 -0
- data/CHANGELOG.md +453 -0
- data/CODE_OF_CONDUCT.md +13 -0
- data/CONTRIBUTING.md +24 -0
- data/Dockerfile +44 -0
- data/Gemfile +6 -0
- data/Gemfile.lock_old +151 -0
- data/HOWTO +12 -0
- data/{MIT-LICENSE → LICENSE} +1 -1
- data/PLANNED_CHANGES.md +11 -0
- data/README.md +1524 -0
- data/README_FROM_VERSION_3_TO_4.md +240 -0
- data/Rakefile +20 -84
- data/TESTING.md +25 -0
- data/aasm.gemspec +37 -0
- data/docker-compose.yml +40 -0
- data/gemfiles/norails.gemfile +10 -0
- data/gemfiles/rails_4.2.gemfile +17 -0
- data/gemfiles/rails_4.2_mongoid_5.gemfile +12 -0
- data/gemfiles/rails_4.2_nobrainer.gemfile +9 -0
- data/gemfiles/rails_5.0.gemfile +14 -0
- data/gemfiles/rails_5.0_nobrainer.gemfile +9 -0
- data/gemfiles/rails_5.1.gemfile +14 -0
- data/gemfiles/rails_5.2.gemfile +14 -0
- data/lib/aasm/aasm.rb +160 -137
- data/lib/aasm/base.rb +290 -0
- data/lib/aasm/configuration.rb +48 -0
- data/lib/aasm/core/event.rb +177 -0
- data/lib/aasm/core/invoker.rb +129 -0
- data/lib/aasm/core/invokers/base_invoker.rb +75 -0
- data/lib/aasm/core/invokers/class_invoker.rb +52 -0
- data/lib/aasm/core/invokers/literal_invoker.rb +47 -0
- data/lib/aasm/core/invokers/proc_invoker.rb +59 -0
- data/lib/aasm/core/state.rb +91 -0
- data/lib/aasm/core/transition.rb +83 -0
- data/lib/aasm/dsl_helper.rb +32 -0
- data/lib/aasm/errors.rb +21 -0
- data/lib/aasm/instance_base.rb +133 -0
- data/lib/aasm/localizer.rb +64 -0
- data/lib/aasm/minitest/allow_event.rb +13 -0
- data/lib/aasm/minitest/allow_transition_to.rb +13 -0
- data/lib/aasm/minitest/have_state.rb +13 -0
- data/lib/aasm/minitest/transition_from.rb +21 -0
- data/lib/aasm/minitest.rb +5 -0
- data/lib/aasm/minitest_spec.rb +15 -0
- data/lib/aasm/persistence/active_record_persistence.rb +108 -173
- data/lib/aasm/persistence/base.rb +89 -0
- data/lib/aasm/persistence/core_data_query_persistence.rb +94 -0
- data/lib/aasm/persistence/dynamoid_persistence.rb +92 -0
- data/lib/aasm/persistence/mongoid_persistence.rb +126 -0
- data/lib/aasm/persistence/no_brainer_persistence.rb +105 -0
- data/lib/aasm/persistence/orm.rb +154 -0
- data/lib/aasm/persistence/plain_persistence.rb +26 -0
- data/lib/aasm/persistence/redis_persistence.rb +112 -0
- data/lib/aasm/persistence/sequel_persistence.rb +83 -0
- data/lib/aasm/persistence.rb +48 -10
- data/lib/aasm/rspec/allow_event.rb +26 -0
- data/lib/aasm/rspec/allow_transition_to.rb +26 -0
- data/lib/aasm/rspec/have_state.rb +22 -0
- data/lib/aasm/rspec/transition_from.rb +36 -0
- data/lib/aasm/rspec.rb +5 -0
- data/lib/aasm/state_machine.rb +40 -22
- data/lib/aasm/state_machine_store.rb +76 -0
- data/lib/aasm/version.rb +3 -0
- data/lib/aasm.rb +21 -1
- data/lib/generators/aasm/aasm_generator.rb +16 -0
- data/lib/generators/aasm/orm_helpers.rb +41 -0
- data/lib/generators/active_record/aasm_generator.rb +40 -0
- data/lib/generators/active_record/templates/migration.rb +8 -0
- data/lib/generators/active_record/templates/migration_existing.rb +5 -0
- data/lib/generators/mongoid/aasm_generator.rb +28 -0
- data/lib/generators/nobrainer/aasm_generator.rb +28 -0
- data/lib/motion-aasm.rb +37 -0
- data/spec/database.rb +57 -0
- data/spec/database.yml +3 -0
- data/spec/en.yml +9 -0
- data/spec/generators/active_record_generator_spec.rb +53 -0
- data/spec/generators/mongoid_generator_spec.rb +31 -0
- data/spec/generators/no_brainer_generator_spec.rb +29 -0
- data/spec/localizer_test_model_deprecated_style.yml +13 -0
- data/spec/localizer_test_model_new_style.yml +11 -0
- data/spec/models/active_record/active_record_callback.rb +93 -0
- data/spec/models/active_record/basic_active_record_two_state_machines_example.rb +25 -0
- data/spec/models/active_record/complex_active_record_example.rb +37 -0
- data/spec/models/active_record/derivate_new_dsl.rb +7 -0
- data/spec/models/active_record/false_state.rb +35 -0
- data/spec/models/active_record/gate.rb +39 -0
- data/spec/models/active_record/instance_level_skip_validation_example.rb +19 -0
- data/spec/models/active_record/invalid_persistor.rb +29 -0
- data/spec/models/active_record/localizer_test_model.rb +42 -0
- data/spec/models/active_record/namespaced.rb +16 -0
- data/spec/models/active_record/no_direct_assignment.rb +21 -0
- data/spec/models/active_record/no_scope.rb +21 -0
- data/spec/models/active_record/persisted_state.rb +12 -0
- data/spec/models/active_record/person.rb +23 -0
- data/spec/models/active_record/provided_and_persisted_state.rb +24 -0
- data/spec/models/active_record/reader.rb +7 -0
- data/spec/models/active_record/readme_job.rb +21 -0
- data/spec/models/active_record/silent_persistor.rb +29 -0
- data/spec/models/active_record/simple_new_dsl.rb +32 -0
- data/spec/models/active_record/thief.rb +29 -0
- data/spec/models/active_record/timestamp_example.rb +16 -0
- data/spec/models/active_record/transactor.rb +124 -0
- data/spec/models/active_record/transient.rb +6 -0
- data/spec/models/active_record/validator.rb +118 -0
- data/spec/models/active_record/with_enum.rb +39 -0
- data/spec/models/active_record/with_enum_without_column.rb +38 -0
- data/spec/models/active_record/with_false_enum.rb +31 -0
- data/spec/models/active_record/with_true_enum.rb +39 -0
- data/spec/models/active_record/work.rb +3 -0
- data/spec/models/active_record/worker.rb +2 -0
- data/spec/models/active_record/writer.rb +6 -0
- data/spec/models/basic_two_state_machines_example.rb +25 -0
- data/spec/models/callbacks/basic.rb +98 -0
- data/spec/models/callbacks/basic_multiple.rb +75 -0
- data/spec/models/callbacks/guard_within_block.rb +67 -0
- data/spec/models/callbacks/guard_within_block_multiple.rb +66 -0
- data/spec/models/callbacks/multiple_transitions_transition_guard.rb +66 -0
- data/spec/models/callbacks/multiple_transitions_transition_guard_multiple.rb +65 -0
- data/spec/models/callbacks/private_method.rb +44 -0
- data/spec/models/callbacks/private_method_multiple.rb +44 -0
- data/spec/models/callbacks/with_args.rb +62 -0
- data/spec/models/callbacks/with_args_multiple.rb +61 -0
- data/spec/models/callbacks/with_state_arg.rb +34 -0
- data/spec/models/callbacks/with_state_arg_multiple.rb +29 -0
- data/spec/models/complex_example.rb +222 -0
- data/spec/models/conversation.rb +93 -0
- data/spec/models/default_state.rb +12 -0
- data/spec/models/double_definer.rb +21 -0
- data/spec/models/dynamoid/complex_dynamoid_example.rb +37 -0
- data/spec/models/dynamoid/dynamoid_multiple.rb +18 -0
- data/spec/models/dynamoid/dynamoid_simple.rb +18 -0
- data/spec/models/foo.rb +106 -0
- data/spec/models/foo_callback_multiple.rb +45 -0
- data/spec/models/guard_arguments_check.rb +17 -0
- data/spec/models/guard_with_params.rb +24 -0
- data/spec/models/guard_with_params_multiple.rb +18 -0
- data/spec/models/guardian.rb +58 -0
- data/spec/models/guardian_multiple.rb +48 -0
- data/spec/models/guardian_without_from_specified.rb +18 -0
- data/spec/models/initial_state_proc.rb +31 -0
- data/spec/models/mongoid/complex_mongoid_example.rb +37 -0
- data/spec/models/mongoid/invalid_persistor_mongoid.rb +39 -0
- data/spec/models/mongoid/mongoid_relationships.rb +26 -0
- data/spec/models/mongoid/no_scope_mongoid.rb +21 -0
- data/spec/models/mongoid/silent_persistor_mongoid.rb +39 -0
- data/spec/models/mongoid/simple_mongoid.rb +23 -0
- data/spec/models/mongoid/simple_new_dsl_mongoid.rb +25 -0
- data/spec/models/mongoid/timestamp_example_mongoid.rb +20 -0
- data/spec/models/mongoid/validator_mongoid.rb +100 -0
- data/spec/models/multi_transitioner.rb +34 -0
- data/spec/models/multiple_transitions_that_differ_only_by_guard.rb +31 -0
- data/spec/models/namespaced_multiple_example.rb +42 -0
- data/spec/models/no_initial_state.rb +25 -0
- data/spec/models/nobrainer/complex_no_brainer_example.rb +36 -0
- data/spec/models/nobrainer/invalid_persistor_no_brainer.rb +39 -0
- data/spec/models/nobrainer/no_scope_no_brainer.rb +21 -0
- data/spec/models/nobrainer/nobrainer_relationships.rb +25 -0
- data/spec/models/nobrainer/silent_persistor_no_brainer.rb +39 -0
- data/spec/models/nobrainer/simple_new_dsl_nobrainer.rb +25 -0
- data/spec/models/nobrainer/simple_no_brainer.rb +23 -0
- data/spec/models/nobrainer/validator_no_brainer.rb +98 -0
- data/spec/models/not_auto_loaded/process.rb +21 -0
- data/spec/models/parametrised_event.rb +42 -0
- data/spec/models/parametrised_event_multiple.rb +29 -0
- data/spec/models/process_with_new_dsl.rb +31 -0
- data/spec/models/provided_state.rb +24 -0
- data/spec/models/redis/complex_redis_example.rb +40 -0
- data/spec/models/redis/redis_multiple.rb +20 -0
- data/spec/models/redis/redis_simple.rb +20 -0
- data/spec/models/sequel/complex_sequel_example.rb +46 -0
- data/spec/models/sequel/invalid_persistor.rb +52 -0
- data/spec/models/sequel/sequel_multiple.rb +25 -0
- data/spec/models/sequel/sequel_simple.rb +26 -0
- data/spec/models/sequel/silent_persistor.rb +50 -0
- data/spec/models/sequel/transactor.rb +112 -0
- data/spec/models/sequel/validator.rb +93 -0
- data/spec/models/sequel/worker.rb +12 -0
- data/spec/models/silencer.rb +27 -0
- data/spec/models/simple_custom_example.rb +53 -0
- data/spec/models/simple_example.rb +23 -0
- data/spec/models/simple_example_with_guard_args.rb +17 -0
- data/spec/models/simple_multiple_example.rb +42 -0
- data/spec/models/state_machine_with_failed_event.rb +20 -0
- data/spec/models/states_on_one_line_example.rb +8 -0
- data/spec/models/sub_class.rb +41 -0
- data/spec/models/sub_class_with_more_states.rb +18 -0
- data/spec/models/sub_classing.rb +3 -0
- data/spec/models/super_class.rb +46 -0
- data/spec/models/this_name_better_not_be_in_use.rb +11 -0
- data/spec/models/timestamps_example.rb +19 -0
- data/spec/models/timestamps_with_named_machine_example.rb +13 -0
- data/spec/models/valid_state_name.rb +23 -0
- data/spec/spec_helper.rb +41 -0
- data/spec/spec_helpers/active_record.rb +8 -0
- data/spec/spec_helpers/dynamoid.rb +35 -0
- data/spec/spec_helpers/mongoid.rb +26 -0
- data/spec/spec_helpers/nobrainer.rb +15 -0
- data/spec/spec_helpers/redis.rb +18 -0
- data/spec/spec_helpers/remove_warnings.rb +1 -0
- data/spec/spec_helpers/sequel.rb +7 -0
- data/spec/unit/abstract_class_spec.rb +27 -0
- data/spec/unit/api_spec.rb +104 -0
- data/spec/unit/basic_two_state_machines_example_spec.rb +10 -0
- data/spec/unit/callback_multiple_spec.rb +304 -0
- data/spec/unit/callbacks_spec.rb +521 -0
- data/spec/unit/complex_example_spec.rb +93 -0
- data/spec/unit/complex_multiple_example_spec.rb +115 -0
- data/spec/unit/edge_cases_spec.rb +16 -0
- data/spec/unit/event_multiple_spec.rb +73 -0
- data/spec/unit/event_naming_spec.rb +16 -0
- data/spec/unit/event_spec.rb +394 -0
- data/spec/unit/exception_spec.rb +11 -0
- data/spec/unit/guard_arguments_check_spec.rb +9 -0
- data/spec/unit/guard_multiple_spec.rb +60 -0
- data/spec/unit/guard_spec.rb +89 -0
- data/spec/unit/guard_with_params_multiple_spec.rb +10 -0
- data/spec/unit/guard_with_params_spec.rb +14 -0
- data/spec/unit/guard_without_from_specified_spec.rb +10 -0
- data/spec/unit/initial_state_multiple_spec.rb +15 -0
- data/spec/unit/initial_state_spec.rb +12 -0
- data/spec/unit/inspection_multiple_spec.rb +205 -0
- data/spec/unit/inspection_spec.rb +153 -0
- data/spec/unit/invoker_spec.rb +189 -0
- data/spec/unit/invokers/base_invoker_spec.rb +72 -0
- data/spec/unit/invokers/class_invoker_spec.rb +95 -0
- data/spec/unit/invokers/literal_invoker_spec.rb +86 -0
- data/spec/unit/invokers/proc_invoker_spec.rb +86 -0
- data/spec/unit/localizer_spec.rb +109 -0
- data/spec/unit/memory_leak_spec.rb +38 -0
- data/spec/unit/multiple_transitions_that_differ_only_by_guard_spec.rb +14 -0
- data/spec/unit/namespaced_multiple_example_spec.rb +75 -0
- data/spec/unit/new_dsl_spec.rb +12 -0
- data/spec/unit/override_warning_spec.rb +94 -0
- data/spec/unit/persistence/active_record_persistence_multiple_spec.rb +635 -0
- data/spec/unit/persistence/active_record_persistence_spec.rb +852 -0
- data/spec/unit/persistence/dynamoid_persistence_multiple_spec.rb +135 -0
- data/spec/unit/persistence/dynamoid_persistence_spec.rb +84 -0
- data/spec/unit/persistence/mongoid_persistence_multiple_spec.rb +200 -0
- data/spec/unit/persistence/mongoid_persistence_spec.rb +177 -0
- data/spec/unit/persistence/no_brainer_persistence_multiple_spec.rb +198 -0
- data/spec/unit/persistence/no_brainer_persistence_spec.rb +158 -0
- data/spec/unit/persistence/redis_persistence_multiple_spec.rb +88 -0
- data/spec/unit/persistence/redis_persistence_spec.rb +53 -0
- data/spec/unit/persistence/sequel_persistence_multiple_spec.rb +148 -0
- data/spec/unit/persistence/sequel_persistence_spec.rb +368 -0
- data/spec/unit/readme_spec.rb +41 -0
- data/spec/unit/reloading_spec.rb +15 -0
- data/spec/unit/rspec_matcher_spec.rb +88 -0
- data/spec/unit/simple_custom_example_spec.rb +39 -0
- data/spec/unit/simple_example_spec.rb +57 -0
- data/spec/unit/simple_multiple_example_spec.rb +91 -0
- data/spec/unit/state_spec.rb +105 -0
- data/spec/unit/states_on_one_line_example_spec.rb +16 -0
- data/spec/unit/subclassing_multiple_spec.rb +74 -0
- data/spec/unit/subclassing_spec.rb +46 -0
- data/spec/unit/timestamps_spec.rb +32 -0
- data/spec/unit/transition_spec.rb +436 -0
- data/test/minitest_helper.rb +57 -0
- data/test/unit/minitest_matcher_test.rb +80 -0
- metadata +607 -60
- data/CHANGELOG +0 -33
- data/README.rdoc +0 -122
- data/TODO +0 -9
- data/doc/jamis.rb +0 -591
- data/lib/aasm/event.rb +0 -76
- data/lib/aasm/state.rb +0 -35
- data/lib/aasm/state_transition.rb +0 -36
data/CHANGELOG.md
ADDED
@@ -0,0 +1,453 @@
|
|
1
|
+
# CHANGELOG
|
2
|
+
|
3
|
+
## unreleased
|
4
|
+
## 5.2.0
|
5
|
+
|
6
|
+
* fix: timestamp will work with named machine [#739](https://github.com/aasm/aasm/pull/739), thanks to [RolandStuder](https://github.com/RolandStuder)
|
7
|
+
* Create namespaced scopes in PR [#735](https://github.com/aasm/aasm/pull/735), thanks to [caiohsramos](https://github.com/caiohsramos)
|
8
|
+
* Fix multiple state machines example per class on README in PR [#732](https://github.com/aasm/aasm/pull/732), thanks to [RodrigoVitiello](https://github.com/RodrigoVitiello)
|
9
|
+
* Update version in recommendation to add after_commit_everywhere in PR [#729](https://github.com/aasm/aasm/pull/729), thanks to [Envek](https://github.com/Envek)
|
10
|
+
* Fix i18n Event translations failing [#721](https://github.com/aasm/aasm/issues/721) in PR [#723](https://github.com/aasm/aasm/pull/723), thanks to [the-spectator](https://github.com/the-spectator)
|
11
|
+
* Add documentation to the Readme about how parameters are handled in AASM events in PR [#722](https://github.com/aasm/aasm/pull/722), thanks to [dstuebe](https://github.com/dstuebe)
|
12
|
+
* Fix human_state cached across locales [#709](https://github.com/aasm/aasm/issues/709) in PR [716](https://github.com/aasm/aasm/pull/716), thanks to [the-spectator](https://github.com/the-spectator)
|
13
|
+
* Relocate DslHelper from root namespace to under AASM namespace in PR [#711](https://github.com/aasm/aasm/pull/711) thank to [yujideveloper ](https://github.com/yujideveloper )
|
14
|
+
* Document how to define transitions from any state in in PR [#699](https://github.com/aasm/aasm/pull/699) thanks to [hedgesky](https://github.com/hedgesky)
|
15
|
+
* Add simple option for auto-generated timestamps in PR [#677](https://github.com/aasm/aasm/pull/677), thanks to [jaynetics](https://github.com/jaynetics)
|
16
|
+
## 5.1.1
|
17
|
+
|
18
|
+
* Fix Depreciation message for after_commit_everywhere [#695](https://github.com/aasm/aasm/issues/695) in PR [#696](https://github.com/aasm/aasm/pull/696)
|
19
|
+
* Fix human_state to use display option [#684](https://github.com/aasm/aasm/issues/684) in PR [#697](https://github.com/aasm/aasm/pull/697)
|
20
|
+
* Remove support for ruby 2.3
|
21
|
+
|
22
|
+
## 5.1.0
|
23
|
+
|
24
|
+
* Fix after_commit in nested transactions [#536](https://github.com/aasm/aasm/issues/536) without explicit AR dependency in PR [#668](https://github.com/aasm/aasm/pull/668), thanks to [stokarenko](https://github.com/stokarenko)
|
25
|
+
* Remove support for Rails 3.2
|
26
|
+
|
27
|
+
## 5.0.8
|
28
|
+
|
29
|
+
* Revert Fix for :after_commit within nested transaction because it adds after_commit_action dependency which is dependent on many gems.
|
30
|
+
|
31
|
+
## 5.0.7
|
32
|
+
|
33
|
+
* Fix :after_commit within nested transaction [#666](https://github.com/aasm/aasm/pull/666), thanks to [stokarenko](https://github.com/stokarenko)
|
34
|
+
* Add permitted_transitions to group permitted event with state [#664](https://github.com/aasm/aasm/pull/664), thanks to [dnamsons](https://github.com/dnamsons)
|
35
|
+
* Add Ruby 2.7.0 & 2.6.5 to Travis CI Test Matrix [#661](https://github.com/aasm/aasm/pull/661), thanks to [the-spectator](https://github.com/the-spectator)
|
36
|
+
* Handle InvalidTransition in transition_from matcher [#653](https://github.com/aasm/aasm/pull/653), thanks to [ryanwood](https://github.com/ryanwood)
|
37
|
+
|
38
|
+
## 5.0.6
|
39
|
+
|
40
|
+
* Fix no_direct_assignment, couldn't be turned off pragmatically [#636](https://github.com/aasm/aasm/issues/636)
|
41
|
+
* Add instance level validation skip option [#644](https://github.com/aasm/aasm/pull/644), thanks to [Nitin-Salunke](https://github.com/Nitin-Salunke)
|
42
|
+
* Fixed aasm.current_event incorrectly yields nil when calling aasm.fire!(:event) [#551](https://github.com/aasm/aasm/issues/551) in [#638](https://github.com/aasm/aasm/pull/638), thanks to [DoubleJarvis](https://github.com/DoubleJarvis)
|
43
|
+
* Code Refactor [#634](https://github.com/aasm/aasm/pull/634) , thanks to [rahulknojha](https://github.com/rahulknojha)
|
44
|
+
* Fixed callback argument for :before_success & :success callback, [#630](https://github.com/aasm/aasm/pull/630)
|
45
|
+
|
46
|
+
## 5.0.5
|
47
|
+
|
48
|
+
* Independent of ActiveSupport methods, [#627](https://github.com/aasm/aasm/pull/627),
|
49
|
+
thanks to [tristandruyen](https://github.com/tristandruyen). Fixes [#508](https://github.com/aasm/aasm/issues/508)
|
50
|
+
|
51
|
+
## 5.0.4
|
52
|
+
|
53
|
+
* Specify dynamoid version for Rails > 5, [#625](https://github.com/aasm/aasm/pull/625),
|
54
|
+
thanks to [waghanza](https://github.com/waghanza)
|
55
|
+
* Add travis runner for Rails 5.2, [#624](https://github.com/aasm/aasm/pull/624), thanks
|
56
|
+
to [waghanza](https://github.com/waghanza)
|
57
|
+
* Cleanup Abstract class issue, [#620](https://github.com/aasm/aasm/pull/620), thanks to
|
58
|
+
[dennym](https://github.com/dennym)
|
59
|
+
|
60
|
+
## 5.0.3
|
61
|
+
|
62
|
+
* Fix Abstract class issue, [#619](https://github.com/aasm/aasm/pull/619)
|
63
|
+
|
64
|
+
## 5.0.2
|
65
|
+
|
66
|
+
* Clear failed callbacks, [#600](https://github.com/aasm/aasm/pull/600), thanks to
|
67
|
+
[nedgar](https://github.com/nedgar)
|
68
|
+
* README improvements, [#594](https://github.com/aasm/aasm/pull/594),
|
69
|
+
[#589](https://github.com/aasm/aasm/pull/589), [#587](https://github.com/aasm/aasm/pull/587),
|
70
|
+
[#597](https://github.com/aasm/aasm/pull/597), thanks to [jackscotti](https://github.com/jackscotti), [krmbzds](https://github.com/krmbzds),
|
71
|
+
[zegomesjf](https://github.com/zegomesjf), [BKSpurgeon](https://github.com/BKSpurgeon)
|
72
|
+
* Update InvalidTransition to include state_machine_name [#592](https://github.com/aasm/aasm/pull/592), thanks to [a14m](https://github.com/a14m)
|
73
|
+
* Do not add migration if model and column already exists [#586](https://github.com/aasm/aasm/pull/586), thanks to [KiranJosh](https://github.com/KiranJosh)
|
74
|
+
|
75
|
+
## 5.0.1
|
76
|
+
|
77
|
+
* Fix failures array in transition not being reset [#383](https://github.com/aasm/aasm/issues/383)
|
78
|
+
* Enable AASM scopes to be defined on abstract classes.
|
79
|
+
|
80
|
+
## 5.0.0
|
81
|
+
|
82
|
+
* Chore(invokers): Refactor callback invokers, add class-callbacks support [#541](https://github.com/aasm/aasm/pull/541), thanks to [pandomic](https://github.com/pandomic)
|
83
|
+
* Add docker setup to readme
|
84
|
+
* Add support for Nobrainer (RethinkDB) [#522](https://github.com/aasm/aasm/pull/522), thanks to [zedtux](https://github.com/zedtux)
|
85
|
+
* Patch `allow_event` to accept event with custom arguments [#419](https://github.com/aasm/aasm/pull/419), thanks to [czhc](https://github.com/czhc)
|
86
|
+
|
87
|
+
## 4.12.3
|
88
|
+
|
89
|
+
* Add to AASM fire(event) and fire!(event) methods [#494](https://github.com/aasm/aasm/pull/494), thanks to [slayer](https://github.com/slayer)
|
90
|
+
* Add `use_transactions` flag to persist changes to the database even when some error occurs. [#493](https://github.com/aasm/aasm/pull/493), thanks to Peter Lampesberger.
|
91
|
+
|
92
|
+
## 4.12.2
|
93
|
+
|
94
|
+
* Fix guards parameter [#484](https://github.com/aasm/aasm/pull/484), thanks to [teohm](https://github.com/teohm)
|
95
|
+
* Make errors more inspectable [#452](https://github.com/aasm/aasm/pull/452), thanks to [flexoid](https://github.com/flexoid)
|
96
|
+
* Enable Dynamoid for Rails 5 [#483](https://github.com/aasm/aasm/pull/483), thanks to [focusshifter](https://github.com/focusshifter)
|
97
|
+
|
98
|
+
## 4.12.1
|
99
|
+
|
100
|
+
* DRY-up Mongoid and ActiveRecord Persistence, Add Sequel transactions and locking [#475](https://github.com/aasm/aasm/pull/475), thanks to [@Aryk](https://github.com/Aryk)
|
101
|
+
* Add aliases for event methods [#476](https://github.com/aasm/aasm/pull/476), thanks to [@Aryk](https://github.com/Aryk)
|
102
|
+
* Support Minitest spec expectations [#387](https://github.com/aasm/aasm/pull/387), thanks to [@faragorn](https://github.com/faragorn)
|
103
|
+
## 4.12.0
|
104
|
+
|
105
|
+
* Fix thread safe issue with concurrent-ruby gem [see [pull-request #422](https://github.com/aasm/aasm/pull/442), thanks to [@reidmorrison](https://github.com/reidmorrison)
|
106
|
+
* Drop Support for Mongo Mapper [see [pull-request #439](https://github.com/aasm/aasm/pull/439)], thanks to [@reidmorrison](https://github.com/reidmorrison)
|
107
|
+
* add :binding_event option to event [see [pull-request #438](https://github.com/aasm/aasm/pull/438)], thanks to [@leanhdaovn](https://github.com/leanhdaovn)
|
108
|
+
* fix: `skip_validation_on_save: true` for default_scope records, [see [pull-request #433](https://github.com/aasm/aasm/pull/433)], thanks to [@larissa](https://github.com/larissa)
|
109
|
+
* Deep clone state machine during inheritance so that state machines in child classes can be modified (see [pull-request #429](https://github.com/aasm/aasm/pull/429)), thanks to [@reidmorrison](https://github.com/reidmorrison) and [@Tybot204](https://github.com/Tybot204)
|
110
|
+
* add before_success callback for event (see [pull-request #422](https://github.com/aasm/aasm/pull/422)), thanks to [@timsly ](https://github.com/timsly)
|
111
|
+
* fix: multiple transitions in a single event with the same to and from states (see [issue #372](https://github.com/aasm/aasm/issues/372) and [issue #362](https://github.com/aasm/aasm/issues/362) for details, fixed with [pull-request #408](https://github.com/aasm/aasm/pull/408), thanks to [@dathanb](https://github.com/dathanb))
|
112
|
+
* fix: passing nil as a argument to callbacks (see [issue #404](https://github.com/aasm/aasm/issues/404) for details, fixed with [pull-request #406](https://github.com/aasm/aasm/pull/406), thanks to [@yogeshjain999](https://github.com/yogeshjain999))
|
113
|
+
|
114
|
+
|
115
|
+
## 4.11.1
|
116
|
+
|
117
|
+
* fix: generator file name when using custom column name instead of
|
118
|
+
aasm_state (see [issue #398](https://github.com/aasm/aasm/pull/398) for details,
|
119
|
+
thanks to [@bastianwegge](https://github.com/bastianwegge))
|
120
|
+
* fix: Scopes when states are defined as a series of symbols (see [issue #397](https://github.com/aasm/aasm/pull/397) for details, thanks to [@evheny0](https://github.com/evheny0))
|
121
|
+
* fix: Multiple transition behavior when one of the transitions does not
|
122
|
+
have a "from" parameter (see [issue #392](https://github.com/aasm/aasm/issues/392) for details)
|
123
|
+
* fix: permissible states not respecting guard parameters (see [issue #388](https://github.com/aasm/aasm/issues/388)) with [pull-request #389](https://github.com/aasm/aasm/pull/389)
|
124
|
+
|
125
|
+
## 4.11.0
|
126
|
+
|
127
|
+
* support `logger` configuration (see [issue #370](https://github.com/aasm/aasm/pull/370) for details, thanks to [@HoyaBoya](https://github.com/HoyaBoya))
|
128
|
+
* support configuration to let bang transitions fail if object is invalid (see [issue #366](https://github.com/aasm/aasm/pull/366) and [issue #262](https://github.com/aasm/aasm/issues/262) for details, thanks to [@Wildebeest](https://github.com/Wildebeest))
|
129
|
+
|
130
|
+
|
131
|
+
## 4.10.1
|
132
|
+
|
133
|
+
* fix: suppress warnings when using ActiveRecord enums feature (see [issue #346](https://github.com/aasm/aasm/pull/346) for details, thanks to [@110y](https://github.com/110y), and [issue #353](https://github.com/aasm/aasm/pull/353) for details, thanks to [@nathanstitt](https://github.com/nathanstitt))
|
134
|
+
* fix: handle array of success callbacks for transitions properly (see [issue #363](https://github.com/aasm/aasm/pull/363) for details, thanks to [@shunichi](https://github.com/shunichi))
|
135
|
+
* support `permitted: false` for states and events query/inspection methods (see [issue #364](https://github.com/aasm/aasm/pull/364) for details, thanks to [@hspazio](https://github.com/hspazio))
|
136
|
+
|
137
|
+
## 4.10.0
|
138
|
+
|
139
|
+
* fix: some issues with RubyMotion (see [issue #320](https://github.com/aasm/aasm/pull/320) and [issue #343](https://github.com/aasm/aasm/pull/343) for details, thanks to [@Infotaku](https://github.com/Infotaku))
|
140
|
+
* fix: transitions now work in dup'ed copies (see [issue #325](https://github.com/aasm/aasm/pull/325) which fixes [issue #273](https://github.com/aasm/aasm/pull/273) for details, thanks to [@lingceng](https://github.com/lingceng))
|
141
|
+
* fix: allow skipping the `aasm_ensure_initial_state` callback (see [issue #326](https://github.com/aasm/aasm/pull/326) for details, thanks to [@sineed](https://github.com/sineed))
|
142
|
+
* fix: has_many association helper works again for Mongoid (see [issue #333](https://github.com/aasm/aasm/pull/333) which fixes [issue #332](https://github.com/aasm/aasm/pull/332) for details, thanks to [@anilmaurya](https://github.com/anilmaurya))
|
143
|
+
* improve performance / refactor: load and run only code which is needed (see [issue #336](https://github.com/aasm/aasm/pull/336) for details, thanks to [@csmuc](https://github.com/csmuc))
|
144
|
+
* improve: warn when overriding an existing method (see [issue #340](https://github.com/aasm/aasm/pull/340) which fixes [issue #335](https://github.com/aasm/aasm/pull/335) for details, thanks to [@pirj](https://github.com/pirj))
|
145
|
+
* fix: correct error message (by not evaluating the current state lazily) (see [issue #341](https://github.com/aasm/aasm/pull/341) which fixes [issue #312](https://github.com/aasm/aasm/pull/312) for details, thanks to [@pirj](https://github.com/pirj))
|
146
|
+
* addition: support for Redis as persistence layer (see [issue #190](https://github.com/aasm/aasm/pull/190) for details, thanks to [@javajax](https://github.com/javajax))
|
147
|
+
* addition: support transition `:success` callbacks (see [issue #239](https://github.com/aasm/aasm/pull/239) which fixes [issue #236](https://github.com/aasm/aasm/pull/236) for details, thanks to [@brega](https://github.com/brega))
|
148
|
+
* addition: support for namespacing methods and state names (see [issue #259](https://github.com/aasm/aasm/pull/259) for details, thanks to [@allspiritseve](https://github.com/allspiritseve))
|
149
|
+
* addition: support for defining multiple states in one line (see [issue #288](https://github.com/aasm/aasm/pull/288) which fixes [issue #146](https://github.com/aasm/aasm/pull/146) for details, thanks to [@HParker](https://github.com/HParker))
|
150
|
+
* fix: uninitialised constant when running Rails generator (see [issue #339](https://github.com/aasm/aasm/pull/339) for details, thanks to [@long-long-float](https://github.com/long-long-float))
|
151
|
+
|
152
|
+
## 4.9.0
|
153
|
+
|
154
|
+
* add support for callback classes (`after` only) (see [issue #316](https://github.com/aasm/aasm/pull/316) for details, thanks to [@mlr](https://github.com/mlr))
|
155
|
+
* allow easier extension of _AASM_ (utilising the idea of _ApplicationRecords_ from _Rails 5_) (see [issue #296](https://github.com/aasm/aasm/pull/296) for details, thanks to [@mlr](https://github.com/mlr))
|
156
|
+
* support pessimistic locking for _ActiveRecord_ (see [issue #283](https://github.com/aasm/aasm/pull/283) for details, thanks to [@HoyaBoya](https://github.com/HoyaBoya))
|
157
|
+
* fix: support database sharding for _ActiveRecord_ (see [issue #289](https://github.com/aasm/aasm/pull/289) for details, thanks to [@scambra](https://github.com/scambra))
|
158
|
+
* fix: some issues with RubyMotion (see [issue #318](https://github.com/aasm/aasm/pull/318) for details, thanks to [@Infotaku](https://github.com/Infotaku))
|
159
|
+
* fix: Rails generator now features the correct namespace (see [issue #328](https://github.com/aasm/aasm/pull/328) and [issue #329](https://github.com/aasm/aasm/pull/329) for details, thanks to [@anilmaurya](https://github.com/anilmaurya))
|
160
|
+
|
161
|
+
|
162
|
+
## 4.8.0
|
163
|
+
|
164
|
+
* add support for [dynamoid](http://joshsymonds.com/Dynamoid/) (see [issue #300](https://github.com/aasm/aasm/pull/300) for details, thanks to [@LeeChSien](https://github.com/LeeChSien))
|
165
|
+
* make compatible with [RubyMotion](http://www.rubymotion.com) (see [issue #315](https://github.com/aasm/aasm/pull/315) for details, thanks to [@Infotaku](https://github.com/Infotaku))
|
166
|
+
* improve error handling in case of an exception during transitioning (see [issue #275](https://github.com/aasm/aasm/pull/275) for details, thanks to [@chriswoodrich](https://github.com/chriswoodrich))
|
167
|
+
* rspec matcher `on_event` now supports arguments (see [issue #309](https://github.com/aasm/aasm/pull/309) for details, thanks to [@zacviandier](https://github.com/zacviandier))
|
168
|
+
* fix: permitted states now respect guards (see [issue #308](https://github.com/aasm/aasm/pull/308) for details, thanks to [@eebs](https://github.com/eebs))
|
169
|
+
* fix: reloading the env now doesn't add callbacks twice anymore (see [issue #311](https://github.com/aasm/aasm/pull/311) for details, thanks to [@lingceng](https://github.com/lingceng))
|
170
|
+
|
171
|
+
## 4.7.0
|
172
|
+
|
173
|
+
* fix: allow :send as event name (see [issue #257](https://github.com/aasm/aasm/issues/257) for details)
|
174
|
+
* add new callbacks: transactions, all events, ensure (see [issue #282](https://github.com/aasm/aasm/issues/282) for details, thanks to [@HoyaBoya](https://github.com/HoyaBoya))
|
175
|
+
|
176
|
+
## 4.6.0
|
177
|
+
|
178
|
+
* fix: make sure the column is actually present for _ActiveRecord_ enums (see [issue #265](https://github.com/aasm/aasm/issues/265) and [issue #152](https://github.com/aasm/aasm/issues/152) for details, thanks to [@anilmaurya](https://github.com/anilmaurya))
|
179
|
+
* add generators to configure active_record and mongoid after install (see [issue #261](https://github.com/aasm/aasm/issues/261) for details, thanks to [@anilmaurya](https://github.com/anilmaurya))
|
180
|
+
|
181
|
+
## 4.5.2
|
182
|
+
|
183
|
+
* fix arity difference between Procs and lambdas (see [issue #293](https://github.com/aasm/aasm/issues/293) for details)
|
184
|
+
|
185
|
+
## 4.5.1
|
186
|
+
|
187
|
+
* make sure to use override configuration options if state machine is defined more than once (see [issue #287](https://github.com/aasm/aasm/issues/287) for details)
|
188
|
+
|
189
|
+
## 4.5.0
|
190
|
+
|
191
|
+
* add RSpec matchers `have_state`, `allow_event` and `allow_transition_to` (see [issue #147](https://github.com/aasm/aasm/issues/147) for details)
|
192
|
+
* add RSpec matcher `transition_from` (see [issue #178](https://github.com/aasm/aasm/issues/178) for details, thanks to [@thomasstephane](https://github.com/thomasstephane))
|
193
|
+
|
194
|
+
## 4.4.1
|
195
|
+
|
196
|
+
* add support for rejecting certain events on inspection (see [issue #272](https://github.com/aasm/aasm/issues/272) for details, thanks to [@dubroe](https://github.com/dubroe))
|
197
|
+
|
198
|
+
## 4.4.0
|
199
|
+
|
200
|
+
* add support global transation callbacks (see [issue #221](https://github.com/aasm/aasm/issues/221) and [issue #253](https://github.com/aasm/aasm/issues/253) for details)
|
201
|
+
* add support (bugfix) for Mongoid >= 5.0 (see [issue #277](https://github.com/aasm/aasm/issues/277) and [issue #278](https://github.com/aasm/aasm/issues/278) for details)
|
202
|
+
|
203
|
+
## 4.3.0
|
204
|
+
|
205
|
+
* add support for multiple state machines per class (see [issue #158](https://github.com/aasm/aasm/issues/158) and [issue #240](https://github.com/aasm/aasm/issues/240) for details)
|
206
|
+
* special thanks to [@evadne](https://github.com/evadne) for testing this feature, and providing comments and patches (see [issue #245](https://github.com/aasm/aasm/issues/245) for details)
|
207
|
+
|
208
|
+
## 4.2.0
|
209
|
+
|
210
|
+
* support turning off and on the configuration option for `no_direct_assignment` (see [issue #223](https://github.com/aasm/aasm/issues/223) for details)
|
211
|
+
* event arguments are now passed to `:after_commit` callbacks as well (see [issue #238](https://github.com/aasm/aasm/pull/238), thanks to [@kuinak](https://github.com/kuinak))
|
212
|
+
|
213
|
+
## 4.1.1
|
214
|
+
|
215
|
+
* support block notation for `:after_commit` event callbacks (see [issue #224](https://github.com/aasm/aasm/issues/224) for details)
|
216
|
+
* event arguments are now passed to state callbacks as well (not only to event callbacks) (see [issue #219](https://github.com/aasm/aasm/issues/219), thanks to [@tobithiel](https://github.com/tobithiel))
|
217
|
+
* `AASM::InvalidTransition` now references the current object (with the state machine) and the _AASM_ event name (see [issue #217](https://github.com/aasm/aasm/issues/217), thanks to [@awsmsrc](https://github.com/awsmsrc))
|
218
|
+
* bugfix: do not update unloaded state for [Sequel](http://sequel.jeremyevans.net/) (see [issue #218](https://github.com/aasm/aasm/issues/218), thanks to [@godfat](https://github.com/godfat))
|
219
|
+
|
220
|
+
## 4.1.0
|
221
|
+
|
222
|
+
* bugfix: initialize the aasm state column after initialization of the _Mongoid_ instance (see [issue #206](https://github.com/aasm/aasm/issues/206), thanks to [@Shwetakale ](https://github.com/Shwetakale ))
|
223
|
+
* added support for mongomapper ORM (see [issue #203](https://github.com/aasm/aasm/issues/203), thanks to [@reidmorrison ](https://github.com/reidmorrison ))
|
224
|
+
* `aasm_column` has been removed. Use `aasm.attribute_name` instead
|
225
|
+
* `aasm_human_event_name` has been removed. Use `aasm.human_event_name` instead
|
226
|
+
|
227
|
+
## 4.0.8
|
228
|
+
|
229
|
+
* bugfix: may_event_name? should return true or false only (see [issue #200](https://github.com/aasm/aasm/issues/200) for details)
|
230
|
+
|
231
|
+
## 4.0.7
|
232
|
+
|
233
|
+
* bugfix: take private methods into account when checking for callbacks (see [issue #197](https://github.com/aasm/aasm/issues/197) for details)
|
234
|
+
|
235
|
+
## 4.0.6
|
236
|
+
|
237
|
+
* bugfix: `false` is treated as uninitialised state (same as `nil`) (see [issue #195](https://github.com/aasm/aasm/issues/195) for details)
|
238
|
+
* bugfix: an event's `:error` callback now retrieves all arguments passed to the event (see [issue #196](https://github.com/aasm/aasm/issues/196) for details)
|
239
|
+
|
240
|
+
## 4.0.5
|
241
|
+
|
242
|
+
* bugfix: initialize the aasm state column after initialization of the _ActiveRecord_ instance only if the attribute has been loaded (see [issue #193](https://github.com/aasm/aasm/issues/193) for details)
|
243
|
+
|
244
|
+
## 4.0.4
|
245
|
+
|
246
|
+
* corrected callback order in README
|
247
|
+
* bugfix: initialize the aasm state column after initialization of the _ActiveRecord_ instance (see [issue #191](https://github.com/aasm/aasm/issues/191) for details)
|
248
|
+
* bugfix: avoid Rails autoloading conflicts (see [issue #137](https://github.com/aasm/aasm/issues/137) and [issue #139](https://github.com/aasm/aasm/issues/139) for details)
|
249
|
+
|
250
|
+
## 4.0.3
|
251
|
+
|
252
|
+
* bugfix: fire guards only once per transition, part 2 (see [issue #187](https://github.com/aasm/aasm/issues/187) for details)
|
253
|
+
* `aasm_column` is deprecated. Use `aasm.attribute_name` instead
|
254
|
+
|
255
|
+
## 4.0.2
|
256
|
+
|
257
|
+
* bugfix: really support block-guards (defined within a transition block) (see [issue #186](https://github.com/aasm/aasm/issues/186) for details)
|
258
|
+
|
259
|
+
## 4.0.1
|
260
|
+
|
261
|
+
* fire guards only once per transition (see [issue #184](https://github.com/aasm/aasm/issues/184) for details)
|
262
|
+
* `aasm_human_event_name` is deprecated, use `aasm.human_event_name` instead
|
263
|
+
|
264
|
+
## 4.0.0
|
265
|
+
|
266
|
+
* support `if` and `unless` guard syntax: (see [issue #179](https://github.com/aasm/aasm/issues/179) and [issue #181](https://github.com/aasm/aasm/issues/181)), thanks to [@bigtunacan](https://github.com/bigtunacan)
|
267
|
+
* may configure to not allow direct assignment for persisted AASM models (see [issue #53](https://github.com/aasm/aasm/issues/53))
|
268
|
+
* **DSL change**: callbacks don't require `to_state` parameter anymore, but still support it
|
269
|
+
(closing issues
|
270
|
+
[#11](https://github.com/aasm/aasm/issues/11),
|
271
|
+
[#58](https://github.com/aasm/aasm/issues/58) and
|
272
|
+
[#80](https://github.com/aasm/aasm/issues/80)
|
273
|
+
thanks to [@ejlangev](https://github.com/ejlangev))
|
274
|
+
* **DSL change**: `after_commit` hooks are now event-based (see [issue #112](https://github.com/aasm/aasm/issues/112))
|
275
|
+
* **DSL change**: event and state callbacks have been re-ordered; state callbacks are not run anymore if any guard fails
|
276
|
+
* **DSL change**: `:on_transition` renamed to `:after`
|
277
|
+
* **DSL change**: `:on_transition` renamed to `:after`
|
278
|
+
* **DSL change**: transition `:after` binding changed (see [issue #59](https://github.com/aasm/aasm/issues/59), thanks to [@stiff](https://github.com/stiff))
|
279
|
+
* **DSL change**: instance-based events inspection now returns event instances (instead of the event names as symbol)
|
280
|
+
* **DSL change**: instance-based permissible_events has been removed in favor or events(:permissible => true)
|
281
|
+
* **DSL change**: class-based events now returns a list of Event instances (instead of a hash with event names as keys)
|
282
|
+
* **DSL change**: renamed permissible states and events to permitted states events
|
283
|
+
* removed deprecated methods (mostly the ones prefixed with `aasm_`)
|
284
|
+
|
285
|
+
## 3.4.0
|
286
|
+
|
287
|
+
* allow retrieving the current event (`aasm.current_event`) (see [issue #159](https://github.com/aasm/aasm/issues/159) and [issue #168](https://github.com/aasm/aasm/issues/168))
|
288
|
+
|
289
|
+
## 3.3.3
|
290
|
+
|
291
|
+
* bugfix: support reloading development environment in Rails (see [issue #148](https://github.com/aasm/aasm/issues/148))
|
292
|
+
|
293
|
+
## 3.3.2
|
294
|
+
|
295
|
+
* bugfix: avoid conflicts with `failed` and `fired` event names (see [issue #157](https://github.com/aasm/aasm/issues/157)), thanks to [@MichaelXavier](https://github.com/MichaelXavier)
|
296
|
+
* bugfix: not using transactions unless saving to the database (see [issue #162](https://github.com/aasm/aasm/issues/162) and [issue #164](https://github.com/aasm/aasm/issues/164)), thanks to [@roberthoner](https://github.com/roberthoner)
|
297
|
+
* bugfix: `after_commit` should only run if saving to the database (see [issue #151](https://github.com/aasm/aasm/issues/151)), thanks to [@ivantsepp](https://github.com/ivantsepp)
|
298
|
+
|
299
|
+
## 3.3.1
|
300
|
+
|
301
|
+
* bugfix: permissible events will respect given `guards` (see [issue #150](https://github.com/aasm/aasm/issues/150))
|
302
|
+
|
303
|
+
## 3.3.0
|
304
|
+
|
305
|
+
* support for Rails 4.1 enum fields (see [issue #124](https://github.com/aasm/aasm/issues/124), thanks to [@bkon](https://github.com/bkon))
|
306
|
+
* bugfix: allow lazy-evaluation for Rails 3 scopes (see [issue #144](https://github.com/aasm/aasm/issues/144), thanks to [@laurens](https://github.com/laurens))
|
307
|
+
|
308
|
+
## 3.2.1
|
309
|
+
|
310
|
+
* bugfix: permissible_events and events did not contain events with an empty "from" transition (see [issue #140](https://github.com/aasm/aasm/issues/140) and [issue #141](https://github.com/aasm/aasm/issues/141), thanks to [@daniel-rikowski](https://github.com/daniel-rikowski))
|
311
|
+
|
312
|
+
## 3.2.0
|
313
|
+
|
314
|
+
* support [Sequel](http://sequel.jeremyevans.net/) (see [issue #119](https://github.com/aasm/aasm/issues/119), thanks to [@godfat](https://github.com/godfat))
|
315
|
+
* may not fire an unknown event (see [issue #128](https://github.com/aasm/aasm/issues/128)
|
316
|
+
|
317
|
+
## 3.1.1
|
318
|
+
|
319
|
+
* bugfix: don't require ActiveRecord for localizing AASM event and state name (see [issue #113](https://github.com/aasm/aasm/issues/113), thanks to [@silentshade](https://github.com/silentshade))
|
320
|
+
|
321
|
+
## 3.1.0
|
322
|
+
|
323
|
+
* validating the current state (see [issue #95](https://github.com/aasm/aasm/issues/95), thanks to [@ivantsepp](https://github.com/ivantsepp))
|
324
|
+
* allow configuring behavior of nested transactions (see [issue #107](https://github.com/aasm/aasm/issues/107))
|
325
|
+
* support multiple guards per transition
|
326
|
+
* support event guards (see [issue #85](https://github.com/aasm/aasm/issues/85))
|
327
|
+
* support reading from- and to-state during on_transition callback (see [issue #100](https://github.com/aasm/aasm/issues/100))
|
328
|
+
|
329
|
+
## 3.0.26
|
330
|
+
|
331
|
+
* support state.human_name (aliased to state.localized_name) (see [issue #105](https://github.com/aasm/aasm/issues/105))
|
332
|
+
|
333
|
+
## 3.0.25
|
334
|
+
|
335
|
+
* initialize the state even if validation is skipped (for ActiveRecord and Mongoid persistence) (see [issue #103](https://github.com/aasm/aasm/issues/103), thanks to [@vfonic](https://github.com/vfonic) and [@aaronklaassen](https://github.com/aaronklaassen))
|
336
|
+
|
337
|
+
## 3.0.24
|
338
|
+
|
339
|
+
* added support for event blocks (thanks to [@Intrepidd](https://github.com/Intrepidd))
|
340
|
+
|
341
|
+
## 3.0.23
|
342
|
+
|
343
|
+
* added support for `after_commit` callback (transaction support) (thanks to [@tisba](https://github.com/tisba))
|
344
|
+
|
345
|
+
## 3.0.22
|
346
|
+
|
347
|
+
* fixed [issue 88](https://github.com/aasm/aasm/issues/88): wrong number of arguments for transaction method
|
348
|
+
|
349
|
+
## 3.0.21
|
350
|
+
|
351
|
+
* support nested ActiveRecord transactions ([@ozeias](https://github.com/ozeias))
|
352
|
+
* allow overwriting of events, can be very useful with inheritance ([@Intrepidd](https://github.com/Intrepidd))
|
353
|
+
|
354
|
+
## 3.0.20
|
355
|
+
|
356
|
+
* added configuration option to disable automatic scope creation
|
357
|
+
|
358
|
+
## 3.0.19
|
359
|
+
|
360
|
+
* fixed deprecation warning with *Rails 4* (`Relation#update_all` with conditions is deprecated)
|
361
|
+
* fixing [issue #69](https://github.com/aasm/aasm/issues/69) ( *ActiveRecord* scopes are not chainable)
|
362
|
+
|
363
|
+
## 3.0.18
|
364
|
+
|
365
|
+
* fixing [issue #66](https://github.com/aasm/aasm/issues/66) (state methods not reflecting the current state)
|
366
|
+
|
367
|
+
## 3.0.17
|
368
|
+
|
369
|
+
* supporting instance level inspection for states (including permissible state, see [issue #54](https://github.com/aasm/aasm/issues/54))
|
370
|
+
* added autocreation of constants for each state ([@jherdman](https://github.com/jherdman))
|
371
|
+
|
372
|
+
## 3.0.16
|
373
|
+
|
374
|
+
* added autocreation of state scopes for Mongoid (thanks to [@jonnyshields](https://github.com/johnnyshields))
|
375
|
+
|
376
|
+
## 3.0.15
|
377
|
+
|
378
|
+
* added support for localized state names (on a class level, like `Record.aasm.states.map(&:localized_name)`)
|
379
|
+
|
380
|
+
## 3.0.14
|
381
|
+
|
382
|
+
* supporting event inspection for to-states transitions (`Event#transitions_to_state?`)
|
383
|
+
|
384
|
+
## 3.0.13
|
385
|
+
|
386
|
+
* supporting *ActiveRecord* transactions when firing an event
|
387
|
+
|
388
|
+
## 3.0.12
|
389
|
+
|
390
|
+
* `aasm_from_states_for_state` now supports to filter for specific transition
|
391
|
+
|
392
|
+
## 3.0.11
|
393
|
+
|
394
|
+
* added class method `aasm_from_states_for_state` to retrieve all from states (regarding transitions) for a given state
|
395
|
+
|
396
|
+
## 3.0.10
|
397
|
+
|
398
|
+
* added support for transitions from all other states (thanks to [@swrobel](https://github.com/swrobel))
|
399
|
+
|
400
|
+
## 3.0.9
|
401
|
+
|
402
|
+
* guard checks (e.g. `may_edit?`) now support guard parameters as well
|
403
|
+
|
404
|
+
## 3.0.8
|
405
|
+
|
406
|
+
* fixed issue with generating docs using yard
|
407
|
+
|
408
|
+
## 3.0.7
|
409
|
+
|
410
|
+
* removed deprecation warning when localizing aasm state names (look at [issue #38](https://github.com/rubyist/aasm/issues/38) for details)
|
411
|
+
|
412
|
+
## 3.0.6
|
413
|
+
|
414
|
+
* bugfix: if configured to skip validation the code does not validate anymore
|
415
|
+
|
416
|
+
## 3.0.5
|
417
|
+
|
418
|
+
* bugfix: get rid of error with old rubygems versions
|
419
|
+
|
420
|
+
## 3.0.4
|
421
|
+
|
422
|
+
* bugfix: Subclasses of aasm-enabled classes don't lose settings anymore (thanks to codez)
|
423
|
+
|
424
|
+
## 3.0.3
|
425
|
+
|
426
|
+
* bugfix: ActiveRecord scopes are generated when using the new DSL
|
427
|
+
|
428
|
+
## 3.0.2
|
429
|
+
|
430
|
+
* ActiveRecord persistence can ignore validation when trying to save invalid models
|
431
|
+
|
432
|
+
## 3.0.1
|
433
|
+
|
434
|
+
* added support for Mongoid (Thanks, Michał Taberski)
|
435
|
+
|
436
|
+
## 3.0.0
|
437
|
+
|
438
|
+
* switched documentation to the new DSL
|
439
|
+
* whiny transactions: by default, raise an exception if an event transition is not possible
|
440
|
+
* you may disable whiny transactions
|
441
|
+
|
442
|
+
## 2.4.0
|
443
|
+
|
444
|
+
* supporting new DSL (which is much shorter)
|
445
|
+
|
446
|
+
## 2.3.1
|
447
|
+
|
448
|
+
* bugfix: avoid naming conflict with i18n
|
449
|
+
|
450
|
+
## 2.3.0
|
451
|
+
|
452
|
+
* supporting i18n
|
453
|
+
* supporting regular expressions for hash values and strings
|
data/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# Contributor Code of Conduct
|
2
|
+
|
3
|
+
As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
|
4
|
+
|
5
|
+
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.
|
6
|
+
|
7
|
+
Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
|
8
|
+
|
9
|
+
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
|
10
|
+
|
11
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
|
12
|
+
|
13
|
+
This Code of Conduct is adapted from the [Contributor Covenant](http:contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
|
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
## Contributing ##
|
2
|
+
|
3
|
+
While not required to contribute, we recommend [RVM](https://rvm.io/) to manage your rubies.
|
4
|
+
|
5
|
+
1. Read the [Contributor Code of Conduct](https://github.com/aasm/aasm/blob/master/CODE_OF_CONDUCT.md)
|
6
|
+
2. [Fork it](https://help.github.com/articles/about-forks/)
|
7
|
+
3. Clone the project `git clone git@github.com:[YOUR GITHUB USERNAME]/aasm.git`
|
8
|
+
4. `cd aasm`
|
9
|
+
5. Create your feature branch `git checkout -b my-new-feature`
|
10
|
+
6. Write tests for your changes (feature/bug)
|
11
|
+
7. Write your (feature/bugfix)
|
12
|
+
8. Install the dependencies `appraisal install`
|
13
|
+
9. Run the tests `appraisal rspec`
|
14
|
+
10. Commit your changes `git commit -am 'Added some feature'`
|
15
|
+
11. Push to the branch `git push origin my-new-feature`
|
16
|
+
12. Create new [Pull Request](https://help.github.com/articles/creating-a-pull-request/)
|
17
|
+
|
18
|
+
There are some option dependencies as well.
|
19
|
+
|
20
|
+
- [MongoDB server](https://www.mongodb.com/download-center)
|
21
|
+
- [Redis](https://redis.io/topics/quickstart)
|
22
|
+
- [DynamoDB (local)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html)
|
23
|
+
|
24
|
+
If we've missed something please open an [issue](https://github.com/aasm/aasm/issues/new)
|
data/Dockerfile
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
FROM ruby:2.3.4-slim
|
2
|
+
|
3
|
+
LABEL maintainer="AASM"
|
4
|
+
|
5
|
+
ENV DEBIAN_FRONTEND noninteractive
|
6
|
+
|
7
|
+
# ~~~~ System locales ~~~~
|
8
|
+
RUN apt-get update && apt-get install -y locales && \
|
9
|
+
dpkg-reconfigure locales && \
|
10
|
+
locale-gen C.UTF-8 && \
|
11
|
+
/usr/sbin/update-locale LANG=C.UTF-8 && \
|
12
|
+
echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && \
|
13
|
+
locale-gen
|
14
|
+
|
15
|
+
# Set default locale for the environment
|
16
|
+
ENV LC_ALL C.UTF-8
|
17
|
+
ENV LANG en_US.UTF-8
|
18
|
+
ENV LANGUAGE en_US.UTF-8
|
19
|
+
ENV APP_HOME /application
|
20
|
+
|
21
|
+
# ~~~~ Application dependencies ~~~~
|
22
|
+
RUN apt-get update
|
23
|
+
RUN apt-get install -y libsqlite3-dev \
|
24
|
+
build-essential \
|
25
|
+
git
|
26
|
+
|
27
|
+
# ~~~~ Bundler ~~~~
|
28
|
+
RUN gem install bundler
|
29
|
+
|
30
|
+
WORKDIR $APP_HOME
|
31
|
+
RUN mkdir -p $APP_HOME/lib/aasm/
|
32
|
+
|
33
|
+
COPY Gemfile* $APP_HOME/
|
34
|
+
COPY *.gemspec $APP_HOME/
|
35
|
+
COPY lib/aasm/version.rb $APP_HOME/lib/aasm/
|
36
|
+
|
37
|
+
ENV BUNDLE_GEMFILE=$APP_HOME/Gemfile \
|
38
|
+
BUNDLE_JOBS=8 \
|
39
|
+
BUNDLE_PATH=/bundle
|
40
|
+
|
41
|
+
RUN bundle install
|
42
|
+
|
43
|
+
# ~~~~ Import application ~~~~
|
44
|
+
COPY . $APP_HOME
|