can_has_state 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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