state_machines-activerecord 0.5.1 → 0.5.2
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 11815a499f4deef7d5f2c64ab0bbb7fd4b18a17110c0f4fa33a607bd764928e5
|
4
|
+
data.tar.gz: 4c5de06c1603fee79e66b2efd2549946f9e047f1bf1c772859c281d16379bf57
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c325ff584ecf667665c5b94b9769b449a01e80a45f7d8045e05351167381d62251d01ccff4686a5e2429b6776ffb692dbf97cf885aa74c1a72c117d71579fe52
|
7
|
+
data.tar.gz: d648a81589482a9076d33fab2d9b3eed8bf0a36bb3f30daaee12634cf7d7f87ed7e8a85f7f3424eadc4676fccfd333f33fd1bdd4e9ec4b91651f4f8b6a8cbb50
|
data/README.md
CHANGED
@@ -6,10 +6,6 @@
|
|
6
6
|
The Active Record 4.1+ integration adds support for database transactions, automatically
|
7
7
|
saving the record, named scopes, validation errors.
|
8
8
|
|
9
|
-
## Dependencies
|
10
|
-
|
11
|
-
Active Record 4.1+
|
12
|
-
|
13
9
|
## Installation
|
14
10
|
|
15
11
|
Add this line to your application's Gemfile:
|
@@ -26,6 +22,10 @@ Or install it yourself as:
|
|
26
22
|
|
27
23
|
## Usage
|
28
24
|
|
25
|
+
For the complete usage guide, see http://www.rubydoc.info/github/state-machines/state_machines-activerecord/StateMachines/Integrations/ActiveRecord
|
26
|
+
|
27
|
+
### Example
|
28
|
+
|
29
29
|
```ruby
|
30
30
|
class Vehicle < ActiveRecord::Base
|
31
31
|
state_machine :initial => :parked do
|
@@ -460,7 +460,9 @@ module StateMachines
|
|
460
460
|
define_helper :instance, <<-end_eval, __FILE__, __LINE__ + 1
|
461
461
|
def initialize(attributes = nil)
|
462
462
|
super(attributes) do |*args|
|
463
|
-
|
463
|
+
scoped_attributes = (attributes || {}).merge(self.class.scope_attributes)
|
464
|
+
|
465
|
+
self.class.state_machines.initialize_states(self, {}, scoped_attributes)
|
464
466
|
yield(*args) if block_given?
|
465
467
|
end
|
466
468
|
end
|
@@ -468,8 +470,10 @@ module StateMachines
|
|
468
470
|
elsif ::ActiveRecord.gem_version >= Gem::Version.new('4.2')
|
469
471
|
define_helper :instance, <<-end_eval, __FILE__, __LINE__ + 1
|
470
472
|
def initialize(attributes = nil, options = {})
|
473
|
+
scoped_attributes = (attributes || {}).merge(self.class.scope_attributes)
|
474
|
+
|
471
475
|
super(attributes, options) do |*args|
|
472
|
-
self.class.state_machines.initialize_states(self, {},
|
476
|
+
self.class.state_machines.initialize_states(self, {}, scoped_attributes)
|
473
477
|
yield(*args) if block_given?
|
474
478
|
end
|
475
479
|
end
|
@@ -492,8 +496,10 @@ module StateMachines
|
|
492
496
|
# Initializes dynamic states
|
493
497
|
define_helper :instance, <<-end_eval, __FILE__, __LINE__ + 1
|
494
498
|
def initialize(attributes = nil, options = {})
|
499
|
+
scoped_attributes = (attributes || {}).merge(self.class.scope_attributes)
|
500
|
+
|
495
501
|
super(attributes, options) do |*args|
|
496
|
-
self.class.state_machines.initialize_states(self, {},
|
502
|
+
self.class.state_machines.initialize_states(self, {}, scoped_attributes)
|
497
503
|
yield(*args) if block_given?
|
498
504
|
end
|
499
505
|
end
|
@@ -27,6 +27,12 @@ class MachineWithInitializedStateTest < BaseTestCase
|
|
27
27
|
assert_equal 'idling', record.state
|
28
28
|
end
|
29
29
|
|
30
|
+
def test_should_allow_different_initial_state_when_using_create_with
|
31
|
+
record = @model.create_with(state: 'idling').new
|
32
|
+
|
33
|
+
assert_equal 'idling', record.state
|
34
|
+
end
|
35
|
+
|
30
36
|
def test_should_allow_different_initial_state_when_dynamic
|
31
37
|
@machine.initial_state = lambda { :parked }
|
32
38
|
record = @model.new(:state => 'idling')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: state_machines-activerecord
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Abdelkader Boudih
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-10-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: state_machines-activemodel
|
@@ -214,7 +214,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
214
214
|
version: '0'
|
215
215
|
requirements: []
|
216
216
|
rubyforge_project:
|
217
|
-
rubygems_version: 2.7.
|
217
|
+
rubygems_version: 2.7.6
|
218
218
|
signing_key:
|
219
219
|
specification_version: 4
|
220
220
|
summary: State machines Active Record Integration
|