can_has_state 0.3.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NDJjMTQyY2ViZWJmYjJkYmI3NjYwYmQ5MDc2ZjhiNjhjMmM1M2NlZA==
5
- data.tar.gz: !binary |-
6
- ZTcwMDBiMDE1NWI0ZDM3MDAzNTE4ZTI1ZWU5MTlmNmE3ZDRlYjQwMg==
2
+ SHA1:
3
+ metadata.gz: 8f5ac5880eb7dde62694993ffa17483b6178f7a8
4
+ data.tar.gz: 642ffbb9ac33405c47ff5abb0ecbc85d1cc68869
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NzQxYzdjYTIxNjhhN2NlMmE2YzkxYzJhOWRjN2U3ODY4ODI5NDVmYTE5OGI0
10
- MGU0YTMwODNhOWQwMTdiNDAwNGU3N2FmZTZlNjI4NzRlODhmZTdlMWU1YTI5
11
- MWVhODc1NWEzZTJkYmIwMTQxZTYwZjllMTc5YjdmYTRjZjNmODI=
12
- data.tar.gz: !binary |-
13
- ODZmOWI2MzdlN2NiMGRmMmQwMjQyYTA1Y2RhN2Q4ZjNlYTQ2Y2NlMmUyNTdm
14
- NmViOGYyNDE2YjkyODI2Y2RiYTZjMDA5NTU1NzY3YTFlODE4Yzg2MjlhYTQ2
15
- MDViOTZiYjBmNDM5ZGQ3ZWNkZmNjOTdlNjkwNDU4ODYzNDUwMjQ=
6
+ metadata.gz: 175d46b7e64d3f0ce1a041d1bd4d1f308b3a4bc49080cbf1818044e0be883760a693c051637146af59dc30d3aff97d7e883ff35632285334e4222cb2c8c9e114
7
+ data.tar.gz: db19b6e893d808e79f810ad032711837073199fc2367454eb9e2b876005a263fdc44a50a43a2e84e91c0f5ec608e3906b914c3b4c129a1f28db88bef3fd81faa
@@ -8,13 +8,13 @@ module CanHasState
8
8
  @column = column_name.to_sym
9
9
  @states = {}
10
10
  @triggers = []
11
- instance_eval &block
11
+ instance_eval(&block)
12
12
  @initial_state ||= @states.keys.first
13
13
  end
14
14
 
15
15
 
16
16
  def extend_machine(&block)
17
- instance_eval &block
17
+ instance_eval(&block)
18
18
  end
19
19
 
20
20
 
@@ -15,7 +15,7 @@ module CanHasState
15
15
  attr_reader(attr) unless respond_to?(attr)
16
16
  has_writer = respond_to?("#{attr}=")
17
17
  define_method "#{attr}=" do |val|
18
- send("#{attr}_will_change!") unless val == instance_variable_get("@#{attr}")
18
+ send("#{attr}_will_change!") unless val == send(attr)
19
19
  has_writer ? super(val) : instance_variable_set("@#{attr}", val)
20
20
  changed_attributes.delete(attr) if attribute_was(attr) == send(attr)
21
21
  end
@@ -15,9 +15,10 @@ module CanHasState
15
15
  end
16
16
 
17
17
  def extend_state_machine(column, &block)
18
- sm = state_machines.detect{|(col, stm)| col == column}
18
+ sm = state_machines.detect{|(col, _)| col == column}
19
+ # |(col, stm)|
19
20
  raise(ArgumentError, "Unknown state machine #{column}") unless sm
20
- sm[1].extend_machine &block
21
+ sm[1].extend_machine(&block)
21
22
  sm
22
23
  end
23
24
 
@@ -97,7 +98,8 @@ module CanHasState
97
98
  end
98
99
 
99
100
  def state_machine_allow?(column, to)
100
- sm = state_machines.detect{|(col, stm)| col == column}
101
+ sm = state_machines.detect{|(col, _)| col == column}
102
+ # |(col, stm)|
101
103
  raise("Unknown state machine #{column}") unless sm
102
104
  sm[1].allow?(self, to)
103
105
  end
@@ -1,3 +1,3 @@
1
1
  module CanHasState
2
- VERSION = '0.3.2'
2
+ VERSION = '0.4.0'
3
3
  end
@@ -70,7 +70,7 @@ class UserPreState2
70
70
  end
71
71
  end
72
72
 
73
- class CanHasStateTest < MiniTest::Unit::TestCase #Minitest::Test
73
+ class CanHasStateTest < Minitest::Test
74
74
 
75
75
  def test_builder_simple
76
76
  refute UserBare.respond_to?(:state_machine)
@@ -224,7 +224,7 @@ class CanHasStateTest < MiniTest::Unit::TestCase #Minitest::Test
224
224
 
225
225
  a.account_state = 'active'
226
226
  a.valid?
227
- assert_match /invalid transition/, a.errors.to_a.first
227
+ assert_match(/invalid transition/, a.errors.to_a.first)
228
228
 
229
229
  a.account_state = 'inactive'
230
230
  assert a.valid?, "Errors: #{a.errors.to_a}"
@@ -232,7 +232,7 @@ class CanHasStateTest < MiniTest::Unit::TestCase #Minitest::Test
232
232
 
233
233
  a.account_state = 'special'
234
234
  a.valid?
235
- assert_match /invalid transition/, a.errors.to_a.first
235
+ assert_match(/invalid transition/, a.errors.to_a.first)
236
236
 
237
237
  a.allow_special = true
238
238
  assert a.valid?, "Errors: #{a.errors.to_a}"
data/test/test_helper.rb CHANGED
@@ -1,4 +1,6 @@
1
1
  require 'minitest/autorun'
2
- require 'turn'
2
+
3
+ require 'minitest/reporters'
4
+ Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new
3
5
 
4
6
  require 'can_has_state'
metadata CHANGED
@@ -1,85 +1,86 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: can_has_state
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - thomas morgan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-13 00:00:00.000000000 Z
11
+ date: 2017-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '4'
20
- - - <
20
+ - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '5.1'
22
+ version: '6'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ! '>='
27
+ - - ">="
28
28
  - !ruby/object:Gem::Version
29
29
  version: '4'
30
- - - <
30
+ - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '5.1'
32
+ version: '6'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: activesupport
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ! '>='
37
+ - - ">="
38
38
  - !ruby/object:Gem::Version
39
39
  version: '4'
40
- - - <
40
+ - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '5.1'
42
+ version: '6'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ! '>='
47
+ - - ">="
48
48
  - !ruby/object:Gem::Version
49
49
  version: '4'
50
- - - <
50
+ - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: '5.1'
52
+ version: '6'
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: minitest
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - ~>
57
+ - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: '4.2'
59
+ version: '0'
60
60
  type: :development
61
61
  prerelease: false
62
62
  version_requirements: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - ~>
64
+ - - ">="
65
65
  - !ruby/object:Gem::Version
66
- version: '4.2'
66
+ version: '0'
67
67
  - !ruby/object:Gem::Dependency
68
- name: turn
68
+ name: minitest-reporters
69
69
  requirement: !ruby/object:Gem::Requirement
70
70
  requirements:
71
- - - ! '>='
71
+ - - ">="
72
72
  - !ruby/object:Gem::Version
73
73
  version: '0'
74
74
  type: :development
75
75
  prerelease: false
76
76
  version_requirements: !ruby/object:Gem::Requirement
77
77
  requirements:
78
- - - ! '>='
78
+ - - ">="
79
79
  - !ruby/object:Gem::Version
80
80
  version: '0'
81
- description: ! "can_has_state is a simplified state machine gem. It relies on ActiveModel
82
- and\n should be compatible with any ActiveModel-compatible persistence layer."
81
+ description: |-
82
+ can_has_state is a simplified state machine gem. It relies on ActiveModel and
83
+ should be compatible with any ActiveModel-compatible persistence layer.
83
84
  email:
84
85
  - tm@iprog.com
85
86
  executables: []
@@ -107,17 +108,17 @@ require_paths:
107
108
  - lib
108
109
  required_ruby_version: !ruby/object:Gem::Requirement
109
110
  requirements:
110
- - - ! '>='
111
+ - - ">="
111
112
  - !ruby/object:Gem::Version
112
113
  version: '0'
113
114
  required_rubygems_version: !ruby/object:Gem::Requirement
114
115
  requirements:
115
- - - ! '>='
116
+ - - ">="
116
117
  - !ruby/object:Gem::Version
117
118
  version: '0'
118
119
  requirements: []
119
120
  rubyforge_project:
120
- rubygems_version: 2.4.6
121
+ rubygems_version: 2.6.12
121
122
  signing_key:
122
123
  specification_version: 4
123
124
  summary: Super simple state machine for ActiveModel