statesman 3.1.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9dde77bdcc9a2b9cde16e90f5d00e82a30d1efc7
4
- data.tar.gz: '0927b94d3a461059051083ae3d62b6df62f07658'
3
+ metadata.gz: 32bb973d8f35e81d00d5f6424d26dfb7af6f101b
4
+ data.tar.gz: 2cfacba286b5a45f15f784cf94a91cd2abc34cc7
5
5
  SHA512:
6
- metadata.gz: f479c08a14edf813e36a035ffb3db9f1985ddffad74eebd6a9ff9ffa41b4a3bcc16d27f43f1048690f0b93acc4b286cf75184059903c5722d333a7bac0839c42
7
- data.tar.gz: 210f9b2ceb2d079bb40540b4a68765397df10e31795e71edbe9204a413b9839b6ce2eecd1f335ef65258bcd2ffc58d4ed1bf42cf83ac71d6275da222a8e91367
6
+ metadata.gz: d2cd17ce3c5cb346912126ff09bb0048647347495bbd21ddb5fd4beaa36225189daae1cd6ca5c6df69bd78f247240e6d03b9c16cb8625b49713b4e4a3b4319f8
7
+ data.tar.gz: b8e32db8300886d2db38d7a6e8ef00666f7d7ad018b1a04e89c4bd40a8a0cabb415eed02019b3c7745a4bcc5572d6876f7d932990632bb4c50e21bcfdcfd7599
@@ -1,13 +1,9 @@
1
- # For all options see https://github.com/bbatsov/rubocop/tree/master/config
2
-
3
1
  inherit_from: .rubocop_todo.yml
2
+ inherit_gem:
3
+ ruboconfig: rubocop.yml
4
4
 
5
5
  AllCops:
6
6
  DisplayCopNames: true
7
- Include:
8
- - Rakefile
9
- - statesman.gemfile
10
- - lib/tasks/*.rake
11
7
  Exclude:
12
8
  - vendor/**/*
13
9
  - .*/**
@@ -16,45 +12,19 @@ AllCops:
16
12
  StringLiterals:
17
13
  Enabled: false
18
14
 
19
- Documentation:
20
- Enabled: false
21
-
22
- SignalException:
23
- EnforcedStyle: only_raise
24
-
25
- # Avoid methods longer than 15 lines of code
26
15
  MethodLength:
27
16
  CountComments: false
28
17
  Max: 15
29
18
 
30
19
  AbcSize:
31
- Max: 25
32
-
33
- # Don't require utf-8 encoding comment
34
- Encoding:
35
- Enabled: false
20
+ Max: 18
36
21
 
37
22
  LineLength:
38
23
  Max: 80
39
24
 
40
- GuardClause:
41
- Enabled: false
42
-
43
- Layout/SpaceBeforeFirstArg:
44
- Enabled: false
45
-
46
- DotPosition:
47
- EnforcedStyle: trailing
48
-
49
25
  # Allow class and message or instance raises
50
26
  Style/RaiseArgs:
51
27
  Enabled: false
52
28
 
53
- Metrics/BlockLength:
54
- Exclude:
55
- - spec/**/*
56
-
57
- Style/FileName:
58
- Exclude:
59
- - Gemfile
60
- - Guardfile
29
+ Lint/RescueWithoutErrorClass:
30
+ Enabled: false
@@ -1,3 +1,8 @@
1
+
2
+ ## v3.2.0, 27 November 2017
3
+
4
+ - Allow specifying metadata with `Machine#allowed_transitions` (patch by [@vvondra](https://github.com/vvondra))
5
+
1
6
  ## v3.1.0, 1 September 2017
2
7
 
3
8
  - Add support for Rails 5.0.x and 5.1.x (patch by [@kenchan0130](https://github.com/kenchan0130) and [@timrogers](https://github.com/timrogers))
data/Gemfile CHANGED
@@ -3,6 +3,7 @@ source 'https://rubygems.org'
3
3
  gemspec
4
4
 
5
5
  gem "rails", "~> #{ENV['RAILS_VERSION']}" if ENV["RAILS_VERSION"]
6
+ gem "ruboconfig", git: "https://github.com/gocardless/ruboconfig", tag: "v1.0.1"
6
7
 
7
8
  group :development do
8
9
  gem "mongoid", ">= 3.1" unless ENV["EXCLUDE_MONGOID"]
data/README.md CHANGED
@@ -102,6 +102,7 @@ class OrderTransition < ActiveRecord::Base
102
102
 
103
103
  belongs_to :order, inverse_of: :order_transitions
104
104
  end
105
+ ```
105
106
 
106
107
  Now, you can start working with your state machine:
107
108
 
@@ -4,7 +4,7 @@ Our goal as Statesman maintainers is for the library to be compatible with all s
4
4
 
5
5
  Specifically, any CRuby/MRI version that has not received an End of Life notice ([e.g. this notice for Ruby 2.1](https://www.ruby-lang.org/en/news/2017/04/01/support-of-ruby-2-1-has-ended/)) is supported. Similarly, any version of Rails listed as currently supported on [this page](http://guides.rubyonrails.org/maintenance_policy.html) is one we aim to support in Statesman.
6
6
 
7
- To that end, [our build matrix](../.travis.yml) includes all these versions.
7
+ To that end, [our build matrix](../.circleci/config.yml) includes all these versions.
8
8
 
9
9
  Any time Statesman doesn't work on a supported combination of Ruby and Rails, it's a bug, and can be reported [here](https://github.com/gocardless/statesman/issues).
10
10
 
@@ -107,7 +107,7 @@ module Statesman
107
107
 
108
108
  def serialized?(transition_class)
109
109
  if ::ActiveRecord.respond_to?(:gem_version) &&
110
- ::ActiveRecord.gem_version >= Gem::Version.new('4.2.0.a')
110
+ ::ActiveRecord.gem_version >= Gem::Version.new('4.2.0.a')
111
111
  transition_class.type_for_attribute("metadata").
112
112
  is_a?(::ActiveRecord::Type::Serialized)
113
113
  else
@@ -49,7 +49,7 @@ module Statesman
49
49
  before: [],
50
50
  after: [],
51
51
  after_commit: [],
52
- guards: []
52
+ guards: [],
53
53
  }
54
54
  end
55
55
 
@@ -170,7 +170,7 @@ module Statesman
170
170
 
171
171
  def initialize(object,
172
172
  options = {
173
- transition_class: Statesman::Adapters::MemoryTransition
173
+ transition_class: Statesman::Adapters::MemoryTransition,
174
174
  })
175
175
  @object = object
176
176
  @transition_class = options[:transition_class]
@@ -189,9 +189,9 @@ module Statesman
189
189
  states.flatten.any? { |state| current_state == state.to_s }
190
190
  end
191
191
 
192
- def allowed_transitions
192
+ def allowed_transitions(metadata = {})
193
193
  successors_for(current_state).select do |state|
194
- can_transition_to?(state)
194
+ can_transition_to?(state, metadata)
195
195
  end
196
196
  end
197
197
 
@@ -1,3 +1,3 @@
1
1
  module Statesman
2
- VERSION = "3.1.0".freeze
2
+ VERSION = "3.2.0".freeze
3
3
  end
@@ -29,20 +29,20 @@ namespace :statesman do
29
29
  subsequent_t = initial_t.alias
30
30
 
31
31
  later_row_for_same_parent = initial_t[parent_fk].
32
- eq(subsequent_t[parent_fk]).
33
- and(initial_t[:sort_key].
32
+ eq(subsequent_t[parent_fk]).
33
+ and(initial_t[:sort_key].
34
34
  lt(subsequent_t[:sort_key]))
35
35
 
36
36
  no_later_row = subsequent_t[:id].eq(nil)
37
37
  in_current_parent_batch = initial_t[parent_fk].in(models.map(&:id))
38
38
 
39
39
  latest_ids_query = initial_t.join(subsequent_t, Arel::Nodes::OuterJoin).
40
- on(later_row_for_same_parent).
41
- where(no_later_row.and(in_current_parent_batch)).
42
- project(initial_t[:id]).to_sql
40
+ on(later_row_for_same_parent).
41
+ where(no_later_row.and(in_current_parent_batch)).
42
+ project(initial_t[:id]).to_sql
43
43
 
44
44
  latest_ids = transition_class.find_by_sql(latest_ids_query).
45
- to_a.collect(&:id)
45
+ to_a.collect(&:id)
46
46
 
47
47
  transition_class.where(id: latest_ids).update_all(most_recent: true)
48
48
  end
@@ -16,7 +16,7 @@ describe Statesman::MigrationGenerator, type: :generator do
16
16
 
17
17
  subject do
18
18
  file(
19
- "db/migrate/#{migration_number}_add_statesman_to_bacon_transitions.rb"
19
+ "db/migrate/#{migration_number}_add_statesman_to_bacon_transitions.rb",
20
20
  )
21
21
  end
22
22
 
@@ -21,7 +21,7 @@ describe Statesman::Adapters::ActiveRecord, active_record: true do
21
21
  allow(MyActiveRecordModelTransition).to receive_messages(columns_hash:
22
22
  { 'metadata' => metadata_column })
23
23
  if ::ActiveRecord.respond_to?(:gem_version) &&
24
- ::ActiveRecord.gem_version >= Gem::Version.new('4.2.0.a')
24
+ ::ActiveRecord.gem_version >= Gem::Version.new('4.2.0.a')
25
25
  expect(MyActiveRecordModelTransition).
26
26
  to receive(:type_for_attribute).with("metadata").
27
27
  and_return(ActiveRecord::Type::Value.new)
@@ -46,7 +46,7 @@ describe Statesman::Adapters::ActiveRecord, active_record: true do
46
46
  allow(MyActiveRecordModelTransition).to receive_messages(columns_hash:
47
47
  { 'metadata' => metadata_column })
48
48
  if ::ActiveRecord.respond_to?(:gem_version) &&
49
- ::ActiveRecord.gem_version >= Gem::Version.new('4.2.0.a')
49
+ ::ActiveRecord.gem_version >= Gem::Version.new('4.2.0.a')
50
50
  serialized_type = ::ActiveRecord::Type::Serialized.new(
51
51
  '', ::ActiveRecord::Coders::JSON
52
52
  )
@@ -74,7 +74,7 @@ describe Statesman::Adapters::ActiveRecord, active_record: true do
74
74
  allow(MyActiveRecordModelTransition).to receive_messages(columns_hash:
75
75
  { 'metadata' => metadata_column })
76
76
  if ::ActiveRecord.respond_to?(:gem_version) &&
77
- ::ActiveRecord.gem_version >= Gem::Version.new('4.2.0.a')
77
+ ::ActiveRecord.gem_version >= Gem::Version.new('4.2.0.a')
78
78
  serialized_type = ::ActiveRecord::Type::Serialized.new(
79
79
  '', ::ActiveRecord::Coders::JSON
80
80
  )
@@ -125,7 +125,7 @@ describe Statesman::Adapters::ActiveRecord, active_record: true do
125
125
  context "ActiveRecord::RecordNotUnique unrelated to this transition" do
126
126
  let(:error) do
127
127
  if ::ActiveRecord.respond_to?(:gem_version) &&
128
- ::ActiveRecord.gem_version >= Gem::Version.new('4.0.0')
128
+ ::ActiveRecord.gem_version >= Gem::Version.new('4.0.0')
129
129
  ActiveRecord::RecordNotUnique.new("unrelated")
130
130
  else
131
131
  ActiveRecord::RecordNotUnique.new("unrelated", nil)
@@ -163,7 +163,7 @@ describe Statesman::Adapters::ActiveRecord, active_record: true do
163
163
  allow(observer).to receive(:execute) do |phase|
164
164
  next unless phase == :before
165
165
  expect(
166
- model.transitions.where(most_recent: true).first.to_state
166
+ model.transitions.where(most_recent: true).first.to_state,
167
167
  ).to eq("y")
168
168
  end
169
169
 
@@ -176,7 +176,7 @@ describe Statesman::Adapters::ActiveRecord, active_record: true do
176
176
  allow(observer).to receive(:execute) do |phase|
177
177
  next unless phase == :after
178
178
  expect(
179
- model.transitions.where(most_recent: true).first.to_state
179
+ model.transitions.where(most_recent: true).first.to_state,
180
180
  ).to eq("z")
181
181
  end
182
182
 
@@ -441,7 +441,8 @@ describe Statesman::Machine do
441
441
  end
442
442
 
443
443
  let(:instance) { machine.new(my_model) }
444
- subject { instance.allowed_transitions }
444
+ let(:metadata) { { some: :metadata } }
445
+ subject { instance.allowed_transitions(metadata) }
445
446
 
446
447
  context "with multiple possible states" do
447
448
  it { is_expected.to eq(%w[y z]) }
@@ -450,6 +451,26 @@ describe Statesman::Machine do
450
451
  context "with one possible state" do
451
452
  before { instance.transition_to!(:y) }
452
453
  it { is_expected.to eq(['z']) }
454
+
455
+ context "guarded using metadata" do
456
+ before do
457
+ machine.guard_transition(to: :z) do |_, _, metadata|
458
+ metadata[:some] == :metadata
459
+ end
460
+ end
461
+
462
+ it { is_expected.to eq(['z']) }
463
+ end
464
+
465
+ context "excluded by guard using metadata" do
466
+ before do
467
+ machine.guard_transition(to: :z) do |_, _, metadata|
468
+ metadata[:some] != :metadata
469
+ end
470
+ end
471
+
472
+ it { is_expected.to eq([]) }
473
+ end
453
474
  end
454
475
 
455
476
  context "with no possible transitions" do
@@ -481,7 +502,8 @@ describe Statesman::Machine do
481
502
  end
482
503
 
483
504
  let(:instance) { machine.new(my_model) }
484
- subject { instance.can_transition_to?(new_state) }
505
+ let(:metadata) { { some: :metadata } }
506
+ subject { instance.can_transition_to?(new_state, metadata) }
485
507
 
486
508
  context "when the transition is invalid" do
487
509
  context "with an initial to state" do
@@ -515,6 +537,26 @@ describe Statesman::Machine do
515
537
  before { machine.guard_transition(to: :y) { false } }
516
538
  it { is_expected.to be_falsey }
517
539
  end
540
+
541
+ context "but it has a failing guard based on metadata" do
542
+ before do
543
+ machine.guard_transition(to: :y) do |_, _, metadata|
544
+ metadata[:some] != :metadata
545
+ end
546
+ end
547
+
548
+ it { is_expected.to be_falsey }
549
+ end
550
+
551
+ context "and has a passing guard based on metadata" do
552
+ before do
553
+ machine.guard_transition(to: :y) do |_, _, metadata|
554
+ metadata[:some] == :metadata
555
+ end
556
+ end
557
+
558
+ it { is_expected.to be_truthy }
559
+ end
518
560
  end
519
561
  end
520
562
 
@@ -20,7 +20,7 @@ end
20
20
 
21
21
  class MyActiveRecordModel < ActiveRecord::Base
22
22
  has_many :my_active_record_model_transitions, autosave: false
23
- alias transitions my_active_record_model_transitions
23
+ alias_method :transitions, :my_active_record_model_transitions
24
24
 
25
25
  def state_machine
26
26
  @state_machine ||= MyStateMachine.new(
@@ -98,7 +98,7 @@ end
98
98
 
99
99
  class OtherActiveRecordModel < ActiveRecord::Base
100
100
  has_many :other_active_record_model_transitions, autosave: false
101
- alias transitions other_active_record_model_transitions
101
+ alias_method :transitions, :other_active_record_model_transitions
102
102
 
103
103
  def state_machine
104
104
  @state_machine ||= MyStateMachine.new(
@@ -1,5 +1,3 @@
1
- # coding: utf-8
2
-
3
1
  lib = File.expand_path('../lib', __FILE__)
4
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
3
  require 'statesman/version'
@@ -21,16 +19,16 @@ Gem::Specification.new do |spec|
21
19
 
22
20
  spec.required_ruby_version = '>= 2.2'
23
21
 
22
+ spec.add_development_dependency "ammeter", "~> 1.1"
24
23
  spec.add_development_dependency "bundler", "~> 1.3"
25
- spec.add_development_dependency "rake", "~> 12.0.0"
24
+ spec.add_development_dependency "mysql2", "~> 0.4"
25
+ spec.add_development_dependency "pg", "~> 0.18"
26
+ spec.add_development_dependency "rails", ">= 3.2"
27
+ spec.add_development_dependency "rake", "~> 12.3.0"
26
28
  spec.add_development_dependency "rspec", "~> 3.1"
27
- spec.add_development_dependency "rspec-rails", "~> 3.1"
28
29
  spec.add_development_dependency "rspec-its", "~> 1.1"
29
- spec.add_development_dependency "rubocop", "~> 0.49.1"
30
- spec.add_development_dependency "sqlite3", "~> 1.3"
31
- spec.add_development_dependency "rails", ">= 3.2"
32
- spec.add_development_dependency "pg", "~> 0.18"
33
- spec.add_development_dependency "mysql2", "~> 0.4"
34
- spec.add_development_dependency "ammeter", "~> 1.1"
30
+ spec.add_development_dependency "rspec-rails", "~> 3.1"
35
31
  spec.add_development_dependency "rspec_junit_formatter", "~> 0.3.0"
32
+ spec.add_development_dependency "rubocop", "~> 0.51.0"
33
+ spec.add_development_dependency "sqlite3", "~> 1.3"
36
34
  end
metadata CHANGED
@@ -1,183 +1,183 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: statesman
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GoCardless
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-01 00:00:00.000000000 Z
11
+ date: 2017-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: ammeter
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.3'
19
+ version: '1.1'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.3'
26
+ version: '1.1'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 12.0.0
33
+ version: '1.3'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 12.0.0
40
+ version: '1.3'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rspec
42
+ name: mysql2
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.1'
47
+ version: '0.4'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.1'
54
+ version: '0.4'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rspec-rails
56
+ name: pg
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '3.1'
61
+ version: '0.18'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '3.1'
68
+ version: '0.18'
69
69
  - !ruby/object:Gem::Dependency
70
- name: rspec-its
70
+ name: rails
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '1.1'
75
+ version: '3.2'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '1.1'
82
+ version: '3.2'
83
83
  - !ruby/object:Gem::Dependency
84
- name: rubocop
84
+ name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.49.1
89
+ version: 12.3.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.49.1
96
+ version: 12.3.0
97
97
  - !ruby/object:Gem::Dependency
98
- name: sqlite3
98
+ name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '1.3'
103
+ version: '3.1'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '1.3'
110
+ version: '3.1'
111
111
  - !ruby/object:Gem::Dependency
112
- name: rails
112
+ name: rspec-its
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '3.2'
117
+ version: '1.1'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '3.2'
124
+ version: '1.1'
125
125
  - !ruby/object:Gem::Dependency
126
- name: pg
126
+ name: rspec-rails
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '0.18'
131
+ version: '3.1'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '0.18'
138
+ version: '3.1'
139
139
  - !ruby/object:Gem::Dependency
140
- name: mysql2
140
+ name: rspec_junit_formatter
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: '0.4'
145
+ version: 0.3.0
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: '0.4'
152
+ version: 0.3.0
153
153
  - !ruby/object:Gem::Dependency
154
- name: ammeter
154
+ name: rubocop
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: '1.1'
159
+ version: 0.51.0
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: '1.1'
166
+ version: 0.51.0
167
167
  - !ruby/object:Gem::Dependency
168
- name: rspec_junit_formatter
168
+ name: sqlite3
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 0.3.0
173
+ version: '1.3'
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 0.3.0
180
+ version: '1.3'
181
181
  description: A statesman-like state machine library
182
182
  email:
183
183
  - developers@gocardless.com