checkoff 0.39.3 → 0.40.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
  SHA256:
3
- metadata.gz: aa2ffaa601bf3d945584d0a6980995e752540b8360b881b5b43a11687f850580
4
- data.tar.gz: a3b1cec57d8681bacbda6846c7b2e6687c5c82ed9686b9f8923b724a186c1ed1
3
+ metadata.gz: 42f156ed0a4b85a8fa1b0887a74c3df016d8245293c547ea6b2ed49be7254b18
4
+ data.tar.gz: 55e6d2c6c560e4c74c18c8db95f079a36637912973e849154f1f2e2bcb724f97
5
5
  SHA512:
6
- metadata.gz: '0829ec340d5422c372e8d30fd2e2558bcebf4064efe9204c8976ac7356fc89eade3729b501bcc6b4094869654eaad19bba912b08943ee7b8c3d2e91d0c6bb80b'
7
- data.tar.gz: 2ec581cea785506d3cf52d4776de02dea6ae260b24a15ade128350a353b50fd41e641ac80a8cdf5de99b51c800b10a86f68efc0a744ca3236bd0261e6ee107e5
6
+ metadata.gz: 8e200395f12114df856c15c030dcbf4d2a8a7a77333cd431881352975655fa7d6a559626dafb15d9f93c9fbcec47e6c1d1be5afc6f7ee6e5d816d315b4566d20
7
+ data.tar.gz: 6ce670c2ce1e0b783ca3d044b1e957004dc460cc0b207cda9f7ce12898021c32c94efa44bd4e1a652f76f2986c3a4d9873afbe1fe9e3eeec32df8ab4b9e40072
@@ -8,6 +8,7 @@ module Overcommit
8
8
  module PreCommit
9
9
  # CircleCI plugin for Overcommit to validate config file (.circleci/config.yml)
10
10
  class CircleCi < Base
11
+ # @return [Symbol, Array<[Symbol, String]>]
11
12
  def run
12
13
  result = execute(command)
13
14
  return :pass if result.success?
@@ -10,7 +10,7 @@ module Overcommit
10
10
  # Runs `punchlist` against any modified Ruby files.
11
11
  class Punchlist < Base
12
12
  # @param stdout [String]
13
- # @return [Array<Overcommit::Hook::Message]
13
+ # @return [Array<Overcommit::Hook::Message>]
14
14
  def parse_output(stdout)
15
15
  stdout.split("\n").map do |line|
16
16
  # @sg-ignore
@@ -19,12 +19,14 @@ module Overcommit
19
19
  end
20
20
  end
21
21
 
22
+ # @return [String]
22
23
  def files_glob
23
24
  "{" \
24
25
  "#{applicable_files.join(',')}" \
25
26
  "}"
26
27
  end
27
28
 
29
+ # @return [Symbol, Array<Overcommit::Hook::Message>]
28
30
  def run
29
31
  # @sg-ignore
30
32
  # @type [Overcommit::Subprocess::Result]
@@ -11,6 +11,7 @@ module Overcommit
11
11
  module PreCommit
12
12
  # Runs `solargraph typecheck` against any modified Ruby files.
13
13
  class SolargraphTypecheck < Base
14
+ # @return [Array<String>]
14
15
  def run
15
16
  errors = []
16
17
 
@@ -24,8 +25,11 @@ module Overcommit
24
25
 
25
26
  private
26
27
 
28
+ # @param file [String]
29
+ # @param errors [Array<String>]
30
+ # @return [void]
27
31
  def generate_errors_for_file(file, errors)
28
- result = execute(['bundle', 'exec', 'solargraph', 'typecheck', '--level', 'strict', file])
32
+ result = execute(['bundle', 'exec', 'solargraph', 'typecheck', '--level', 'strong', file])
29
33
  return if result.success?
30
34
 
31
35
  # @type [String]
@@ -37,6 +41,9 @@ module Overcommit
37
41
  end
38
42
  end
39
43
 
44
+ # @param file [String]
45
+ # @param error [String]
46
+ # @return [Overcommit::Hook::Message, nil]
40
47
  def parse_error(file, error)
41
48
  # Parse the result for the line number # @type [MatchData]
42
49
  match = error.match(/^(.+?):(\d+)/)
data/.solargraph.yml CHANGED
@@ -4,6 +4,7 @@ include:
4
4
  - ".git-hooks/**/*.rb"
5
5
  exclude:
6
6
  - spec/**/*
7
+ - feature/**/*
7
8
  - test/**/*
8
9
  - vendor/**/*
9
10
  - ".bundle/**/*"
@@ -12,7 +13,7 @@ domains: []
12
13
  reporters:
13
14
  - rubocop
14
15
  - require_not_found
15
- - typecheck:strict
16
+ - typecheck:strong
16
17
  - update_errors
17
18
  formatter:
18
19
  rubocop:
data/Gemfile CHANGED
@@ -5,6 +5,31 @@ source 'https://rubygems.org'
5
5
  # Specify your gem's dependencies in checkoff.gemspec
6
6
  gemspec
7
7
 
8
+ gem 'bump'
9
+ gem 'bundler'
10
+ gem 'fakeweb'
11
+ gem 'mdl'
12
+ gem 'minitest-profile'
13
+ gem 'minitest-reporters'
14
+ gem 'mocha', ['~> 2.0.0.alpha.1']
15
+ # 0.58.0 and 0.57.0 don't seem super compatible with signatures, and
16
+ # magit doesn't seem to want to use the bundled version at the moment,
17
+ # so let's favor the more recent version...
18
+ gem 'overcommit', ['>=0.60.0', '<0.61.0']
19
+ gem 'pry'
20
+ gem 'punchlist'
21
+ gem 'rake', '~> 13.0'
22
+ gem 'rbs'
23
+ gem 'rubocop', ['~> 1.52']
24
+ gem 'rubocop-minitest'
25
+ gem 'rubocop-rake'
26
+ # ensure version with branch coverage
27
+ gem 'simplecov', ['>=0.18.0']
28
+ gem 'simplecov-lcov'
29
+ gem 'solargraph', ['>=0.49.0']
30
+ gem 'undercover'
31
+ gem 'webmock'
32
+
8
33
  # ruby-asana gem is pending key bugfixes for checkoff as of
9
34
  # 2021-07-29:
10
35
  #
data/Gemfile.lock CHANGED
@@ -12,7 +12,7 @@ GIT
12
12
  PATH
13
13
  remote: .
14
14
  specs:
15
- checkoff (0.39.3)
15
+ checkoff (0.40.0)
16
16
  activesupport
17
17
  asana (> 0.10.0)
18
18
  cache_method
@@ -45,7 +45,7 @@ GEM
45
45
  concurrent-ruby (1.2.2)
46
46
  crack (0.4.5)
47
47
  rexml
48
- dalli (3.2.4)
48
+ dalli (3.2.5)
49
49
  diff-lcs (1.5.0)
50
50
  docile (1.4.0)
51
51
  e2mmap (0.1.0)
@@ -79,8 +79,8 @@ GEM
79
79
  imagen (0.1.8)
80
80
  parser (>= 2.5, != 2.5.1.1)
81
81
  iniparse (1.5.0)
82
- jaro_winkler (1.5.4)
83
- json (2.6.2)
82
+ jaro_winkler (1.5.6)
83
+ json (2.6.3)
84
84
  jwt (2.2.3)
85
85
  kramdown (2.4.0)
86
86
  rexml
@@ -110,12 +110,12 @@ GEM
110
110
  multi_json (1.15.0)
111
111
  multi_xml (0.6.0)
112
112
  multipart-post (2.1.1)
113
- nokogiri (1.14.3)
114
- mini_portile2 (~> 2.8.0)
113
+ nokogiri (1.15.2)
114
+ mini_portile2 (~> 2.8.2)
115
115
  racc (~> 1.4)
116
- nokogiri (1.14.3-x86_64-darwin)
116
+ nokogiri (1.15.2-x86_64-darwin)
117
117
  racc (~> 1.4)
118
- nokogiri (1.14.3-x86_64-linux)
118
+ nokogiri (1.15.2-x86_64-linux)
119
119
  racc (~> 1.4)
120
120
  oauth2 (1.4.11)
121
121
  faraday (>= 0.17.3, < 3.0)
@@ -127,8 +127,8 @@ GEM
127
127
  childprocess (>= 0.6.3, < 5)
128
128
  iniparse (~> 1.4)
129
129
  rexml (~> 3.2)
130
- parallel (1.22.1)
131
- parser (3.1.2.1)
130
+ parallel (1.23.0)
131
+ parser (3.2.2.1)
132
132
  ast (~> 2.4.1)
133
133
  pry (0.14.1)
134
134
  coderay (~> 1.1)
@@ -136,27 +136,27 @@ GEM
136
136
  public_suffix (5.0.0)
137
137
  punchlist (1.3.0)
138
138
  source_finder (>= 2)
139
- racc (1.6.2)
139
+ racc (1.7.1)
140
140
  rack (3.0.6.1)
141
141
  rainbow (3.1.1)
142
142
  rake (13.0.3)
143
- rbs (3.1.0)
144
- regexp_parser (2.6.0)
143
+ rbs (2.8.4)
144
+ regexp_parser (2.8.0)
145
145
  reverse_markdown (2.1.1)
146
146
  nokogiri
147
147
  rexml (3.2.5)
148
- rubocop (1.36.0)
148
+ rubocop (1.52.0)
149
149
  json (~> 2.3)
150
150
  parallel (~> 1.10)
151
- parser (>= 3.1.2.1)
151
+ parser (>= 3.2.0.0)
152
152
  rainbow (>= 2.2.2, < 4.0)
153
153
  regexp_parser (>= 1.8, < 3.0)
154
154
  rexml (>= 3.2.5, < 4.0)
155
- rubocop-ast (>= 1.20.1, < 2.0)
155
+ rubocop-ast (>= 1.28.0, < 2.0)
156
156
  ruby-progressbar (~> 1.7)
157
- unicode-display_width (>= 1.4.0, < 3.0)
158
- rubocop-ast (1.22.0)
159
- parser (>= 3.1.1.0)
157
+ unicode-display_width (>= 2.4.0, < 3.0)
158
+ rubocop-ast (1.29.0)
159
+ parser (>= 3.2.1.0)
160
160
  rubocop-minitest (0.12.1)
161
161
  rubocop (>= 0.90, < 2.0)
162
162
  rubocop-rake (0.5.1)
@@ -171,24 +171,25 @@ GEM
171
171
  simplecov-html (0.12.3)
172
172
  simplecov-lcov (0.8.0)
173
173
  simplecov_json_formatter (0.1.3)
174
- solargraph (0.48.0)
174
+ solargraph (0.49.0)
175
175
  backport (~> 1.2)
176
176
  benchmark
177
- bundler (>= 1.17.2)
177
+ bundler (~> 2.0)
178
178
  diff-lcs (~> 1.4)
179
179
  e2mmap
180
180
  jaro_winkler (~> 1.5)
181
181
  kramdown (~> 2.3)
182
182
  kramdown-parser-gfm (~> 1.1)
183
183
  parser (~> 3.0)
184
- reverse_markdown (>= 1.0.5, < 3)
185
- rubocop (>= 0.52)
184
+ rbs (~> 2.0)
185
+ reverse_markdown (~> 2.0)
186
+ rubocop (~> 1.38)
186
187
  thor (~> 1.0)
187
188
  tilt (~> 2.0)
188
189
  yard (~> 0.9, >= 0.9.24)
189
190
  source_finder (3.2.1)
190
- thor (1.2.1)
191
- tilt (2.1.0)
191
+ thor (1.2.2)
192
+ tilt (2.2.0)
192
193
  tomlrb (2.0.3)
193
194
  tzinfo (2.0.6)
194
195
  concurrent-ruby (~> 1.0)
@@ -196,7 +197,7 @@ GEM
196
197
  imagen (>= 0.1.8)
197
198
  rainbow (>= 2.1, < 4.0)
198
199
  rugged (>= 0.27, < 1.6)
199
- unicode-display_width (2.3.0)
200
+ unicode-display_width (2.4.2)
200
201
  webmock (3.18.1)
201
202
  addressable (>= 2.8.0)
202
203
  crack (>= 0.3.2)
@@ -225,13 +226,13 @@ DEPENDENCIES
225
226
  pry
226
227
  punchlist
227
228
  rake (~> 13.0)
228
- rbs (> 3.0.3)
229
- rubocop (~> 1.36, < 1.44)
229
+ rbs
230
+ rubocop (~> 1.52)
230
231
  rubocop-minitest
231
232
  rubocop-rake
232
233
  simplecov (>= 0.18.0)
233
234
  simplecov-lcov
234
- solargraph
235
+ solargraph (>= 0.49.0)
235
236
  undercover
236
237
  webmock
237
238
 
data/checkoff.gemspec CHANGED
@@ -30,33 +30,6 @@ Gem::Specification.new do |spec|
30
30
  spec.add_runtime_dependency 'dalli'
31
31
  spec.add_runtime_dependency 'gli'
32
32
 
33
- spec.add_development_dependency 'bump'
34
- spec.add_development_dependency 'bundler'
35
- spec.add_development_dependency 'fakeweb'
36
- spec.add_development_dependency 'mdl'
37
- spec.add_development_dependency 'minitest-profile'
38
- spec.add_development_dependency 'minitest-reporters'
39
- spec.add_development_dependency 'mocha', ['~> 2.0.0.alpha.1']
40
- # 0.58.0 and 0.57.0 don't seem super compatible with signatures, and
41
- # magit doesn't seem to want to use the bundled version at the moment,
42
- # so let's favor the more recent version...
43
- spec.add_development_dependency 'overcommit', ['>=0.60.0', '<0.61.0']
44
- spec.add_development_dependency 'pry'
45
- spec.add_development_dependency 'punchlist'
46
- spec.add_development_dependency 'rake', '~> 13.0'
47
- # ensure recent definitions
48
- spec.add_development_dependency 'rbs', ['>3.0.3']
49
- # I haven't adapted things to Gemspec/DevelopmentDependencies yet,
50
- # which arrives in 1.44
51
- spec.add_development_dependency 'rubocop', ['~> 1.36', '<1.44']
52
- spec.add_development_dependency 'rubocop-minitest'
53
- spec.add_development_dependency 'rubocop-rake'
54
- # ensure version with branch coverage
55
- spec.add_development_dependency 'simplecov', ['>=0.18.0']
56
- spec.add_development_dependency 'simplecov-lcov'
57
- spec.add_development_dependency 'solargraph'
58
- spec.add_development_dependency 'undercover'
59
- spec.add_development_dependency 'webmock'
60
33
  spec.metadata = {
61
34
  'rubygems_mfa_required' => 'true',
62
35
  }
@@ -75,7 +75,7 @@ end
75
75
 
76
76
  # :nocov:
77
77
  abs_program_name = File.expand_path(\$PROGRAM_NAME)
78
- Checkoff::${class_name}.run if abs_program_name == __FILE__
78
+ Checkoff::${class_name}.run if abs_program_name == File.expand_path(__FILE__)
79
79
  # :nocov:
80
80
  EOF
81
81
 
@@ -17,7 +17,7 @@ module Checkoff
17
17
  attr_reader :gid, :remaining_params
18
18
 
19
19
  def ensure_no_remaining_params!
20
- return if remaining_params.length.zero?
20
+ return if remaining_params.empty?
21
21
 
22
22
  raise "Teach me how to handle these remaining keys: #{remaining_params}"
23
23
  end
@@ -62,7 +62,8 @@ module Checkoff
62
62
  def convert
63
63
  selected_options = fetch_solo_param("custom_field_#{gid}.selected_options").split('~')
64
64
 
65
- [{ "custom_fields.#{gid}.is_set" => 'true' },
65
+ # note: task does not need to contain this custom field
66
+ [{},
66
67
  ['not',
67
68
  ['custom_field_gid_value_contains_any_gid',
68
69
  gid,
@@ -31,12 +31,20 @@ module Checkoff
31
31
  end
32
32
  end
33
33
 
34
- attr_reader :key, :values
34
+ # @return [String]
35
+ attr_reader :key
36
+
37
+ # @return [Array<String>]
38
+ attr_reader :values
35
39
 
36
40
  # Inputs:
37
41
  # 123_column_456 means "abc" project, "def" section
38
42
  # 123 means "abc" project
39
43
  # 123~456 means "abc" and "def" projects
44
+ #
45
+ # @param projects [Array<String>]
46
+ # @param sections [Array<String>]
47
+ # @return [void]
40
48
  def parse_projects_and_sections(projects, sections)
41
49
  single_value.split('~').each do |project_section_pair|
42
50
  # @sg-ignore
@@ -49,6 +57,8 @@ module Checkoff
49
57
  end
50
58
  end
51
59
 
60
+ # @param verb [String]
61
+ # @return [Array<String>]
52
62
  def convert_from_projects_and_sections(verb)
53
63
  projects = []
54
64
  sections = []
@@ -62,6 +72,7 @@ module Checkoff
62
72
 
63
73
  # Handle 'any_projects.ids' search url param
64
74
  class AnyProjectsIds < SimpleParam
75
+ # @return [Array<String>]
65
76
  def convert
66
77
  convert_from_projects_and_sections('any')
67
78
  end
@@ -69,6 +80,7 @@ module Checkoff
69
80
 
70
81
  # Handle 'not_projects.ids' search url param
71
82
  class NotProjectsIds < SimpleParam
83
+ # @return [Array<String>]
72
84
  def convert
73
85
  convert_from_projects_and_sections('not')
74
86
  end
@@ -76,6 +88,7 @@ module Checkoff
76
88
 
77
89
  # Handle 'completion' search url param
78
90
  class Completion < SimpleParam
91
+ # @return [Array<String>]
79
92
  def convert
80
93
  case single_value
81
94
  when 'incomplete'
@@ -90,6 +103,7 @@ module Checkoff
90
103
 
91
104
  # Handle 'not_tags.ids' search url param
92
105
  class NotTagsIds < SimpleParam
106
+ # @return [Array<String>]
93
107
  def convert
94
108
  tag_ids = single_value.split('~')
95
109
  ['tags.not', tag_ids.join(',')]
@@ -98,6 +112,7 @@ module Checkoff
98
112
 
99
113
  # handle 'subtask' search url param
100
114
  class Subtask < SimpleParam
115
+ # @return [Array<[String, Boolean]>]
101
116
  def convert
102
117
  case single_value
103
118
  when 'is_not_subtask'
@@ -112,6 +127,7 @@ module Checkoff
112
127
 
113
128
  # Handle 'any_tags.ids' search url param
114
129
  class AnyTagsIds < SimpleParam
130
+ # @return [Array<String>]
115
131
  def convert
116
132
  tag_ids = single_value.split('~')
117
133
  ['tags.any', tag_ids.join(',')]
@@ -120,6 +136,7 @@ module Checkoff
120
136
 
121
137
  # Handle 'sort' search url param
122
138
  class Sort < SimpleParam
139
+ # @return [Array<String>]
123
140
  def convert
124
141
  # https://developers.asana.com/reference/searchtasksforworkspace
125
142
  conversion = {
@@ -132,6 +149,16 @@ module Checkoff
132
149
  ['sort_by', conversion.fetch(single_value)]
133
150
  end
134
151
  end
152
+
153
+ # Handle 'milestone' search url param
154
+ class Milestone < SimpleParam
155
+ # @return [Array<String>]
156
+ def convert
157
+ return %w[resource_subtype milestone] if single_value == 'is_milestone'
158
+
159
+ raise "Teach me how to handle #{key} = #{values}"
160
+ end
161
+ end
135
162
  end
136
163
 
137
164
  # Convert simple parameters - ones where the param name itself
@@ -160,6 +187,7 @@ module Checkoff
160
187
  'any_tags.ids' => SimpleParam::AnyTagsIds,
161
188
  'subtask' => SimpleParam::Subtask,
162
189
  'sort' => SimpleParam::Sort,
190
+ 'milestone' => SimpleParam::Milestone,
163
191
  }.freeze
164
192
 
165
193
  # https://developers.asana.com/docs/search-tasks-in-a-workspace
@@ -170,12 +198,14 @@ module Checkoff
170
198
  def convert_arg(key, values)
171
199
  # @type [Class<SimpleParam::SimpleParam>]
172
200
  clazz = ARGS.fetch(key)
201
+ # @sg-ignore
173
202
  # @type [SimpleParam::SimpleParam]
174
203
  obj = clazz.new(key: key, values: values)
175
204
  # @sg-ignore
176
205
  obj.convert
177
206
  end
178
207
 
208
+ # @return [Hash<String, Array<String>>]
179
209
  attr_reader :simple_url_params
180
210
  end
181
211
  end
@@ -58,6 +58,9 @@ module Checkoff
58
58
  # @param extra_fields [Array<String>]
59
59
  # @return [Hash{[String, nil] => Array<Asana::Resources::Task>}]
60
60
  def tasks_by_section(workspace_name, project_name, extra_fields: [])
61
+ raise ArgumentError, 'Provided nil workspace name' if workspace_name.nil?
62
+ raise ArgumentError, 'Provided nil project name' if project_name.nil?
63
+
61
64
  project = project_or_raise(workspace_name, project_name)
62
65
  if project_name == :my_tasks
63
66
  my_tasks.tasks_by_section_for_my_tasks(project, extra_fields: extra_fields)
@@ -175,6 +178,8 @@ module Checkoff
175
178
  # @param project_name [String, Symbol]
176
179
  # @return [Asana::Resources::Project]
177
180
  def project_or_raise(workspace_name, project_name)
181
+ raise ArgumentError, 'Provide nil project_name' if project_name.nil?
182
+
178
183
  project = projects.project(workspace_name, project_name)
179
184
  if project.nil?
180
185
  raise "Could not find project #{project_name} " \
@@ -100,5 +100,5 @@ end
100
100
 
101
101
  # :nocov:
102
102
  abs_program_name = File.expand_path($PROGRAM_NAME)
103
- Checkoff::TaskSearches.run if abs_program_name == __FILE__
103
+ Checkoff::TaskSearches.run if abs_program_name == File.expand_path(__FILE__)
104
104
  # :nocov:
@@ -3,5 +3,5 @@
3
3
  # Command-line and gem client for Asana (unofficial)
4
4
  module Checkoff
5
5
  # Version of library
6
- VERSION = '0.39.3'
6
+ VERSION = '0.40.0'
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: checkoff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.39.3
4
+ version: 0.40.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vince Broz
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-06-07 00:00:00.000000000 Z
11
+ date: 2023-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -80,298 +80,6 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: bump
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: bundler
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: fakeweb
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: mdl
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: minitest-profile
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: minitest-reporters
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: mocha
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - "~>"
172
- - !ruby/object:Gem::Version
173
- version: 2.0.0.alpha.1
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - "~>"
179
- - !ruby/object:Gem::Version
180
- version: 2.0.0.alpha.1
181
- - !ruby/object:Gem::Dependency
182
- name: overcommit
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- version: 0.60.0
188
- - - "<"
189
- - !ruby/object:Gem::Version
190
- version: 0.61.0
191
- type: :development
192
- prerelease: false
193
- version_requirements: !ruby/object:Gem::Requirement
194
- requirements:
195
- - - ">="
196
- - !ruby/object:Gem::Version
197
- version: 0.60.0
198
- - - "<"
199
- - !ruby/object:Gem::Version
200
- version: 0.61.0
201
- - !ruby/object:Gem::Dependency
202
- name: pry
203
- requirement: !ruby/object:Gem::Requirement
204
- requirements:
205
- - - ">="
206
- - !ruby/object:Gem::Version
207
- version: '0'
208
- type: :development
209
- prerelease: false
210
- version_requirements: !ruby/object:Gem::Requirement
211
- requirements:
212
- - - ">="
213
- - !ruby/object:Gem::Version
214
- version: '0'
215
- - !ruby/object:Gem::Dependency
216
- name: punchlist
217
- requirement: !ruby/object:Gem::Requirement
218
- requirements:
219
- - - ">="
220
- - !ruby/object:Gem::Version
221
- version: '0'
222
- type: :development
223
- prerelease: false
224
- version_requirements: !ruby/object:Gem::Requirement
225
- requirements:
226
- - - ">="
227
- - !ruby/object:Gem::Version
228
- version: '0'
229
- - !ruby/object:Gem::Dependency
230
- name: rake
231
- requirement: !ruby/object:Gem::Requirement
232
- requirements:
233
- - - "~>"
234
- - !ruby/object:Gem::Version
235
- version: '13.0'
236
- type: :development
237
- prerelease: false
238
- version_requirements: !ruby/object:Gem::Requirement
239
- requirements:
240
- - - "~>"
241
- - !ruby/object:Gem::Version
242
- version: '13.0'
243
- - !ruby/object:Gem::Dependency
244
- name: rbs
245
- requirement: !ruby/object:Gem::Requirement
246
- requirements:
247
- - - ">"
248
- - !ruby/object:Gem::Version
249
- version: 3.0.3
250
- type: :development
251
- prerelease: false
252
- version_requirements: !ruby/object:Gem::Requirement
253
- requirements:
254
- - - ">"
255
- - !ruby/object:Gem::Version
256
- version: 3.0.3
257
- - !ruby/object:Gem::Dependency
258
- name: rubocop
259
- requirement: !ruby/object:Gem::Requirement
260
- requirements:
261
- - - "~>"
262
- - !ruby/object:Gem::Version
263
- version: '1.36'
264
- - - "<"
265
- - !ruby/object:Gem::Version
266
- version: '1.44'
267
- type: :development
268
- prerelease: false
269
- version_requirements: !ruby/object:Gem::Requirement
270
- requirements:
271
- - - "~>"
272
- - !ruby/object:Gem::Version
273
- version: '1.36'
274
- - - "<"
275
- - !ruby/object:Gem::Version
276
- version: '1.44'
277
- - !ruby/object:Gem::Dependency
278
- name: rubocop-minitest
279
- requirement: !ruby/object:Gem::Requirement
280
- requirements:
281
- - - ">="
282
- - !ruby/object:Gem::Version
283
- version: '0'
284
- type: :development
285
- prerelease: false
286
- version_requirements: !ruby/object:Gem::Requirement
287
- requirements:
288
- - - ">="
289
- - !ruby/object:Gem::Version
290
- version: '0'
291
- - !ruby/object:Gem::Dependency
292
- name: rubocop-rake
293
- requirement: !ruby/object:Gem::Requirement
294
- requirements:
295
- - - ">="
296
- - !ruby/object:Gem::Version
297
- version: '0'
298
- type: :development
299
- prerelease: false
300
- version_requirements: !ruby/object:Gem::Requirement
301
- requirements:
302
- - - ">="
303
- - !ruby/object:Gem::Version
304
- version: '0'
305
- - !ruby/object:Gem::Dependency
306
- name: simplecov
307
- requirement: !ruby/object:Gem::Requirement
308
- requirements:
309
- - - ">="
310
- - !ruby/object:Gem::Version
311
- version: 0.18.0
312
- type: :development
313
- prerelease: false
314
- version_requirements: !ruby/object:Gem::Requirement
315
- requirements:
316
- - - ">="
317
- - !ruby/object:Gem::Version
318
- version: 0.18.0
319
- - !ruby/object:Gem::Dependency
320
- name: simplecov-lcov
321
- requirement: !ruby/object:Gem::Requirement
322
- requirements:
323
- - - ">="
324
- - !ruby/object:Gem::Version
325
- version: '0'
326
- type: :development
327
- prerelease: false
328
- version_requirements: !ruby/object:Gem::Requirement
329
- requirements:
330
- - - ">="
331
- - !ruby/object:Gem::Version
332
- version: '0'
333
- - !ruby/object:Gem::Dependency
334
- name: solargraph
335
- requirement: !ruby/object:Gem::Requirement
336
- requirements:
337
- - - ">="
338
- - !ruby/object:Gem::Version
339
- version: '0'
340
- type: :development
341
- prerelease: false
342
- version_requirements: !ruby/object:Gem::Requirement
343
- requirements:
344
- - - ">="
345
- - !ruby/object:Gem::Version
346
- version: '0'
347
- - !ruby/object:Gem::Dependency
348
- name: undercover
349
- requirement: !ruby/object:Gem::Requirement
350
- requirements:
351
- - - ">="
352
- - !ruby/object:Gem::Version
353
- version: '0'
354
- type: :development
355
- prerelease: false
356
- version_requirements: !ruby/object:Gem::Requirement
357
- requirements:
358
- - - ">="
359
- - !ruby/object:Gem::Version
360
- version: '0'
361
- - !ruby/object:Gem::Dependency
362
- name: webmock
363
- requirement: !ruby/object:Gem::Requirement
364
- requirements:
365
- - - ">="
366
- - !ruby/object:Gem::Version
367
- version: '0'
368
- type: :development
369
- prerelease: false
370
- version_requirements: !ruby/object:Gem::Requirement
371
- requirements:
372
- - - ">="
373
- - !ruby/object:Gem::Version
374
- version: '0'
375
83
  description:
376
84
  email:
377
85
  - vince@broz.cc