keep_up 0.8.1 → 0.10.1

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
  SHA256:
3
- metadata.gz: 801a2183bb26562d1312f2aab9533084b9858c15102f247026ce2bab5ae441e3
4
- data.tar.gz: c98dc0df6a89fbecb06b49dc428027a0b4406f4107d252be5cb325795b288be0
3
+ metadata.gz: 97d3f75d5a76fc8ce0a3d1c0c9d93df3d7d1f7790108b7166012c12e83eb824a
4
+ data.tar.gz: 850cd7426571713d51c058b068a31c9abd72de6713bdbdd721baf596d9363d6c
5
5
  SHA512:
6
- metadata.gz: bc24c9ea45e40f4d3a7289ea1189f95154a641ceb3d4dfdf9dd3148ccadfcea450b38c0a358e042d3dac23816affd707a4f9c573e74bba18b000273b9f14afe7
7
- data.tar.gz: c0b4cedf1a784b6efbd3964278ec76211031fc8bbacd3323c7ccbcf4ad58e2367d7b37616c76a31bfe8a7c296dfd6774746a9136203ec857438d781d67d680b3
6
+ metadata.gz: '049e14f64bd4dd799dcabac41e0141fb682f81b6a933817f182d1b07c9365f38da42fa0c2dd4a79a1e19512420cb29fa81325030e4d149538198b9c447dcb344'
7
+ data.tar.gz: 41bd81924f216a3957bdaf627ebe4cf3f878e7668b953af977b6467cc272ff5ff8203b9f60748febb4cda97ef42cc4613d47a584ead02d899bd30d36bbd59bbc
data/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.10.1 / 2022-05-20
4
+
5
+ * Adjust commit message to match update specificity
6
+
7
+ ## 0.10.0 / 2022-01-23
8
+
9
+ * Drop support for Ruby 2.5 and 2.6
10
+ * Add support for Ruby 3.0 and 3.1
11
+ * Avoid interrupting half-printed lines when bundle update fails
12
+
13
+ ## 0.9.0 / 2020-09-18
14
+
15
+ * Drop support for Ruby 2.4
16
+ * Improve wording for commit messages
17
+
3
18
  ## 0.8.1 / 2019-12-30
4
19
 
5
20
  * Silence keyword arguments deprecation on Ruby 2.7
@@ -46,9 +46,11 @@ module KeepUp
46
46
  end
47
47
 
48
48
  def update_all_dependencies
49
- Updater.new(bundle: bundle,
50
- version_control: version_control,
51
- filter: filter).run
49
+ Updater.new(
50
+ bundle: bundle,
51
+ version_control: version_control,
52
+ filter: filter
53
+ ).run
52
54
  end
53
55
 
54
56
  def version_control
@@ -64,11 +66,12 @@ module KeepUp
64
66
  end
65
67
 
66
68
  def filter
67
- @filter ||= if skip.any?
68
- SkipFilter.new(skip)
69
- else
70
- NullFilter.new
71
- end
69
+ @filter ||=
70
+ if skip.any?
71
+ SkipFilter.new(skip)
72
+ else
73
+ NullFilter.new
74
+ end
72
75
  end
73
76
  end
74
77
  end
@@ -20,17 +20,10 @@ module KeepUp
20
20
  def dependencies
21
21
  @dependencies ||=
22
22
  begin
23
- command = "bundle outdated --parseable#{' --local' if @local}"
23
+ command = "bundle outdated --parseable#{" --local" if @local}"
24
24
  lines = run_filtered command, OUTDATED_MATCHER
25
25
  lines.map do |name, newest, version, requirement|
26
- requirement_list = requirement&.split(/,\s*/)
27
- requirement_list ||= fetch_gemspec_dependency_requirements(name)
28
- version = version.split(" ").first
29
- newest = newest.split(" ").first
30
- Dependency.new(name: name,
31
- locked_version: version,
32
- newest_version: newest,
33
- requirement_list: requirement_list)
26
+ build_dependency(name, newest, version, requirement)
34
27
  end
35
28
  end
36
29
  end
@@ -44,7 +37,7 @@ module KeepUp
44
37
  update = find_specification_update(dependencies, update)
45
38
  return unless update
46
39
 
47
- update_specification_contents(update, "Gemfile", GemfileFilter)
40
+ update if update_specification_contents(update, "Gemfile", GemfileFilter)
48
41
  end
49
42
 
50
43
  def update_gemspec_contents(update)
@@ -53,13 +46,13 @@ module KeepUp
53
46
  update = find_specification_update(dependencies, update)
54
47
  return unless update
55
48
 
56
- update_specification_contents(update, gemspec_name, GemspecFilter)
49
+ update if update_specification_contents(update, gemspec_name, GemspecFilter)
57
50
  end
58
51
 
59
52
  # Update lockfile and return resulting spec, or false in case of failure
60
53
  def update_lockfile(update)
61
54
  update_name = update.name
62
- command = "bundle update#{' --local' if @local} --conservative #{update_name}"
55
+ command = "bundle update#{" --local" if @local} --conservative #{update_name}"
63
56
  lines = run_filtered command, UPDATE_MATCHER
64
57
  lines.each do |name, version, old_version|
65
58
  next unless name == update_name && old_version
@@ -74,18 +67,33 @@ module KeepUp
74
67
  private
75
68
 
76
69
  def gemspec
77
- @gemspec ||= if gemspec_name
78
- gemspec_path = File.expand_path(gemspec_name)
79
- eval File.read(gemspec_name), nil, gemspec_path
80
- end
70
+ @gemspec ||=
71
+ if gemspec_name
72
+ gemspec_path = File.expand_path(gemspec_name)
73
+ eval File.read(gemspec_name), nil, gemspec_path
74
+ end
81
75
  end
82
76
 
83
77
  def gemspec_dependencies
84
- @gemspec_dependencies ||= if gemspec
85
- gemspec.dependencies
86
- else
87
- []
88
- end
78
+ @gemspec_dependencies ||=
79
+ if gemspec
80
+ gemspec.dependencies
81
+ else
82
+ []
83
+ end
84
+ end
85
+
86
+ def build_dependency(name, newest, version, requirement)
87
+ requirement_list = requirement&.split(/,\s*/)
88
+ requirement_list ||= fetch_gemspec_dependency_requirements(name)
89
+ version = version.split.first
90
+ newest = newest.split.first
91
+ Dependency.new(
92
+ name: name,
93
+ locked_version: version,
94
+ newest_version: newest,
95
+ requirement_list: requirement_list
96
+ )
89
97
  end
90
98
 
91
99
  def fetch_gemspec_dependency_requirements(name)
@@ -103,7 +111,14 @@ module KeepUp
103
111
  end
104
112
 
105
113
  def update_specification_contents(update, file, filter)
106
- File.write file, filter.apply(File.read(file), update)
114
+ contents = File.read(file)
115
+ updated_contents = filter.apply(contents, update)
116
+ if contents == updated_contents
117
+ false
118
+ else
119
+ File.write file, updated_contents
120
+ true
121
+ end
107
122
  end
108
123
 
109
124
  def gemspec_name
@@ -117,7 +132,7 @@ module KeepUp
117
132
  matchdata = regexp.match line
118
133
  next unless matchdata
119
134
 
120
- matchdata.to_a[1..-1]
135
+ matchdata.to_a[1..]
121
136
  end.compact
122
137
  end
123
138
  end
@@ -44,10 +44,11 @@ module KeepUp
44
44
  end
45
45
 
46
46
  def segment_count
47
- @segment_count ||= begin
48
- _, ver = requirement.requirements.first
49
- ver.segments.count
50
- end
47
+ @segment_count ||=
48
+ begin
49
+ _, ver = requirement.requirements.first
50
+ ver.segments.count
51
+ end
51
52
  end
52
53
  end
53
54
  end
@@ -7,8 +7,7 @@ module KeepUp
7
7
  class Updater
8
8
  attr_reader :bundle, :version_control, :filter
9
9
 
10
- def initialize(bundle:, version_control:,
11
- filter: NullFilter.new, out: STDOUT)
10
+ def initialize(bundle:, version_control:, filter: NullFilter.new, out: $stdout)
12
11
  @bundle = bundle
13
12
  @version_control = version_control
14
13
  @filter = filter
@@ -36,23 +35,23 @@ module KeepUp
36
35
 
37
36
  def apply_updated_dependency(dependency)
38
37
  report_intent dependency
39
- bundle.update_gemfile_contents(dependency)
40
- bundle.update_gemspec_contents(dependency)
38
+ update = bundle.update_gemspec_contents(dependency)
39
+ update2 = bundle.update_gemfile_contents(dependency)
40
+ update ||= update2
41
41
  result = bundle.update_lockfile(dependency)
42
42
  report_result dependency, result
43
- result
43
+ update || result if result
44
44
  end
45
45
 
46
46
  def report_intent(dependency)
47
- @out.print "Updating #{dependency.name}"
47
+ @out.puts "Updating #{dependency.name}"
48
48
  end
49
49
 
50
50
  def report_result(dependency, result)
51
51
  if result
52
- @out.puts " to #{result.version}"
52
+ @out.puts "Updated #{dependency.name} to #{result.version}"
53
53
  else
54
- @out.puts " to #{dependency.version}"
55
- @out.puts "Update failed"
54
+ @out.puts "Failed updating #{dependency.name} to #{dependency.version}"
56
55
  end
57
56
  end
58
57
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module KeepUp
4
- VERSION = "0.8.1"
4
+ VERSION = "0.10.1"
5
5
  end
@@ -8,7 +8,8 @@ module KeepUp
8
8
  end
9
9
 
10
10
  def commit_changes(dependency)
11
- @runner.run "git commit -am 'Auto-update #{dependency.name} to #{dependency.version}'"
11
+ message = "Update #{dependency.name} to version #{dependency.version}"
12
+ @runner.run "git commit -am '#{message}'"
12
13
  end
13
14
 
14
15
  def revert_changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: keep_up
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matijs van Zuijlen
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-30 00:00:00.000000000 Z
11
+ date: 2022-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -36,28 +36,28 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 0.14.2
39
+ version: '2.0'
40
40
  type: :development
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 0.14.2
46
+ version: '2.0'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: cucumber
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '3.1'
53
+ version: '7.0'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '3.1'
60
+ version: '7.0'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: rake
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -72,6 +72,20 @@ dependencies:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
74
  version: '13.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rake-manifest
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: 0.2.0
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: 0.2.0
75
89
  - !ruby/object:Gem::Dependency
76
90
  name: rspec
77
91
  requirement: !ruby/object:Gem::Requirement
@@ -86,20 +100,62 @@ dependencies:
86
100
  - - "~>"
87
101
  - !ruby/object:Gem::Version
88
102
  version: '3.0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: rubocop
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '1.25'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '1.25'
117
+ - !ruby/object:Gem::Dependency
118
+ name: rubocop-performance
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '1.13'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '1.13'
131
+ - !ruby/object:Gem::Dependency
132
+ name: rubocop-rspec
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '2.7'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '2.7'
89
145
  - !ruby/object:Gem::Dependency
90
146
  name: simplecov
91
147
  requirement: !ruby/object:Gem::Requirement
92
148
  requirements:
93
149
  - - "~>"
94
150
  - !ruby/object:Gem::Version
95
- version: 0.17.0
151
+ version: 0.21.0
96
152
  type: :development
97
153
  prerelease: false
98
154
  version_requirements: !ruby/object:Gem::Requirement
99
155
  requirements:
100
156
  - - "~>"
101
157
  - !ruby/object:Gem::Version
102
- version: 0.17.0
158
+ version: 0.21.0
103
159
  description: Automatically update the dependencies listed in your Gemfile, Gemfile.lock,
104
160
  and gemspec.
105
161
  email:
@@ -109,23 +165,11 @@ executables:
109
165
  extensions: []
110
166
  extra_rdoc_files: []
111
167
  files:
112
- - ".dockerignore"
113
- - ".gitignore"
114
- - ".hound.yml"
115
- - ".rspec"
116
- - ".rubocop.yml"
117
- - ".rubocop_todo.yml"
118
- - ".simplecov"
119
- - ".travis.yml"
120
168
  - CHANGELOG.md
121
169
  - CODE_OF_CONDUCT.md
122
- - Dockerfile
123
- - Gemfile
124
170
  - LICENSE.txt
125
171
  - README.md
126
- - Rakefile
127
172
  - bin/keep_up
128
- - keep_up.gemspec
129
173
  - lib/keep_up.rb
130
174
  - lib/keep_up/application.rb
131
175
  - lib/keep_up/bundle.rb
@@ -141,8 +185,10 @@ files:
141
185
  homepage: https://github.com/mvz/keep_up
142
186
  licenses:
143
187
  - MIT
144
- metadata: {}
145
- post_install_message:
188
+ metadata:
189
+ homepage_uri: https://github.com/mvz/keep_up
190
+ rubygems_mfa_required: 'true'
191
+ post_install_message:
146
192
  rdoc_options: []
147
193
  require_paths:
148
194
  - lib
@@ -150,15 +196,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
150
196
  requirements:
151
197
  - - ">="
152
198
  - !ruby/object:Gem::Version
153
- version: 2.4.0
199
+ version: 2.6.0
154
200
  required_rubygems_version: !ruby/object:Gem::Requirement
155
201
  requirements:
156
202
  - - ">="
157
203
  - !ruby/object:Gem::Version
158
204
  version: '0'
159
205
  requirements: []
160
- rubygems_version: 3.1.2
161
- signing_key:
206
+ rubygems_version: 3.3.7
207
+ signing_key:
162
208
  specification_version: 4
163
209
  summary: Automatically update your dependencies
164
210
  test_files: []
data/.dockerignore DELETED
@@ -1,3 +0,0 @@
1
- tmp/
2
- Dockerfile
3
- .dockerignore
data/.gitignore DELETED
@@ -1,9 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /pkg/
8
- /spec/reports/
9
- /tmp/
data/.hound.yml DELETED
@@ -1,2 +0,0 @@
1
- rubocop:
2
- config_file: .rubocop.yml
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --format documentation
2
- --color
data/.rubocop.yml DELETED
@@ -1,75 +0,0 @@
1
- inherit_from: .rubocop_todo.yml
2
-
3
- require:
4
- - rubocop-rspec
5
- - rubocop-performance
6
-
7
- AllCops:
8
- Exclude:
9
- - 'tmp/**/*'
10
- TargetRubyVersion: 2.4
11
-
12
- # Require lines to fit in pull requests.
13
- Layout/LineLength:
14
- Max: 92
15
-
16
- # Don't force lonely closing parentheses
17
- Layout/MultilineMethodCallBraceLayout:
18
- EnforcedStyle: same_line
19
-
20
- # Multi-line method calls should be simply indented. Aligning them makes it
21
- # even harder to keep a sane line length.
22
- Layout/MultilineMethodCallIndentation:
23
- EnforcedStyle: indented
24
-
25
- # Multi-line assignment should be simply indented. Aligning them makes it even
26
- # harder to keep a sane line length.
27
- Layout/MultilineOperationIndentation:
28
- EnforcedStyle: indented
29
-
30
- # Force consistent spacing independent of block contents
31
- Layout/SpaceBeforeBlockBraces:
32
- EnforcedStyleForEmptyBraces: space
33
-
34
- # This cop gives bad advice
35
- Lint/AmbiguousBlockAssociation:
36
- Enabled: false
37
-
38
- # Allow if (foo = get_foo) style
39
- Lint/AssignmentInCondition:
40
- AllowSafeAssignment: true
41
-
42
- # Spec describe blocks can be any size
43
- Metrics/BlockLength:
44
- Exclude:
45
- - 'spec/**/*'
46
-
47
- # Allow and/or for control flow only
48
- Style/AndOr:
49
- EnforcedStyle: conditionals
50
-
51
- # Require at least two dependent lines before suggesting a guard clause
52
- Style/GuardClause:
53
- MinBodyLength: 2
54
-
55
- # Explicite numbers are often clearer, and more robust.
56
- Style/NumericPredicate:
57
- Enabled: false
58
-
59
- # Allow explicit return with multiple return values
60
- Style/RedundantReturn:
61
- AllowMultipleReturnValues: true
62
-
63
- # Do not commit to use of interpolation
64
- Style/StringLiterals:
65
- EnforcedStyle: double_quotes
66
-
67
- # Prefer symbols to look like symbols
68
- Style/SymbolArray:
69
- EnforcedStyle: brackets
70
-
71
- # Project-specific configuration goes here.
72
-
73
- # Allow deeper nesting for spec organization
74
- RSpec/NestedGroups:
75
- Max: 4
data/.rubocop_todo.yml DELETED
@@ -1,17 +0,0 @@
1
- # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2019-12-22 13:07:39 +0100 using RuboCop version 0.78.0.
4
- # The point is for the user to remove these configuration records
5
- # one by one as the offenses are removed from the code base.
6
- # Note that changes in the inspected code, or installation of new
7
- # versions of RuboCop, may require this file to be generated again.
8
-
9
- # Offense count: 1
10
- # Configuration parameters: CountComments, ExcludedMethods.
11
- Metrics/MethodLength:
12
- Max: 15
13
-
14
- # Offense count: 1
15
- Security/Eval:
16
- Exclude:
17
- - 'lib/keep_up/bundle.rb'
data/.simplecov DELETED
@@ -1,9 +0,0 @@
1
- SimpleCov.start do
2
- track_files 'lib/**/*.rb'
3
- add_filter 'spec/'
4
- coverage_dir 'tmp/coverage'
5
- end
6
-
7
- SimpleCov.at_exit do
8
- SimpleCov.result.format!
9
- end
data/.travis.yml DELETED
@@ -1,25 +0,0 @@
1
- language: ruby
2
-
3
- dist: xenial
4
-
5
- before_script:
6
- - git config --global user.email "you@example.com"
7
- - git config --global user.name "Your Name"
8
-
9
- cache:
10
- bundler: true
11
-
12
- rvm:
13
- - 2.4
14
- - 2.5
15
- - 2.6
16
- - 2.7
17
- - ruby-head
18
-
19
- matrix:
20
- allow_failures:
21
- - rvm: ruby-head
22
-
23
- branches:
24
- only:
25
- - master
data/Dockerfile DELETED
@@ -1,21 +0,0 @@
1
- FROM ruby:2.4.0
2
-
3
- RUN mkdir /keep_up
4
- WORKDIR /keep_up
5
-
6
- # Set up minimum files to run bundler
7
- ADD Gemfile /keep_up
8
- ADD keep_up.gemspec /keep_up
9
- RUN mkdir -p /keep_up/lib/keep_up
10
- ADD lib/keep_up/version.rb /keep_up/lib/keep_up
11
- ADD .git /keep_up
12
-
13
- RUN bundle install
14
-
15
- RUN gem uninstall bunder -xa
16
- RUN gem install bundler --version=1.13.7
17
- RUN git config --global user.email "you@example.com"
18
- RUN git config --global user.name "Your Name"
19
-
20
- ADD . /keep_up
21
- RUN bundle exec rake
data/Gemfile DELETED
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source "https://rubygems.org"
4
-
5
- # Specify your gem's dependencies in keep_up.gemspec
6
- gemspec
data/Rakefile DELETED
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "bundler/gem_tasks"
4
- require "rspec/core/rake_task"
5
- require "cucumber/rake/task"
6
-
7
- RSpec::Core::RakeTask.new(:spec) do |t|
8
- t.ruby_opts = ["-w"]
9
- end
10
-
11
- Cucumber::Rake::Task.new(:features)
12
-
13
- task default: [:spec, :features]
data/keep_up.gemspec DELETED
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- lib = File.expand_path("lib", __dir__)
4
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require "keep_up/version"
6
-
7
- Gem::Specification.new do |spec|
8
- spec.name = "keep_up"
9
- spec.version = KeepUp::VERSION
10
- spec.authors = ["Matijs van Zuijlen"]
11
- spec.email = ["matijs@matijs.net"]
12
-
13
- spec.summary = "Automatically update your dependencies"
14
- spec.description =
15
- "Automatically update the dependencies listed in your Gemfile," \
16
- " Gemfile.lock, and gemspec."
17
- spec.homepage = "https://github.com/mvz/keep_up"
18
- spec.license = "MIT"
19
-
20
- spec.files = `git ls-files -z`.split("\x0")
21
- .reject { |f| f.match(%r{^(test|script|spec|features)/}) }
22
-
23
- spec.bindir = "bin"
24
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
25
- spec.require_paths = ["lib"]
26
-
27
- spec.required_ruby_version = ">= 2.4.0"
28
-
29
- spec.add_runtime_dependency "bundler", [">= 1.15", "< 3.0"]
30
-
31
- spec.add_development_dependency "aruba", "~> 0.14.2"
32
- spec.add_development_dependency "cucumber", "~> 3.1"
33
- spec.add_development_dependency "rake", "~> 13.0"
34
- spec.add_development_dependency "rspec", "~> 3.0"
35
- spec.add_development_dependency "simplecov", "~> 0.17.0"
36
- end