checkoff 0.39.3 → 0.40.0

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
  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