statesman 2.0.0 → 2.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 61f598e4190a05d2e32ef11247ede6d8e4688aa4
4
- data.tar.gz: c15948c3ca18fc6b5ccf5aee6780cddff80c8893
3
+ metadata.gz: e4180ca332c6a592c0e0816d6b4f718aaf4fa423
4
+ data.tar.gz: a61d0a4cd39ed4712092855d61a8ec06bf2e0cbb
5
5
  SHA512:
6
- metadata.gz: 8720300f61e6dc672a0c8f96c650f08d387975402f12c10fd7c05deba610a1b9624084bf127a5729a32f98bd188aecf448e341bb4b281debfdda77b2e5cc8462
7
- data.tar.gz: 6d51847d3d1a3a85cec09e3c7a23ff98c432e4acd7d670bb35d56d5051997aad2c8014474ce98f1848151b0c4a281a19b6af9d1c78d79b73170009d17ebec7c3
6
+ metadata.gz: 2105f8a7709db6abdb666ea0a8f3ba8778170fa59bf8f6f2f845d2f8456896ee4088f2a44e1be83e90b758bd4b0f49b1eee78048a8230b6581011dae10b7ca3b
7
+ data.tar.gz: f8395d6ce314a2ff1411ede761211029f95f9c32cc0c54948f534f334f98df64bea193472464ab1187099f1b9064551c4d05add078619fdec653099ad5470cd8
@@ -2,7 +2,7 @@ language: ruby
2
2
 
3
3
  rvm:
4
4
  - 2.3.0
5
- - 2.2
5
+ - 2.2.4
6
6
  - 2.1
7
7
  - 2.0.0
8
8
 
@@ -21,7 +21,15 @@ script:
21
21
  env:
22
22
  - "RAILS_VERSION=3.2.21"
23
23
  - "RAILS_VERSION=4.0.13"
24
- - "RAILS_VERSION=4.1.10"
25
- - "RAILS_VERSION=4.2.2"
26
- - "RAILS_VERSION=4.2.2 DATABASE_URL=mysql2://root@localhost/statesman_test"
27
- - "RAILS_VERSION=4.2.2 DATABASE_URL=postgres://postgres@localhost/statesman_test"
24
+ - "RAILS_VERSION=4.1.14"
25
+ - "RAILS_VERSION=4.2.5"
26
+ - "RAILS_VERSION=4.2.5 DATABASE_URL=mysql2://root@localhost/statesman_test"
27
+ - "RAILS_VERSION=4.2.5 DATABASE_URL=postgres://postgres@localhost/statesman_test"
28
+ - "RAILS_VERSION=5.0.0.beta3 EXCLUDE_MONGOID=true"
29
+
30
+ matrix:
31
+ exclude:
32
+ - rvm: 2.1
33
+ env: "RAILS_VERSION=5.0.0.beta3 EXCLUDE_MONGOID=true"
34
+ - rvm: 2.0.0
35
+ env: "RAILS_VERSION=5.0.0.beta3 EXCLUDE_MONGOID=true"
@@ -1,3 +1,8 @@
1
+ ## v2.0.1, 29 March 2016
2
+
3
+ - Add support for Rails 5 (excluding Mongoid adapter)
4
+
5
+
1
6
  ## v2.0.0, 5 January 2016
2
7
 
3
8
  - No changes from v2.0.0.rc1
data/Gemfile CHANGED
@@ -4,7 +4,11 @@ gemspec
4
4
 
5
5
  gem "rails", "~> #{ENV["RAILS_VERSION"]}" if ENV["RAILS_VERSION"]
6
6
 
7
- # test/unit is no longer bundled with Ruby 2.2, but required by Rails
8
- if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.2.0")
9
- gem "test-unit", "~> 3.0"
7
+ group :development do
8
+ gem "mongoid", ">= 3.1" unless ENV["EXCLUDE_MONGOID"]
9
+
10
+ # test/unit is no longer bundled with Ruby 2.2, but required by Rails
11
+ if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.2.0")
12
+ gem "test-unit", "~> 3.0"
13
+ end
10
14
  end
data/README.md CHANGED
@@ -19,7 +19,7 @@ to which they should apply.
19
19
  - State transitions are also modelled as a class, which can optionally be
20
20
  persisted to the database for a full audit history. This audit history can
21
21
  include JSON metadata set during a transition.
22
- - Database indicies are used to offer database-level transaction duplication
22
+ - Database indices are used to offer database-level transaction duplication
23
23
  protection.
24
24
 
25
25
  ## TL;DR Usage
@@ -74,15 +74,15 @@ class Order < ActiveRecord::Base
74
74
  @state_machine ||= OrderStateMachine.new(self, transition_class: OrderTransition)
75
75
  end
76
76
 
77
- private
78
-
79
77
  def self.transition_class
80
78
  OrderTransition
81
79
  end
80
+ private_class_method :transition_class
82
81
 
83
82
  def self.initial_state
84
83
  :pending
85
84
  end
85
+ private_class_method :initial_state
86
86
  end
87
87
 
88
88
  ####################
@@ -290,15 +290,15 @@ model and define `transition_class` and `initial_state` class methods:
290
290
  class Order < ActiveRecord::Base
291
291
  include Statesman::Adapters::ActiveRecordQueries
292
292
 
293
- private
294
-
295
293
  def self.transition_class
296
294
  OrderTransition
297
295
  end
296
+ private_class_method :transition_class
298
297
 
299
298
  def self.initial_state
300
299
  OrderStateMachine.initial_state
301
300
  end
301
+ private_class_method :initial_state
302
302
  end
303
303
  ```
304
304
 
@@ -309,8 +309,6 @@ need to define a corresponding `transition_name` class method:
309
309
  class Order < ActiveRecord::Base
310
310
  has_many :transitions, class_name: "OrderTransition", autosave: false
311
311
 
312
- private
313
-
314
312
  def self.transition_name
315
313
  :transitions
316
314
  end
@@ -318,10 +316,12 @@ class Order < ActiveRecord::Base
318
316
  def self.transition_class
319
317
  OrderTransition
320
318
  end
319
+ private_class_method :transition_class
321
320
 
322
321
  def self.initial_state
323
322
  OrderStateMachine.initial_state
324
323
  end
324
+ private_class_method :initial_state
325
325
  end
326
326
  ```
327
327
 
data/Rakefile CHANGED
@@ -1,6 +1,10 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rspec/core/rake_task"
3
3
 
4
- RSpec::Core::RakeTask.new(:spec)
4
+ RSpec::Core::RakeTask.new(:spec) do |task|
5
+ if ENV["EXCLUDE_MONGOID"]
6
+ task.rspec_opts = "--tag ~mongo --exclude-pattern **/*mongo*"
7
+ end
8
+ end
5
9
 
6
10
  task default: :spec
@@ -108,8 +108,8 @@ module Statesman
108
108
  def serialized?(transition_class)
109
109
  if ::ActiveRecord.respond_to?(:gem_version) &&
110
110
  ::ActiveRecord.gem_version >= Gem::Version.new('4.2.0.a')
111
- transition_class.columns_hash["metadata"].
112
- cast_type.is_a?(::ActiveRecord::Type::Serialized)
111
+ transition_class.type_for_attribute("metadata").
112
+ is_a?(::ActiveRecord::Type::Serialized)
113
113
  else
114
114
  transition_class.serialized_attributes.include?("metadata")
115
115
  end
@@ -66,25 +66,21 @@ module Statesman
66
66
  successors[from] += to
67
67
  end
68
68
 
69
- def before_transition(options = { from: nil, to: nil }, &block)
70
- add_callback(
71
- options.merge(callback_class: Callback, callback_type: :before),
72
- &block)
69
+ def before_transition(options = {}, &block)
70
+ add_callback(callback_type: :before, callback_class: Callback,
71
+ from: options[:from], to: options[:to], &block)
73
72
  end
74
73
 
75
- def guard_transition(options = { from: nil, to: nil }, &block)
76
- add_callback(
77
- options.merge(callback_class: Guard, callback_type: :guards),
78
- &block)
74
+ def guard_transition(options = {}, &block)
75
+ add_callback(callback_type: :guards, callback_class: Guard,
76
+ from: options[:from], to: options[:to], &block)
79
77
  end
80
78
 
81
- def after_transition(options = { from: nil, to: nil,
82
- after_commit: false }, &block)
79
+ def after_transition(options = { after_commit: false }, &block)
83
80
  callback_type = options[:after_commit] ? :after_commit : :after
84
81
 
85
- add_callback(
86
- options.merge(callback_class: Callback, callback_type: callback_type),
87
- &block)
82
+ add_callback(callback_type: callback_type, callback_class: Callback,
83
+ from: options[:from], to: options[:to], &block)
88
84
  end
89
85
 
90
86
  def validate_callback_condition(options = { from: nil, to: nil })
@@ -128,15 +124,26 @@ module Statesman
128
124
 
129
125
  private
130
126
 
131
- def add_callback(options, &block)
132
- from = to_s_or_nil(options[:from])
133
- to = array_to_s_or_nil(options[:to])
134
- callback_klass = options.fetch(:callback_class)
135
- callback_type = options.fetch(:callback_type)
127
+ def add_callback(callback_type: nil, callback_class: nil,
128
+ from: nil, to: nil, &block)
129
+ validate_callback_type_and_class(callback_type, callback_class)
130
+
131
+ from = to_s_or_nil(from)
132
+ to = array_to_s_or_nil(to)
136
133
 
137
134
  validate_callback_condition(from: from, to: to)
135
+
138
136
  callbacks[callback_type] <<
139
- callback_klass.new(from: from, to: to, callback: block)
137
+ callback_class.new(from: from, to: to, callback: block)
138
+ end
139
+
140
+ def validate_callback_type_and_class(callback_type, callback_class)
141
+ if callback_type.nil?
142
+ raise ArgumentError.new("missing keyword: callback_type")
143
+ end
144
+ if callback_class.nil?
145
+ raise ArgumentError.new("missing keyword: callback_class")
146
+ end
140
147
  end
141
148
 
142
149
  def validate_state(state)
@@ -1,3 +1,3 @@
1
1
  module Statesman
2
- VERSION = "2.0.0"
2
+ VERSION = "2.0.1"
3
3
  end
@@ -2,7 +2,6 @@ require "statesman"
2
2
  require "sqlite3"
3
3
  require "mysql2"
4
4
  require "pg"
5
- require "mongoid"
6
5
  require "active_record"
7
6
  # We have to include all of Rails to make rspec-rails work
8
7
  require "rails"
@@ -27,23 +26,29 @@ RSpec.configure do |config|
27
26
  end
28
27
  end
29
28
 
30
- # Try a mongo connection at the start of the suite and raise if it fails
31
- begin
32
- Mongoid.configure do |mongo_config|
33
- if defined?(Moped)
34
- mongo_config.connect_to("statesman_test")
35
- mongo_config.sessions["default"]["options"]["max_retries"] = 2
36
- else
37
- mongo_config.connect_to("statesman_test", server_selection_timeout: 2)
29
+ if config.exclusion_filter[:mongo]
30
+ puts "Skipping Mongo tests"
31
+ else
32
+ require "mongoid"
33
+
34
+ # Try a mongo connection at the start of the suite and raise if it fails
35
+ begin
36
+ Mongoid.configure do |mongo_config|
37
+ if defined?(Moped)
38
+ mongo_config.connect_to("statesman_test")
39
+ mongo_config.sessions["default"]["options"]["max_retries"] = 2
40
+ else
41
+ mongo_config.connect_to("statesman_test", server_selection_timeout: 2)
42
+ end
38
43
  end
44
+ # Attempting a mongo operation will trigger 2 retries then throw an
45
+ # exception if mongo is not running.
46
+ Mongoid.purge!
47
+ rescue connection_failure => error
48
+ puts "The spec suite requires MongoDB to be installed and running locally"
49
+ puts "Mongo dependent specs can be filtered with rspec --tag '~mongo'"
50
+ raise(error)
39
51
  end
40
- # Attempting a mongo operation will trigger 2 retries then throw an
41
- # exception if mongo is not running.
42
- Mongoid.purge! unless config.exclusion_filter[:mongo]
43
- rescue connection_failure => error
44
- puts "The spec suite requires MongoDB to be installed and running locally"
45
- puts "Mongo dependent specs can be filtered with rspec --tag '~mongo'"
46
- raise(error)
47
52
  end
48
53
 
49
54
  if config.exclusion_filter[:active_record]
@@ -56,6 +61,9 @@ RSpec.configure do |config|
56
61
 
57
62
  db_adapter = ActiveRecord::Base.connection.adapter_name
58
63
  puts "Running with database adapter '#{db_adapter}'"
64
+
65
+ # Silence migration output
66
+ ActiveRecord::Migration.verbose = false
59
67
  end
60
68
 
61
69
  config.before(:each, active_record: true) do
@@ -73,29 +81,21 @@ RSpec.configure do |config|
73
81
  end
74
82
 
75
83
  def prepare_model_table
76
- silence_stream(STDOUT) do
77
- CreateMyActiveRecordModelMigration.migrate(:up)
78
- end
84
+ CreateMyActiveRecordModelMigration.migrate(:up)
79
85
  end
80
86
 
81
87
  def prepare_transitions_table
82
- silence_stream(STDOUT) do
83
- CreateMyActiveRecordModelTransitionMigration.migrate(:up)
84
- MyActiveRecordModelTransition.reset_column_information
85
- end
88
+ CreateMyActiveRecordModelTransitionMigration.migrate(:up)
89
+ MyActiveRecordModelTransition.reset_column_information
86
90
  end
87
91
 
88
92
  def prepare_other_model_table
89
- silence_stream(STDOUT) do
90
- CreateOtherActiveRecordModelMigration.migrate(:up)
91
- end
93
+ CreateOtherActiveRecordModelMigration.migrate(:up)
92
94
  end
93
95
 
94
96
  def prepare_other_transitions_table
95
- silence_stream(STDOUT) do
96
- CreateOtherActiveRecordModelTransitionMigration.migrate(:up)
97
- OtherActiveRecordModelTransition.reset_column_information
98
- end
97
+ CreateOtherActiveRecordModelTransitionMigration.migrate(:up)
98
+ OtherActiveRecordModelTransition.reset_column_information
99
99
  end
100
100
 
101
101
  MyNamespace::MyActiveRecordModelTransition.serialize(:metadata, JSON)
@@ -22,9 +22,11 @@ describe Statesman::Adapters::ActiveRecord, active_record: true do
22
22
  { 'metadata' => metadata_column })
23
23
  if ::ActiveRecord.respond_to?(:gem_version) &&
24
24
  ::ActiveRecord.gem_version >= Gem::Version.new('4.2.0.a')
25
- allow(metadata_column).to receive_messages(cast_type: '')
25
+ expect(MyActiveRecordModelTransition).
26
+ to receive(:type_for_attribute).with("metadata").
27
+ and_return(ActiveRecord::Type::Value.new)
26
28
  else
27
- allow(MyActiveRecordModelTransition).
29
+ expect(MyActiveRecordModelTransition).
28
30
  to receive_messages(serialized_attributes: {})
29
31
  end
30
32
  end
@@ -48,8 +50,8 @@ describe Statesman::Adapters::ActiveRecord, active_record: true do
48
50
  serialized_type = ::ActiveRecord::Type::Serialized.new(
49
51
  '', ::ActiveRecord::Coders::JSON
50
52
  )
51
- expect(metadata_column).
52
- to receive(:cast_type).
53
+ expect(MyActiveRecordModelTransition).
54
+ to receive(:type_for_attribute).with("metadata").
53
55
  and_return(serialized_type)
54
56
  else
55
57
  expect(MyActiveRecordModelTransition).
@@ -76,8 +78,8 @@ describe Statesman::Adapters::ActiveRecord, active_record: true do
76
78
  serialized_type = ::ActiveRecord::Type::Serialized.new(
77
79
  '', ::ActiveRecord::Coders::JSON
78
80
  )
79
- expect(metadata_column).
80
- to receive(:cast_type).
81
+ expect(MyActiveRecordModelTransition).
82
+ to receive(:type_for_attribute).with("metadata").
81
83
  and_return(serialized_type)
82
84
  else
83
85
  expect(MyActiveRecordModelTransition).
@@ -248,10 +250,8 @@ describe Statesman::Adapters::ActiveRecord, active_record: true do
248
250
 
249
251
  context "with a namespaced model" do
250
252
  before do
251
- silence_stream(STDOUT) do
252
- CreateNamespacedARModelMigration.migrate(:up)
253
- CreateNamespacedARModelTransitionMigration.migrate(:up)
254
- end
253
+ CreateNamespacedARModelMigration.migrate(:up)
254
+ CreateNamespacedARModelTransitionMigration.migrate(:up)
255
255
  end
256
256
 
257
257
  before do
@@ -27,7 +27,6 @@ Gem::Specification.new do |spec|
27
27
  spec.add_development_dependency "rubocop", "~> 0.30.0"
28
28
  spec.add_development_dependency "guard-rubocop", "~> 1.2"
29
29
  spec.add_development_dependency "sqlite3", "~> 1.3"
30
- spec.add_development_dependency "mongoid", ">= 3.1"
31
30
  spec.add_development_dependency "rails", ">= 3.2"
32
31
  spec.add_development_dependency "pg", "~> 0.18"
33
32
  spec.add_development_dependency "mysql2", "~> 0.4"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: statesman
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Harry Marr
@@ -9,202 +9,188 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-01-06 00:00:00.000000000 Z
12
+ date: 2016-03-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - "~>"
18
+ - - ~>
19
19
  - !ruby/object:Gem::Version
20
20
  version: '1.3'
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - "~>"
25
+ - - ~>
26
26
  - !ruby/object:Gem::Version
27
27
  version: '1.3'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rake
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ">="
32
+ - - '>='
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ">="
39
+ - - '>='
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rspec
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - "~>"
46
+ - - ~>
47
47
  - !ruby/object:Gem::Version
48
48
  version: '3.1'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - "~>"
53
+ - - ~>
54
54
  - !ruby/object:Gem::Version
55
55
  version: '3.1'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: rspec-rails
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - "~>"
60
+ - - ~>
61
61
  - !ruby/object:Gem::Version
62
62
  version: '3.1'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - "~>"
67
+ - - ~>
68
68
  - !ruby/object:Gem::Version
69
69
  version: '3.1'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rspec-its
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - "~>"
74
+ - - ~>
75
75
  - !ruby/object:Gem::Version
76
76
  version: '1.1'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - "~>"
81
+ - - ~>
82
82
  - !ruby/object:Gem::Version
83
83
  version: '1.1'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: guard-rspec
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - "~>"
88
+ - - ~>
89
89
  - !ruby/object:Gem::Version
90
90
  version: '4.3'
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - "~>"
95
+ - - ~>
96
96
  - !ruby/object:Gem::Version
97
97
  version: '4.3'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: rubocop
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - "~>"
102
+ - - ~>
103
103
  - !ruby/object:Gem::Version
104
104
  version: 0.30.0
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - "~>"
109
+ - - ~>
110
110
  - !ruby/object:Gem::Version
111
111
  version: 0.30.0
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: guard-rubocop
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - "~>"
116
+ - - ~>
117
117
  - !ruby/object:Gem::Version
118
118
  version: '1.2'
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - "~>"
123
+ - - ~>
124
124
  - !ruby/object:Gem::Version
125
125
  version: '1.2'
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: sqlite3
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
- - - "~>"
130
+ - - ~>
131
131
  - !ruby/object:Gem::Version
132
132
  version: '1.3'
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - "~>"
137
+ - - ~>
138
138
  - !ruby/object:Gem::Version
139
139
  version: '1.3'
140
- - !ruby/object:Gem::Dependency
141
- name: mongoid
142
- requirement: !ruby/object:Gem::Requirement
143
- requirements:
144
- - - ">="
145
- - !ruby/object:Gem::Version
146
- version: '3.1'
147
- type: :development
148
- prerelease: false
149
- version_requirements: !ruby/object:Gem::Requirement
150
- requirements:
151
- - - ">="
152
- - !ruby/object:Gem::Version
153
- version: '3.1'
154
140
  - !ruby/object:Gem::Dependency
155
141
  name: rails
156
142
  requirement: !ruby/object:Gem::Requirement
157
143
  requirements:
158
- - - ">="
144
+ - - '>='
159
145
  - !ruby/object:Gem::Version
160
146
  version: '3.2'
161
147
  type: :development
162
148
  prerelease: false
163
149
  version_requirements: !ruby/object:Gem::Requirement
164
150
  requirements:
165
- - - ">="
151
+ - - '>='
166
152
  - !ruby/object:Gem::Version
167
153
  version: '3.2'
168
154
  - !ruby/object:Gem::Dependency
169
155
  name: pg
170
156
  requirement: !ruby/object:Gem::Requirement
171
157
  requirements:
172
- - - "~>"
158
+ - - ~>
173
159
  - !ruby/object:Gem::Version
174
160
  version: '0.18'
175
161
  type: :development
176
162
  prerelease: false
177
163
  version_requirements: !ruby/object:Gem::Requirement
178
164
  requirements:
179
- - - "~>"
165
+ - - ~>
180
166
  - !ruby/object:Gem::Version
181
167
  version: '0.18'
182
168
  - !ruby/object:Gem::Dependency
183
169
  name: mysql2
184
170
  requirement: !ruby/object:Gem::Requirement
185
171
  requirements:
186
- - - "~>"
172
+ - - ~>
187
173
  - !ruby/object:Gem::Version
188
174
  version: '0.4'
189
175
  type: :development
190
176
  prerelease: false
191
177
  version_requirements: !ruby/object:Gem::Requirement
192
178
  requirements:
193
- - - "~>"
179
+ - - ~>
194
180
  - !ruby/object:Gem::Version
195
181
  version: '0.4'
196
182
  - !ruby/object:Gem::Dependency
197
183
  name: ammeter
198
184
  requirement: !ruby/object:Gem::Requirement
199
185
  requirements:
200
- - - "~>"
186
+ - - ~>
201
187
  - !ruby/object:Gem::Version
202
188
  version: '1.1'
203
189
  type: :development
204
190
  prerelease: false
205
191
  version_requirements: !ruby/object:Gem::Requirement
206
192
  requirements:
207
- - - "~>"
193
+ - - ~>
208
194
  - !ruby/object:Gem::Version
209
195
  version: '1.1'
210
196
  description: A statesmanlike state machine library
@@ -214,9 +200,9 @@ executables: []
214
200
  extensions: []
215
201
  extra_rdoc_files: []
216
202
  files:
217
- - ".gitignore"
218
- - ".rubocop.yml"
219
- - ".travis.yml"
203
+ - .gitignore
204
+ - .rubocop.yml
205
+ - .travis.yml
220
206
  - CHANGELOG.md
221
207
  - CONTRIBUTING.md
222
208
  - Gemfile
@@ -280,17 +266,17 @@ require_paths:
280
266
  - lib
281
267
  required_ruby_version: !ruby/object:Gem::Requirement
282
268
  requirements:
283
- - - ">="
269
+ - - '>='
284
270
  - !ruby/object:Gem::Version
285
271
  version: '0'
286
272
  required_rubygems_version: !ruby/object:Gem::Requirement
287
273
  requirements:
288
- - - ">="
274
+ - - '>='
289
275
  - !ruby/object:Gem::Version
290
276
  version: '0'
291
277
  requirements: []
292
278
  rubyforge_project:
293
- rubygems_version: 2.4.5
279
+ rubygems_version: 2.2.2
294
280
  signing_key:
295
281
  specification_version: 4
296
282
  summary: A statesmanlike state machine library