stateful.rb 2.2.0 → 2.3.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.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +43 -1
  3. data/Gemfile +1 -0
  4. data/lib/Stateful/ActiveRecord/ClassMethods.rb +7 -65
  5. data/lib/Stateful/ClassMethods.rb +60 -0
  6. data/lib/Stateful/Poro/ClassMethods.rb +12 -70
  7. data/lib/Stateful/Sequel/ClassMethods.rb +7 -65
  8. data/lib/Stateful/VERSION.rb +1 -1
  9. data/test/ActiveRecord/WithColumnName.rb +1 -4
  10. data/test/ActiveRecord/WithExplicitDeterministicEventOrdering.rb +1 -4
  11. data/test/ActiveRecord/WithExplicitGlobalNonDeterministicEventOrdering.rb +1 -4
  12. data/test/ActiveRecord/WithExplicitGlobalNonDeterministicEventOrderingAndInitialStateBlock.rb +1 -4
  13. data/test/ActiveRecord/WithExplicitNonDeterministicEventOrdering.rb +1 -4
  14. data/test/ActiveRecord/WithInitialStateBlock.rb +1 -4
  15. data/test/ActiveRecord/WithMultipleFinalStates.rb +1 -4
  16. data/test/ActiveRecord/WithMultipleStateMachines.rb +1 -4
  17. data/test/ActiveRecord/WithMultipleStateMachinesAndStatefulBlock.rb +1 -4
  18. data/test/ActiveRecord/WithPersistenceNonSpecificExtend.rb +1 -4
  19. data/test/ActiveRecord/WithPersistenceNonSpecificExtendAndStatefulBlock.rb +1 -4
  20. data/test/ActiveRecord/WithPersistenceSpecificExtend.rb +1 -4
  21. data/test/ActiveRecord/WithPersistenceSpecificExtendAndStatefulBlock.rb +1 -4
  22. data/test/Poro/WithExplicitDeterministicEventOrdering.rb +1 -5
  23. data/test/Poro/WithExplicitGlobalNonDeterministicEventOrdering.rb +1 -5
  24. data/test/Poro/WithExplicitGlobalNonDeterministicEventOrderingAndInitialStateBlock.rb +1 -5
  25. data/test/Poro/WithExplicitNonDeterministicEventOrdering.rb +1 -5
  26. data/test/Poro/WithInitialStateBlock.rb +1 -5
  27. data/test/Poro/WithMultipleFinalStates.rb +1 -5
  28. data/test/Poro/WithMultipleStateMachines.rb +1 -5
  29. data/test/Poro/WithMultipleStateMachinesAndStatefulBlock.rb +1 -5
  30. data/test/Poro/WithPersistenceNonSpecificExtend.rb +1 -5
  31. data/test/Poro/WithPersistenceNonSpecificExtendAndStatefulBlock.rb +1 -5
  32. data/test/Poro/WithPersistenceSpecificExtend.rb +1 -5
  33. data/test/Poro/WithPersistenceSpecificExtendAndStatefulBlock.rb +1 -5
  34. data/test/Poro/WithVariableName.rb +1 -5
  35. data/test/Sequel/WithColumnName.rb +1 -4
  36. data/test/Sequel/WithExplicitDeterministicEventOrdering.rb +1 -4
  37. data/test/Sequel/WithExplicitGlobalNonDeterministicEventOrdering.rb +1 -4
  38. data/test/Sequel/WithExplicitGlobalNonDeterministicEventOrderingAndInitialStateBlock.rb +1 -4
  39. data/test/Sequel/WithExplicitNonDeterministicEventOrdering.rb +1 -4
  40. data/test/Sequel/WithInitialStateBlock.rb +1 -4
  41. data/test/Sequel/WithMultipleFinalStates.rb +1 -4
  42. data/test/Sequel/WithMultipleStateMachines.rb +1 -4
  43. data/test/Sequel/WithMultipleStateMachinesAndStatefulBlock.rb +1 -4
  44. data/test/Sequel/WithPersistenceNonSpecificExtend.rb +1 -4
  45. data/test/Sequel/WithPersistenceNonSpecificExtendAndStatefulBlock.rb +1 -4
  46. data/test/Sequel/WithPersistenceSpecificExtend.rb +1 -4
  47. data/test/Sequel/WithPersistenceSpecificExtendAndStatefulBlock.rb +1 -4
  48. data/test/Stateful.rb +0 -3
  49. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 19870edf42d6c87988172b8041d30496fd4f06c2c47ecb6cfd1d2903ba47f3e5
4
- data.tar.gz: 05f29ff4ddeb5ffe4317b9bc94bf6ee1089fd9c27e88ebb1876512ff05fd3ff6
3
+ metadata.gz: 07c897617cdd223bd354d7f7819341cd8dfd388bf412b479fcac7b757e76d004
4
+ data.tar.gz: 6742bb2396d64fcac9ee8678b32b187d5b020fc2757842bc79f3f790f5a9a26f
5
5
  SHA512:
6
- metadata.gz: 4126dfa52b171f819e7d9144e926c5ffcf8b80a9ad4ee0d2fbae09f61571a1955939a12ad9864d5c4639ab49fecbabc7bed4113a7e13adc1640ac54adf588104
7
- data.tar.gz: cf3ec7be8218914f4f84d1f6a950e2ed42d46bfe5b70c6492d654ee884a2914add13da4cfb630446fd65a7088a2fe61e7cbb2951c470fd4e1bd0c120eda6675a
6
+ metadata.gz: 1b396504ea4e1ad2f9f1e9c8419d8463749321e8e3ab64433c2cbbd7559377b2750a559099d25ab1e02c398cae2b20f3ec380cb27f83498b8808ddb0a7b4cbe0
7
+ data.tar.gz: eaf13d432db2b8df6f7785b009b2c837b434e051e01e318f3e82f497045b0c91af0cf02700f222c372a00478b093c4c98dd3c77f911550393ab8b8b1a89932c7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,47 @@
1
1
  # stateful/CHANGELOG.md
2
2
 
3
+ ## 2.3.1 (20260418): Use require\_relative in tests.
4
+ -----------------------------------------------------------------------------------------------------------------------
5
+
6
+ ### ~
7
+ 1. test/ActiveRecord/\*.rb:
8
+ - /require 'Stateful'/require\_relative '../../lib/Stateful'/
9
+ - /require 'Stateful/ActiveRecord'/require\_relative '../../lib/Stateful/ActiveRecord'/
10
+ (Ensures tests always run against the adjacent lib, not an installed gem.)
11
+ 2. test/Poro/\*.rb:
12
+ - /require 'Stateful'/require\_relative '../../lib/Stateful'/
13
+ - /require 'Stateful/Poro'/require\_relative '../../lib/Stateful/Poro'/
14
+ 3. test/Sequel/\*.rb:
15
+ - /require 'Stateful'/require\_relative '../../lib/Stateful'/
16
+ - /require 'Stateful/Sequel'/require\_relative '../../lib/Stateful/Sequel'/
17
+ 4. test/Stateful.rb: - $LOAD\_PATH manipulation (no longer needed with require\_relative).
18
+ 5. lib/Stateful/VERSION.rb: /2.3.0/2.3.1/
19
+
20
+
21
+ ## 2.3.0 (20260418): Extract shared class methods.
22
+ -----------------------------------------------------------------------------------------------------------------------
23
+
24
+ ### ~
25
+ 1. lib/Stateful/ClassMethods.rb: + shared adapter methods extracted from Poro::ClassMethods, ActiveRecord::ClassMethods, Sequel::ClassMethods. All adapters now delegate to stateful\_attribute\_name\_for\_machine.
26
+ - define\_named\_machine\_methods
27
+ - define\_event\_method
28
+ - define\_status\_predicate\_method
29
+ - define\_next\_state\_method
30
+ - define\_transitions\_method
31
+ - define\_initial\_stateQ\_method
32
+ - define\_final\_stateQ\_method
33
+ 2. lib/Stateful/ActiveRecord/ClassMethods.rb:
34
+ - Extracted shared adapter methods to Stateful::ClassMethods.
35
+ - /column_name_for_machine/stateful\_attribute_name\_for\_machine/
36
+ 3. lib/Stateful/Poro/ClassMethods.rb: Extracted shared adapter methods to Stateful::ClassMethods.
37
+ - Extracted shared adapter methods to Stateful::ClassMethods.
38
+ - /variable_name_for_machine/stateful\_attribute_name\_for\_machine/
39
+ 4. lib/Stateful/Sequel/ClassMethods.rb: Extracted shared adapter methods to Stateful::ClassMethods.
40
+ - Extracted shared adapter methods to Stateful::ClassMethods.
41
+ - /column_name_for_machine/stateful\_attribute_name\_for\_machine/
42
+ 5. lib/Stateful/VERSION.rb: /2.2.0/2.3.0/
43
+
44
+
3
45
  ## 2.2.0 (20260418): Add Sequel support.
4
46
  -----------------------------------------------------------------------------------------------------------------------
5
47
 
@@ -24,7 +66,7 @@
24
66
 
25
67
  ### ~
26
68
  1. lib/Stateful.rb: Auto-detect Sequel::Model in Stateful.extended, between ActiveRecord and Poro.
27
- 2. test/Stateful.rb: + Sequel specs
69
+ 2. test/Stateful.rb: + Sequel specs; - $LOAD\_PATH.unshift(test\_dir) to avoid case-insensitive collision between test/Sequel.rb and require 'sequel'.
28
70
  3. stateful.rb.gemspec: + sequel dev dependency; update description to include Sequel.
29
71
  4. lib/Stateful/VERSION.rb: /2.1.0/2.2.0/
30
72
 
data/Gemfile CHANGED
@@ -1,2 +1,3 @@
1
1
  source 'https://www.rubygems.org'
2
+
2
3
  gemspec
@@ -6,8 +6,8 @@ module Stateful
6
6
  module ClassMethods
7
7
  class << self
8
8
  def extended(klass)
9
- klass.define_stateful_column_name_setter_method
10
- klass.define_stateful_column_name_getter_method
9
+ klass.define_stateful_attribute_setter_method
10
+ klass.define_stateful_attribute_getter_method
11
11
  klass.define_next_state_method
12
12
  klass.define_transitions_method
13
13
  klass.define_initial_stateQ_method
@@ -15,15 +15,6 @@ module Stateful
15
15
  end
16
16
  end # class << self
17
17
 
18
- def define_named_machine_methods(machine_name)
19
- define_stateful_column_name_setter_method(machine_name: machine_name)
20
- define_stateful_column_name_getter_method(machine_name: machine_name)
21
- define_next_state_method(machine_name: machine_name)
22
- define_transitions_method(machine_name: machine_name)
23
- define_initial_stateQ_method(machine_name: machine_name)
24
- define_final_stateQ_method(machine_name: machine_name)
25
- end
26
-
27
18
  def stateful_column_name=(stateful_column_name)
28
19
  @stateful_column_name = stateful_column_name
29
20
  end
@@ -32,7 +23,7 @@ module Stateful
32
23
  @stateful_column_name
33
24
  end
34
25
 
35
- def column_name_for_machine(machine_name = nil)
26
+ def stateful_attribute_name_for_machine(machine_name = nil)
36
27
  if machine_name
37
28
  "#{machine_name}_state"
38
29
  else
@@ -40,24 +31,8 @@ module Stateful
40
31
  end
41
32
  end
42
33
 
43
- def define_event_method(transition, machine_name: nil)
44
- stateful_column_name = column_name_for_machine(machine_name)
45
- define_method(transition.event_name) do
46
- next_state_name = self.send(stateful_column_name).next_state_name(transition.event_name)
47
- next_state = self.class.stateful_state_machine(machine_name).find(next_state_name)
48
- self.send("#{stateful_column_name}=", next_state)
49
- end
50
- end
51
-
52
- def define_status_predicate_method(state_name, machine_name: nil)
53
- stateful_column_name = column_name_for_machine(machine_name)
54
- define_method("#{state_name}?") do
55
- self.send(stateful_column_name).name == state_name
56
- end
57
- end
58
-
59
- def define_stateful_column_name_setter_method(machine_name: nil)
60
- stateful_column_name = column_name_for_machine(machine_name)
34
+ def define_stateful_attribute_setter_method(machine_name: nil)
35
+ stateful_column_name = stateful_attribute_name_for_machine(machine_name)
61
36
  define_method("#{stateful_column_name}=") do |state|
62
37
  instance_variable_set("@#{stateful_column_name}", self.class.stateful_state_machine(machine_name).find(state))
63
38
  write_attribute(stateful_column_name, instance_variable_get("@#{stateful_column_name}").name)
@@ -66,8 +41,8 @@ module Stateful
66
41
  end
67
42
  end
68
43
 
69
- def define_stateful_column_name_getter_method(machine_name: nil)
70
- stateful_column_name = column_name_for_machine(machine_name)
44
+ def define_stateful_attribute_getter_method(machine_name: nil)
45
+ stateful_column_name = stateful_attribute_name_for_machine(machine_name)
71
46
  define_method(stateful_column_name) do
72
47
  instance_variable_set("@#{stateful_column_name}", self.class.stateful_state_machine(machine_name).find(read_attribute(stateful_column_name)))
73
48
  if state = instance_variable_get("@#{stateful_column_name}")
@@ -79,39 +54,6 @@ module Stateful
79
54
  end
80
55
  end
81
56
  end
82
-
83
- def define_next_state_method(machine_name: nil)
84
- stateful_column_name = column_name_for_machine(machine_name)
85
- method_name = machine_name ? "#{machine_name}_next_state" : :next_state
86
- define_method(method_name) do |event_name|
87
- next_state_name = self.send(stateful_column_name).next_state_name(event_name)
88
- self.class.stateful_state_machine(machine_name).find(next_state_name)
89
- end
90
- end
91
-
92
- def define_transitions_method(machine_name: nil)
93
- stateful_column_name = column_name_for_machine(machine_name)
94
- method_name = machine_name ? "#{machine_name}_transitions" : :transitions
95
- define_method(method_name) do
96
- self.send(stateful_column_name).transitions
97
- end
98
- end
99
-
100
- def define_initial_stateQ_method(machine_name: nil)
101
- stateful_column_name = column_name_for_machine(machine_name)
102
- method_name = machine_name ? "#{machine_name}_initial_state?" : :initial_state?
103
- define_method(method_name) do
104
- self.send(stateful_column_name) == self.class.stateful_state_machine(machine_name).initial_state
105
- end
106
- end
107
-
108
- def define_final_stateQ_method(machine_name: nil)
109
- stateful_column_name = column_name_for_machine(machine_name)
110
- method_name = machine_name ? "#{machine_name}_final_state?" : :final_state?
111
- define_method(method_name) do
112
- self.class.stateful_state_machine(machine_name).final_states.include?(self.send(stateful_column_name))
113
- end
114
- end
115
57
  end
116
58
  end
117
59
  end
@@ -51,6 +51,66 @@ module Stateful
51
51
 
52
52
  # end DSL
53
53
 
54
+ # adapter methods
55
+
56
+ def define_named_machine_methods(machine_name)
57
+ define_stateful_attribute_setter_method(machine_name: machine_name)
58
+ define_stateful_attribute_getter_method(machine_name: machine_name)
59
+ define_next_state_method(machine_name: machine_name)
60
+ define_transitions_method(machine_name: machine_name)
61
+ define_initial_stateQ_method(machine_name: machine_name)
62
+ define_final_stateQ_method(machine_name: machine_name)
63
+ end
64
+
65
+ def define_event_method(transition, machine_name: nil)
66
+ attribute_name = stateful_attribute_name_for_machine(machine_name)
67
+ define_method(transition.event_name) do
68
+ next_state_name = self.send(attribute_name).next_state_name(transition.event_name)
69
+ next_state = self.class.stateful_state_machine(machine_name).find(next_state_name)
70
+ self.send("#{attribute_name}=", next_state)
71
+ end
72
+ end
73
+
74
+ def define_status_predicate_method(state_name, machine_name: nil)
75
+ attribute_name = stateful_attribute_name_for_machine(machine_name)
76
+ define_method("#{state_name}?") do
77
+ self.send(attribute_name).name == state_name
78
+ end
79
+ end
80
+
81
+ def define_next_state_method(machine_name: nil)
82
+ attribute_name = stateful_attribute_name_for_machine(machine_name)
83
+ method_name = machine_name ? "#{machine_name}_next_state" : :next_state
84
+ define_method(method_name) do |event_name|
85
+ next_state_name = self.send(attribute_name).next_state_name(event_name)
86
+ self.class.stateful_state_machine(machine_name).find(next_state_name)
87
+ end
88
+ end
89
+
90
+ def define_transitions_method(machine_name: nil)
91
+ attribute_name = stateful_attribute_name_for_machine(machine_name)
92
+ method_name = machine_name ? "#{machine_name}_transitions" : :transitions
93
+ define_method(method_name) do
94
+ self.send(attribute_name).transitions
95
+ end
96
+ end
97
+
98
+ def define_initial_stateQ_method(machine_name: nil)
99
+ attribute_name = stateful_attribute_name_for_machine(machine_name)
100
+ method_name = machine_name ? "#{machine_name}_initial_state?" : :initial_state?
101
+ define_method(method_name) do
102
+ self.send(attribute_name) == self.class.stateful_state_machine(machine_name).initial_state
103
+ end
104
+ end
105
+
106
+ def define_final_stateQ_method(machine_name: nil)
107
+ attribute_name = stateful_attribute_name_for_machine(machine_name)
108
+ method_name = machine_name ? "#{machine_name}_final_state?" : :final_state?
109
+ define_method(method_name) do
110
+ self.class.stateful_state_machine(machine_name).final_states.include?(self.send(attribute_name))
111
+ end
112
+ end
113
+
54
114
  # predicate methods
55
115
 
56
116
  def final_state?
@@ -6,8 +6,8 @@ module Stateful
6
6
  module ClassMethods
7
7
  class << self
8
8
  def extended(klass)
9
- klass.define_stateful_variable_name_setter_method
10
- klass.define_stateful_variable_name_getter_method
9
+ klass.define_stateful_attribute_setter_method
10
+ klass.define_stateful_attribute_getter_method
11
11
  klass.define_next_state_method
12
12
  klass.define_transitions_method
13
13
  klass.define_initial_stateQ_method
@@ -15,15 +15,6 @@ module Stateful
15
15
  end
16
16
  end # class << self
17
17
 
18
- def define_named_machine_methods(machine_name)
19
- define_stateful_variable_name_setter_method(machine_name: machine_name)
20
- define_stateful_variable_name_getter_method(machine_name: machine_name)
21
- define_next_state_method(machine_name: machine_name)
22
- define_transitions_method(machine_name: machine_name)
23
- define_initial_stateQ_method(machine_name: machine_name)
24
- define_final_stateQ_method(machine_name: machine_name)
25
- end
26
-
27
18
  def stateful_variable_name=(stateful_variable_name)
28
19
  @stateful_variable_name = stateful_variable_name
29
20
  end
@@ -32,7 +23,7 @@ module Stateful
32
23
  @stateful_variable_name
33
24
  end
34
25
 
35
- def variable_name_for_machine(machine_name = nil)
26
+ def stateful_attribute_name_for_machine(machine_name = nil)
36
27
  if machine_name
37
28
  "#{machine_name}_state"
38
29
  else
@@ -40,74 +31,25 @@ module Stateful
40
31
  end
41
32
  end
42
33
 
43
- def define_event_method(transition, machine_name: nil)
44
- variable_name = variable_name_for_machine(machine_name)
45
- define_method(transition.event_name) do
46
- next_state_name = self.send(variable_name).next_state_name(transition.event_name)
47
- next_state = self.class.stateful_state_machine(machine_name).find(next_state_name)
48
- self.send("#{variable_name}=", next_state)
49
- end
50
- end
51
-
52
- def define_status_predicate_method(state_name, machine_name: nil)
53
- variable_name = variable_name_for_machine(machine_name)
54
- define_method("#{state_name}?") do
55
- self.send(variable_name).name == state_name
34
+ def define_stateful_attribute_setter_method(machine_name: nil)
35
+ attribute_name = stateful_attribute_name_for_machine(machine_name)
36
+ define_method("#{attribute_name}=") do |state|
37
+ instance_variable_set("@#{attribute_name}", self.class.stateful_state_machine(machine_name).find(state))
56
38
  end
57
39
  end
58
40
 
59
- def define_stateful_variable_name_setter_method(machine_name: nil)
60
- variable_name = variable_name_for_machine(machine_name)
61
- define_method("#{variable_name}=") do |state|
62
- instance_variable_set("@#{variable_name}", self.class.stateful_state_machine(machine_name).find(state))
63
- end
64
- end
65
-
66
- def define_stateful_variable_name_getter_method(machine_name: nil)
67
- variable_name = variable_name_for_machine(machine_name)
68
- define_method(variable_name) do
69
- if state = instance_variable_get("@#{variable_name}")
41
+ def define_stateful_attribute_getter_method(machine_name: nil)
42
+ attribute_name = stateful_attribute_name_for_machine(machine_name)
43
+ define_method(attribute_name) do
44
+ if state = instance_variable_get("@#{attribute_name}")
70
45
  state
71
46
  else
72
47
  initial_state = self.class.stateful_state_machine(machine_name).initial_state
73
- self.send("#{variable_name}=", initial_state.name)
48
+ self.send("#{attribute_name}=", initial_state.name)
74
49
  initial_state
75
50
  end
76
51
  end
77
52
  end
78
-
79
- def define_next_state_method(machine_name: nil)
80
- variable_name = variable_name_for_machine(machine_name)
81
- method_name = machine_name ? "#{machine_name}_next_state" : :next_state
82
- define_method(method_name) do |event_name|
83
- next_state_name = self.send(variable_name).next_state_name(event_name)
84
- self.class.stateful_state_machine(machine_name).find(next_state_name)
85
- end
86
- end
87
-
88
- def define_transitions_method(machine_name: nil)
89
- variable_name = variable_name_for_machine(machine_name)
90
- method_name = machine_name ? "#{machine_name}_transitions" : :transitions
91
- define_method(method_name) do
92
- self.send(variable_name).transitions
93
- end
94
- end
95
-
96
- def define_initial_stateQ_method(machine_name: nil)
97
- variable_name = variable_name_for_machine(machine_name)
98
- method_name = machine_name ? "#{machine_name}_initial_state?" : :initial_state?
99
- define_method(method_name) do
100
- self.send(variable_name) == self.class.stateful_state_machine(machine_name).initial_state
101
- end
102
- end
103
-
104
- def define_final_stateQ_method(machine_name: nil)
105
- variable_name = variable_name_for_machine(machine_name)
106
- method_name = machine_name ? "#{machine_name}_final_state?" : :final_state?
107
- define_method(method_name) do
108
- self.class.stateful_state_machine(machine_name).final_states.include?(self.send(variable_name))
109
- end
110
- end
111
53
  end
112
54
  end
113
55
  end
@@ -6,8 +6,8 @@ module Stateful
6
6
  module ClassMethods
7
7
  class << self
8
8
  def extended(klass)
9
- klass.define_stateful_column_name_setter_method
10
- klass.define_stateful_column_name_getter_method
9
+ klass.define_stateful_attribute_setter_method
10
+ klass.define_stateful_attribute_getter_method
11
11
  klass.define_next_state_method
12
12
  klass.define_transitions_method
13
13
  klass.define_initial_stateQ_method
@@ -15,15 +15,6 @@ module Stateful
15
15
  end
16
16
  end # class << self
17
17
 
18
- def define_named_machine_methods(machine_name)
19
- define_stateful_column_name_setter_method(machine_name: machine_name)
20
- define_stateful_column_name_getter_method(machine_name: machine_name)
21
- define_next_state_method(machine_name: machine_name)
22
- define_transitions_method(machine_name: machine_name)
23
- define_initial_stateQ_method(machine_name: machine_name)
24
- define_final_stateQ_method(machine_name: machine_name)
25
- end
26
-
27
18
  def stateful_column_name=(stateful_column_name)
28
19
  @stateful_column_name = stateful_column_name
29
20
  end
@@ -32,7 +23,7 @@ module Stateful
32
23
  @stateful_column_name
33
24
  end
34
25
 
35
- def column_name_for_machine(machine_name = nil)
26
+ def stateful_attribute_name_for_machine(machine_name = nil)
36
27
  if machine_name
37
28
  "#{machine_name}_state"
38
29
  else
@@ -40,24 +31,8 @@ module Stateful
40
31
  end
41
32
  end
42
33
 
43
- def define_event_method(transition, machine_name: nil)
44
- stateful_column_name = column_name_for_machine(machine_name)
45
- define_method(transition.event_name) do
46
- next_state_name = self.send(stateful_column_name).next_state_name(transition.event_name)
47
- next_state = self.class.stateful_state_machine(machine_name).find(next_state_name)
48
- self.send("#{stateful_column_name}=", next_state)
49
- end
50
- end
51
-
52
- def define_status_predicate_method(state_name, machine_name: nil)
53
- stateful_column_name = column_name_for_machine(machine_name)
54
- define_method("#{state_name}?") do
55
- self.send(stateful_column_name).name == state_name
56
- end
57
- end
58
-
59
- def define_stateful_column_name_setter_method(machine_name: nil)
60
- stateful_column_name = column_name_for_machine(machine_name)
34
+ def define_stateful_attribute_setter_method(machine_name: nil)
35
+ stateful_column_name = stateful_attribute_name_for_machine(machine_name)
61
36
  define_method("#{stateful_column_name}=") do |state|
62
37
  instance_variable_set("@#{stateful_column_name}", self.class.stateful_state_machine(machine_name).find(state))
63
38
  self[stateful_column_name.to_sym] = instance_variable_get("@#{stateful_column_name}").name.to_s
@@ -66,8 +41,8 @@ module Stateful
66
41
  end
67
42
  end
68
43
 
69
- def define_stateful_column_name_getter_method(machine_name: nil)
70
- stateful_column_name = column_name_for_machine(machine_name)
44
+ def define_stateful_attribute_getter_method(machine_name: nil)
45
+ stateful_column_name = stateful_attribute_name_for_machine(machine_name)
71
46
  define_method(stateful_column_name) do
72
47
  instance_variable_set("@#{stateful_column_name}", self.class.stateful_state_machine(machine_name).find(self[stateful_column_name.to_sym]))
73
48
  if state = instance_variable_get("@#{stateful_column_name}")
@@ -79,39 +54,6 @@ module Stateful
79
54
  end
80
55
  end
81
56
  end
82
-
83
- def define_next_state_method(machine_name: nil)
84
- stateful_column_name = column_name_for_machine(machine_name)
85
- method_name = machine_name ? "#{machine_name}_next_state" : :next_state
86
- define_method(method_name) do |event_name|
87
- next_state_name = self.send(stateful_column_name).next_state_name(event_name)
88
- self.class.stateful_state_machine(machine_name).find(next_state_name)
89
- end
90
- end
91
-
92
- def define_transitions_method(machine_name: nil)
93
- stateful_column_name = column_name_for_machine(machine_name)
94
- method_name = machine_name ? "#{machine_name}_transitions" : :transitions
95
- define_method(method_name) do
96
- self.send(stateful_column_name).transitions
97
- end
98
- end
99
-
100
- def define_initial_stateQ_method(machine_name: nil)
101
- stateful_column_name = column_name_for_machine(machine_name)
102
- method_name = machine_name ? "#{machine_name}_initial_state?" : :initial_state?
103
- define_method(method_name) do
104
- self.send(stateful_column_name) == self.class.stateful_state_machine(machine_name).initial_state
105
- end
106
- end
107
-
108
- def define_final_stateQ_method(machine_name: nil)
109
- stateful_column_name = column_name_for_machine(machine_name)
110
- method_name = machine_name ? "#{machine_name}_final_state?" : :final_state?
111
- define_method(method_name) do
112
- self.class.stateful_state_machine(machine_name).final_states.include?(self.send(stateful_column_name))
113
- end
114
- end
115
57
  end
116
58
  end
117
59
  end
@@ -1,3 +1,3 @@
1
1
  module Stateful
2
- VERSION = '2.2.0'
2
+ VERSION = '2.3.1'
3
3
  end
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  class CreateTableMachines < ActiveRecord::Migration[6.0]
17
14
  def change
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  class CreateTableMachines < ActiveRecord::Migration[6.0]
17
14
  def change
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  class CreateTableMachines < ActiveRecord::Migration[6.0]
17
14
  def change
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  class CreateTableMachines < ActiveRecord::Migration[6.0]
17
14
  def change
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  class CreateTableMachines < ActiveRecord::Migration[6.0]
17
14
  def change
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  class CreateTableMachines < ActiveRecord::Migration[6.0]
17
14
  def change
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  class CreateTableMachines < ActiveRecord::Migration[6.0]
17
14
  def change
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  class CreateTableMachines < ActiveRecord::Migration[6.0]
17
14
  def change
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  class CreateTableMachines < ActiveRecord::Migration[6.0]
17
14
  def change
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  class CreateTableMachines < ActiveRecord::Migration[6.0]
17
14
  def change
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  class CreateTableMachines < ActiveRecord::Migration[6.0]
17
14
  def change
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful/ActiveRecord'
11
+ require_relative '../../lib/Stateful/ActiveRecord'
15
12
 
16
13
  class CreateTableMachines < ActiveRecord::Migration[6.0]
17
14
  def change
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful/ActiveRecord'
11
+ require_relative '../../lib/Stateful/ActiveRecord'
15
12
 
16
13
  class CreateTableMachines < ActiveRecord::Migration[6.0]
17
14
  def change
@@ -5,11 +5,7 @@ gem 'minitest-spec-context'
5
5
 
6
6
  require 'minitest/autorun'
7
7
  require 'minitest-spec-context'
8
-
9
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
10
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
11
-
12
- require 'Stateful'
8
+ require_relative '../../lib/Stateful'
13
9
 
14
10
  class PoroMachine5
15
11
  extend Stateful
@@ -5,11 +5,7 @@ gem 'minitest-spec-context'
5
5
 
6
6
  require 'minitest/autorun'
7
7
  require 'minitest-spec-context'
8
-
9
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
10
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
11
-
12
- require 'Stateful'
8
+ require_relative '../../lib/Stateful'
13
9
 
14
10
  class PoroMachine9
15
11
  extend Stateful
@@ -5,11 +5,7 @@ gem 'minitest-spec-context'
5
5
 
6
6
  require 'minitest/autorun'
7
7
  require 'minitest-spec-context'
8
-
9
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
10
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
11
-
12
- require 'Stateful'
8
+ require_relative '../../lib/Stateful'
13
9
 
14
10
  class PoroMachine10
15
11
  extend Stateful
@@ -5,11 +5,7 @@ gem 'minitest-spec-context'
5
5
 
6
6
  require 'minitest/autorun'
7
7
  require 'minitest-spec-context'
8
-
9
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
10
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
11
-
12
- require 'Stateful'
8
+ require_relative '../../lib/Stateful'
13
9
 
14
10
  class PoroMachine6
15
11
  extend Stateful
@@ -5,11 +5,7 @@ gem 'minitest-spec-context'
5
5
 
6
6
  require 'minitest/autorun'
7
7
  require 'minitest-spec-context'
8
-
9
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
10
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
11
-
12
- require 'Stateful'
8
+ require_relative '../../lib/Stateful'
13
9
 
14
10
  class PoroMachine4
15
11
  extend Stateful
@@ -5,11 +5,7 @@ gem 'minitest-spec-context'
5
5
 
6
6
  require 'minitest/autorun'
7
7
  require 'minitest-spec-context'
8
-
9
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
10
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
11
-
12
- require 'Stateful'
8
+ require_relative '../../lib/Stateful'
13
9
 
14
10
  class PoroMachine7
15
11
  extend Stateful
@@ -5,11 +5,7 @@ gem 'minitest-spec-context'
5
5
 
6
6
  require 'minitest/autorun'
7
7
  require 'minitest-spec-context'
8
-
9
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
10
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
11
-
12
- require 'Stateful'
8
+ require_relative '../../lib/Stateful'
13
9
 
14
10
  class PoroMachine11
15
11
  extend Stateful
@@ -5,11 +5,7 @@ gem 'minitest-spec-context'
5
5
 
6
6
  require 'minitest/autorun'
7
7
  require 'minitest-spec-context'
8
-
9
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
10
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
11
-
12
- require 'Stateful'
8
+ require_relative '../../lib/Stateful'
13
9
 
14
10
  class PoroMachine12
15
11
  extend Stateful
@@ -5,11 +5,7 @@ gem 'minitest-spec-context'
5
5
 
6
6
  require 'minitest/autorun'
7
7
  require 'minitest-spec-context'
8
-
9
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
10
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
11
-
12
- require 'Stateful'
8
+ require_relative '../../lib/Stateful'
13
9
 
14
10
  class PoroMachine0
15
11
  extend Stateful
@@ -5,11 +5,7 @@ gem 'minitest-spec-context'
5
5
 
6
6
  require 'minitest/autorun'
7
7
  require 'minitest-spec-context'
8
-
9
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
10
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
11
-
12
- require 'Stateful'
8
+ require_relative '../../lib/Stateful'
13
9
 
14
10
  class PoroMachine1
15
11
  extend Stateful
@@ -5,11 +5,7 @@ gem 'minitest-spec-context'
5
5
 
6
6
  require 'minitest/autorun'
7
7
  require 'minitest-spec-context'
8
-
9
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
10
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
11
-
12
- require 'Stateful/Poro'
8
+ require_relative '../../lib/Stateful/Poro'
13
9
 
14
10
  class PoroMachine2
15
11
  extend Stateful::Poro
@@ -5,11 +5,7 @@ gem 'minitest-spec-context'
5
5
 
6
6
  require 'minitest/autorun'
7
7
  require 'minitest-spec-context'
8
-
9
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
10
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
11
-
12
- require 'Stateful/Poro'
8
+ require_relative '../../lib/Stateful/Poro'
13
9
 
14
10
  class PoroMachine3
15
11
  extend Stateful::Poro
@@ -5,11 +5,7 @@ gem 'minitest-spec-context'
5
5
 
6
6
  require 'minitest/autorun'
7
7
  require 'minitest-spec-context'
8
-
9
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
10
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
11
-
12
- require 'Stateful'
8
+ require_relative '../../lib/Stateful'
13
9
 
14
10
  class PoroMachine8
15
11
  @stateful_variable_name = 'status'
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  DB.create_table :sequel_machine8s do
17
14
  primary_key :id
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  DB.create_table :sequel_machine5s do
17
14
  primary_key :id
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  DB.create_table :sequel_machine9s do
17
14
  primary_key :id
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  DB.create_table :sequel_machine10s do
17
14
  primary_key :id
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  DB.create_table :sequel_machine6s do
17
14
  primary_key :id
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  DB.create_table :sequel_machine4s do
17
14
  primary_key :id
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  DB.create_table :sequel_machine7s do
17
14
  primary_key :id
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  DB.create_table :sequel_machine11s do
17
14
  primary_key :id
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  DB.create_table :sequel_machine12s do
17
14
  primary_key :id
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  DB.create_table :sequel_machine0s do
17
14
  primary_key :id
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful'
11
+ require_relative '../../lib/Stateful'
15
12
 
16
13
  DB.create_table :sequel_machine1s do
17
14
  primary_key :id
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful/Sequel'
11
+ require_relative '../../lib/Stateful/Sequel'
15
12
 
16
13
  DB.create_table :sequel_machine2s do
17
14
  primary_key :id
@@ -8,10 +8,7 @@ require 'minitest-spec-context'
8
8
 
9
9
  require_relative './test_helper'
10
10
 
11
- lib_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', 'lib'))
12
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
13
-
14
- require 'Stateful/Sequel'
11
+ require_relative '../../lib/Stateful/Sequel'
15
12
 
16
13
  DB.create_table :sequel_machine3s do
17
14
  primary_key :id
data/test/Stateful.rb CHANGED
@@ -2,9 +2,6 @@
2
2
 
3
3
  test_dir = File.dirname(File.expand_path(__FILE__))
4
4
 
5
- lib_dir = File.expand_path(File.join(test_dir, '..', 'lib'))
6
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
7
-
8
5
  active_record_specs = Dir[File.join(test_dir, 'ActiveRecord', '**', '*.rb')]
9
6
  active_record_specs.each{|spec| require spec}
10
7
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stateful.rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - thoran