checkoff 0.5.2 → 0.7.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 +4 -4
- data/.overcommit.yml +33 -0
- data/.rubocop.yml +127 -2
- data/.travis.yml +7 -2
- data/README.md +2 -0
- data/checkoff.gemspec +5 -4
- data/coverage/.last_run.json +1 -1
- data/lib/checkoff/cli.rb +13 -9
- data/lib/checkoff/config_loader.rb +43 -4
- data/lib/checkoff/projects.rb +7 -8
- data/lib/checkoff/sections.rb +9 -9
- data/lib/checkoff/tasks.rb +2 -2
- data/lib/checkoff/version.rb +1 -1
- data/lib/checkoff/workspaces.rb +2 -2
- data/lib/tasks/quality.rake +2 -2
- data/metrics/bigfiles_high_water_mark +1 -1
- data/metrics/rubocop_high_water_mark +1 -1
- metadata +24 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4602a0a2276fa337153e3394f009fa99a8a22603003baf9e99fb9da65c9b9107
|
4
|
+
data.tar.gz: e1a006d0debc96dbf11fd5e63d4930446bf35a3ae7f261bbbfca79a9d9bbad02
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c998ad14b388dd17a118536b1abacd2e2dc0195fd42f847090c142cb17636f9bd8fe17e2ee4202d2784d7d907ea6aad59381639a5fa71af32babd70bd229229
|
7
|
+
data.tar.gz: b47bb6ce0899ad62c683fefb67596cc5ca371dc0b67d1cacec881060c19d2cb796175b781530231d2cb320b7662dd4929b5a6eac21b8ae9accfd1c138d344d10
|
data/.overcommit.yml
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
# Use this file to configure the Overcommit hooks you wish to use. This will
|
2
|
+
# extend the default configuration defined in:
|
3
|
+
# https://github.com/sds/overcommit/blob/master/config/default.yml
|
4
|
+
#
|
5
|
+
# At the topmost level of this YAML file is a key representing type of hook
|
6
|
+
# being run (e.g. pre-commit, commit-msg, etc.). Within each type you can
|
7
|
+
# customize each hook, such as whether to only run it on certain files (via
|
8
|
+
# `include`), whether to only display output if it fails (via `quiet`), etc.
|
9
|
+
#
|
10
|
+
# For a complete list of hooks, see:
|
11
|
+
# https://github.com/sds/overcommit/tree/master/lib/overcommit/hook
|
12
|
+
#
|
13
|
+
# For a complete list of options that you can use to customize hooks, see:
|
14
|
+
# https://github.com/sds/overcommit#configuration
|
15
|
+
#
|
16
|
+
# Uncomment the following lines to make the configuration take effect.
|
17
|
+
|
18
|
+
PreCommit:
|
19
|
+
RuboCop:
|
20
|
+
enabled: true
|
21
|
+
on_warn: fail # Treat all warnings as failures
|
22
|
+
#
|
23
|
+
# TrailingWhitespace:
|
24
|
+
# enabled: true
|
25
|
+
# exclude:
|
26
|
+
# - '**/db/structure.sql' # Ignore trailing whitespace in generated files
|
27
|
+
#
|
28
|
+
#PostCheckout:
|
29
|
+
# ALL: # Special hook name that customizes all hooks of this type
|
30
|
+
# quiet: true # Change all post-checkout hooks to only display output on failure
|
31
|
+
#
|
32
|
+
# IndexTags:
|
33
|
+
# enabled: true # Generate a tags file with `ctags` each time HEAD changes
|
data/.rubocop.yml
CHANGED
@@ -67,9 +67,134 @@ Style/StringLiterals:
|
|
67
67
|
- double_quotes
|
68
68
|
ConsistentQuotesInMultiline: true
|
69
69
|
|
70
|
-
|
71
|
-
|
70
|
+
Layout/BeginEndAlignment: # (new in 0.91)
|
71
|
+
Enabled: true
|
72
|
+
Layout/EmptyLinesAroundAttributeAccessor: # (new in 0.83)
|
73
|
+
Enabled: true
|
74
|
+
Layout/SpaceAroundMethodCallOperator: # (new in 0.82)
|
75
|
+
Enabled: true
|
76
|
+
Lint/BinaryOperatorWithIdenticalOperands: # (new in 0.89)
|
77
|
+
Enabled: true
|
78
|
+
Lint/ConstantDefinitionInBlock: # (new in 0.91)
|
79
|
+
Enabled: true
|
80
|
+
Lint/DeprecatedOpenSSLConstant: # (new in 0.84)
|
81
|
+
Enabled: true
|
82
|
+
Lint/DuplicateElsifCondition: # (new in 0.88)
|
83
|
+
Enabled: true
|
84
|
+
Lint/DuplicateRequire: # (new in 0.90)
|
85
|
+
Enabled: true
|
86
|
+
Lint/DuplicateRescueException: # (new in 0.89)
|
87
|
+
Enabled: true
|
88
|
+
Lint/EmptyConditionalBody: # (new in 0.89)
|
89
|
+
Enabled: true
|
90
|
+
Lint/EmptyFile: # (new in 0.90)
|
91
|
+
Enabled: true
|
92
|
+
Lint/FloatComparison: # (new in 0.89)
|
93
|
+
Enabled: true
|
94
|
+
Lint/IdentityComparison: # (new in 0.91)
|
95
|
+
Enabled: true
|
96
|
+
Lint/MissingSuper: # (new in 0.89)
|
97
|
+
Enabled: true
|
98
|
+
Lint/MixedRegexpCaptureTypes: # (new in 0.85)
|
99
|
+
Enabled: true
|
100
|
+
Lint/OutOfRangeRegexpRef: # (new in 0.89)
|
101
|
+
Enabled: true
|
102
|
+
Lint/RaiseException: # (new in 0.81)
|
103
|
+
Enabled: true
|
104
|
+
Lint/SelfAssignment: # (new in 0.89)
|
105
|
+
Enabled: true
|
106
|
+
Lint/StructNewOverride: # (new in 0.81)
|
107
|
+
Enabled: true
|
108
|
+
Lint/TopLevelReturnWithArgument: # (new in 0.89)
|
109
|
+
Enabled: true
|
110
|
+
Lint/TrailingCommaInAttributeDeclaration: # (new in 0.90)
|
111
|
+
Enabled: true
|
112
|
+
Lint/UnreachableLoop: # (new in 0.89)
|
113
|
+
Enabled: true
|
114
|
+
Lint/UselessMethodDefinition: # (new in 0.90)
|
115
|
+
Enabled: true
|
116
|
+
Lint/UselessTimes: # (new in 0.91)
|
117
|
+
Enabled: true
|
118
|
+
Style/AccessorGrouping: # (new in 0.87)
|
119
|
+
Enabled: true
|
120
|
+
Style/BisectedAttrAccessor: # (new in 0.87)
|
121
|
+
Enabled: true
|
122
|
+
Style/CaseLikeIf: # (new in 0.88)
|
123
|
+
Enabled: true
|
124
|
+
Style/CombinableLoops: # (new in 0.90)
|
125
|
+
Enabled: true
|
126
|
+
Style/ExplicitBlockArgument: # (new in 0.89)
|
127
|
+
Enabled: true
|
128
|
+
Style/ExponentialNotation: # (new in 0.82)
|
129
|
+
Enabled: true
|
130
|
+
Style/GlobalStdStream: # (new in 0.89)
|
131
|
+
Enabled: true
|
132
|
+
Style/HashAsLastArrayItem: # (new in 0.88)
|
133
|
+
Enabled: true
|
134
|
+
Style/HashEachMethods: # (new in 0.80)
|
135
|
+
Enabled: true
|
136
|
+
Style/HashLikeCase: # (new in 0.88)
|
137
|
+
Enabled: true
|
138
|
+
Style/HashTransformKeys: # (new in 0.80)
|
139
|
+
Enabled: true
|
140
|
+
Style/HashTransformValues: # (new in 0.80)
|
141
|
+
Enabled: true
|
142
|
+
Style/KeywordParametersOrder: # (new in 0.90)
|
143
|
+
Enabled: true
|
144
|
+
Style/OptionalBooleanParameter: # (new in 0.89)
|
145
|
+
Enabled: true
|
146
|
+
Style/RedundantAssignment: # (new in 0.87)
|
147
|
+
Enabled: true
|
148
|
+
Style/RedundantFetchBlock: # (new in 0.86)
|
149
|
+
Enabled: true
|
150
|
+
Style/RedundantFileExtensionInRequire: # (new in 0.88)
|
151
|
+
Enabled: true
|
152
|
+
Style/RedundantRegexpCharacterClass: # (new in 0.85)
|
153
|
+
Enabled: true
|
154
|
+
Style/RedundantRegexpEscape: # (new in 0.85)
|
155
|
+
Enabled: true
|
156
|
+
Style/RedundantSelfAssignment: # (new in 0.90)
|
157
|
+
Enabled: true
|
158
|
+
Style/SingleArgumentDig: # (new in 0.89)
|
159
|
+
Enabled: true
|
160
|
+
Style/SlicingWithRange: # (new in 0.83)
|
161
|
+
Enabled: true
|
162
|
+
Style/SoleNestedConditional: # (new in 0.89)
|
163
|
+
Enabled: true
|
164
|
+
Style/StringConcatenation: # (new in 0.89)
|
165
|
+
Enabled: true
|
166
|
+
Minitest/AssertInDelta: # (new in 0.10)
|
167
|
+
Enabled: true
|
168
|
+
Minitest/AssertionInLifecycleHook: # (new in 0.10)
|
169
|
+
Enabled: true
|
170
|
+
Minitest/AssertKindOf: # (new in 0.10)
|
171
|
+
Enabled: true
|
172
|
+
Minitest/AssertOutput: # (new in 0.10)
|
173
|
+
Enabled: true
|
174
|
+
Minitest/AssertPathExists: # (new in 0.10)
|
175
|
+
Enabled: true
|
176
|
+
Minitest/AssertSilent: # (new in 0.10)
|
177
|
+
Enabled: true
|
178
|
+
Minitest/LiteralAsActualArgument: # (new in 0.10)
|
179
|
+
Enabled: true
|
180
|
+
Minitest/MultipleAssertions: # (new in 0.10)
|
181
|
+
Enabled: true
|
182
|
+
Minitest/RefuteInDelta: # (new in 0.10)
|
183
|
+
Enabled: true
|
184
|
+
Minitest/RefuteKindOf: # (new in 0.10)
|
185
|
+
Enabled: true
|
186
|
+
Minitest/RefutePathExists: # (new in 0.10)
|
187
|
+
Enabled: true
|
188
|
+
Minitest/TestMethodName: # (new in 0.10)
|
189
|
+
# This gives false positives when non-test methods exist...
|
190
|
+
Enabled: false
|
191
|
+
Minitest/UnspecifiedException: # (new in 0.10)
|
192
|
+
Enabled: true
|
193
|
+
RSpec/StubbedMock: # (new in 1.44)
|
194
|
+
Enabled: true
|
72
195
|
|
196
|
+
AllCops:
|
197
|
+
TargetRubyVersion: 2.5
|
73
198
|
|
74
199
|
require:
|
75
200
|
- rubocop-rspec
|
data/.travis.yml
CHANGED
@@ -10,8 +10,13 @@ rvm:
|
|
10
10
|
# checking for main() in -lstdc++... RuntimeError: The compiler failed to generate
|
11
11
|
# https://travis-ci.com/apiology/pronto-punchlist/jobs/264907931
|
12
12
|
# - jruby-head
|
13
|
-
|
13
|
+
|
14
|
+
# These are currently pending ruby-asana fixes:
|
15
|
+
#
|
16
|
+
# https://github.com/Asana/ruby-asana/pull/99
|
17
|
+
#
|
18
|
+
# - ruby-head
|
19
|
+
# - ruby-3.0
|
14
20
|
- ruby-2.7
|
15
21
|
- ruby-2.6
|
16
22
|
- ruby-2.5
|
17
|
-
- ruby-2.4
|
data/README.md
CHANGED
data/checkoff.gemspec
CHANGED
@@ -10,12 +10,12 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.version = Checkoff::VERSION
|
11
11
|
spec.authors = ['Vince Broz']
|
12
12
|
spec.email = ['vince@broz.cc']
|
13
|
-
|
14
13
|
spec.summary = 'Command-line and gem client for Asana (unofficial)'
|
15
14
|
spec.homepage = 'http://github.com/apiology/checkoff'
|
16
15
|
spec.license = 'MIT'
|
16
|
+
spec.required_ruby_version = '>= 2.5'
|
17
17
|
|
18
|
-
spec.files
|
18
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
19
19
|
f.match(%r{^(test|spec|features)/})
|
20
20
|
end
|
21
21
|
spec.bindir = 'exe'
|
@@ -23,14 +23,15 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.require_paths = ['lib']
|
24
24
|
|
25
25
|
spec.add_runtime_dependency 'activesupport'
|
26
|
-
spec.add_runtime_dependency 'asana'
|
26
|
+
spec.add_runtime_dependency 'asana', '>0.10.0'
|
27
27
|
spec.add_runtime_dependency 'cache_method'
|
28
28
|
spec.add_runtime_dependency 'dalli'
|
29
29
|
|
30
30
|
spec.add_development_dependency 'bundler'
|
31
31
|
spec.add_development_dependency 'minitest-profile'
|
32
32
|
spec.add_development_dependency 'mocha'
|
33
|
-
spec.add_development_dependency '
|
33
|
+
spec.add_development_dependency 'overcommit'
|
34
|
+
spec.add_development_dependency 'quality', '~> 38'
|
34
35
|
spec.add_development_dependency 'rake', '~> 13.0'
|
35
36
|
spec.add_development_dependency 'rspec', '>=3.4'
|
36
37
|
spec.add_development_dependency 'simplecov'
|
data/coverage/.last_run.json
CHANGED
data/lib/checkoff/cli.rb
CHANGED
@@ -15,11 +15,13 @@ module Checkoff
|
|
15
15
|
class CLI
|
16
16
|
attr_reader :sections, :stderr
|
17
17
|
|
18
|
-
def initialize(
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
18
|
+
def initialize(config: Checkoff::ConfigLoader.load(:asana),
|
19
|
+
workspaces: Checkoff::Workspaces.new(config: config),
|
20
|
+
projects: Checkoff::Projects.new(config: config),
|
21
|
+
sections: Checkoff::Sections.new(config: config,
|
22
|
+
projects: projects),
|
23
|
+
tasks: Checkoff::Tasks.new(config: config),
|
24
|
+
stderr: $stderr,
|
23
25
|
kernel: Kernel)
|
24
26
|
@workspaces = workspaces
|
25
27
|
@projects = projects
|
@@ -87,9 +89,10 @@ module Checkoff
|
|
87
89
|
def parse_args(args)
|
88
90
|
mode = args[0]
|
89
91
|
subargs = OpenStruct.new
|
90
|
-
|
92
|
+
case mode
|
93
|
+
when 'view'
|
91
94
|
parse_view_args(subargs, args)
|
92
|
-
|
95
|
+
when 'quickadd'
|
93
96
|
parse_quickadd_args(subargs, args)
|
94
97
|
else
|
95
98
|
raise
|
@@ -118,9 +121,10 @@ module Checkoff
|
|
118
121
|
def run(args)
|
119
122
|
validate_args!(args)
|
120
123
|
command, subargs = parse_args(args)
|
121
|
-
|
124
|
+
case command
|
125
|
+
when 'view'
|
122
126
|
view(subargs.workspace, subargs.project, subargs.section)
|
123
|
-
|
127
|
+
when 'quickadd'
|
124
128
|
quickadd(subargs.workspace, subargs.task_name)
|
125
129
|
else
|
126
130
|
raise
|
@@ -3,14 +3,53 @@
|
|
3
3
|
require 'yaml'
|
4
4
|
require 'active_support/core_ext/hash'
|
5
5
|
|
6
|
-
# frozen_string_literal: true
|
7
6
|
module Checkoff
|
7
|
+
# Use the provided config from a YAML file, and fall back to env
|
8
|
+
# variable if it's not populated for a key'
|
9
|
+
class EnvFallbackConfigLoader
|
10
|
+
def initialize(config, sym, yaml_filename)
|
11
|
+
@config = config
|
12
|
+
@envvar_prefix = sym.upcase
|
13
|
+
@yaml_filename = yaml_filename
|
14
|
+
end
|
15
|
+
|
16
|
+
def envvar_name(key)
|
17
|
+
"#{@envvar_prefix}__#{key.upcase}"
|
18
|
+
end
|
19
|
+
|
20
|
+
def [](key)
|
21
|
+
config_value = @config[key]
|
22
|
+
return config_value unless config_value.nil?
|
23
|
+
|
24
|
+
ENV[envvar_name(key)]
|
25
|
+
end
|
26
|
+
|
27
|
+
def fetch(key)
|
28
|
+
out = self[key]
|
29
|
+
return out unless out.nil?
|
30
|
+
|
31
|
+
raise KeyError,
|
32
|
+
"Please configure either the #{key} key in #{@yaml_filename} or set #{envvar_name(key)}"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
8
36
|
# Load configuration file
|
9
37
|
class ConfigLoader
|
10
|
-
def self.
|
38
|
+
def self.yaml_filename(sym)
|
11
39
|
file = "#{sym}.yml"
|
12
|
-
|
13
|
-
|
40
|
+
File.expand_path("~/.#{file}")
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.load_yaml_file(sym)
|
44
|
+
filename = yaml_filename(sym)
|
45
|
+
return {} unless File.exist?(filename)
|
46
|
+
|
47
|
+
YAML.load_file(filename).with_indifferent_access
|
48
|
+
end
|
49
|
+
|
50
|
+
def self.load(sym)
|
51
|
+
yaml_result = load_yaml_file(sym)
|
52
|
+
EnvFallbackConfigLoader.new(yaml_result, sym, yaml_filename(sym))
|
14
53
|
end
|
15
54
|
end
|
16
55
|
end
|
data/lib/checkoff/projects.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require_relative 'config_loader'
|
2
4
|
|
3
|
-
# frozen_string_literal: true
|
4
5
|
require 'cache_method'
|
5
6
|
require 'asana'
|
6
7
|
|
@@ -25,7 +26,7 @@ module Checkoff
|
|
25
26
|
|
26
27
|
def initialize(config: Checkoff::ConfigLoader.load(:asana),
|
27
28
|
asana_client: Asana::Client,
|
28
|
-
workspaces: Checkoff::Workspaces.new)
|
29
|
+
workspaces: Checkoff::Workspaces.new(config: config))
|
29
30
|
@config = config
|
30
31
|
@asana_client = asana_client
|
31
32
|
@workspaces = workspaces
|
@@ -48,11 +49,9 @@ module Checkoff
|
|
48
49
|
end
|
49
50
|
|
50
51
|
def my_tasks(workspace_name)
|
51
|
-
my_tasks = @config
|
52
|
-
gid =
|
53
|
-
if my_tasks.nil? || gid.nil?
|
54
|
-
raise "Please define [:my_tasks][#{workspace_name}] in config file"
|
55
|
-
end
|
52
|
+
my_tasks = @config.fetch(:my_tasks)
|
53
|
+
gid = my_tasks[workspace_name] unless my_tasks.nil?
|
54
|
+
raise "Please define [:my_tasks][#{workspace_name}] in config file" if my_tasks.nil? || gid.nil?
|
56
55
|
|
57
56
|
projects.find_by_id(gid)
|
58
57
|
end
|
@@ -78,7 +77,7 @@ module Checkoff
|
|
78
77
|
per_page: 100,
|
79
78
|
options: {
|
80
79
|
fields: %w[name completed_at due_at due_on assignee_status tags
|
81
|
-
memberships.project.gid memberships.section.name],
|
80
|
+
memberships.project.gid memberships.section.name dependencies],
|
82
81
|
},
|
83
82
|
}
|
84
83
|
end
|
data/lib/checkoff/sections.rb
CHANGED
@@ -13,7 +13,8 @@ module Checkoff
|
|
13
13
|
|
14
14
|
attr_reader :projects, :time
|
15
15
|
|
16
|
-
def initialize(
|
16
|
+
def initialize(config: Checkoff::ConfigLoader.load(:asana),
|
17
|
+
projects: Checkoff::Projects.new(config: config),
|
17
18
|
time: Time)
|
18
19
|
@projects = projects
|
19
20
|
@time = time
|
@@ -22,12 +23,10 @@ module Checkoff
|
|
22
23
|
def_delegators :@projects, :client
|
23
24
|
|
24
25
|
def file_task_by_section(by_section, task, project_gid)
|
25
|
-
membership = task.memberships.find { |m| m
|
26
|
-
if membership.nil?
|
27
|
-
raise "Could not find task in project_gid #{project_gid}: #{task}"
|
28
|
-
end
|
26
|
+
membership = task.memberships.find { |m| m['project']['gid'] == project_gid }
|
27
|
+
raise "Could not find task in project_gid #{project_gid}: #{task}" if membership.nil?
|
29
28
|
|
30
|
-
current_section = membership
|
29
|
+
current_section = membership['section']['name']
|
31
30
|
current_section = nil if current_section == '(no section)'
|
32
31
|
by_section[current_section] ||= []
|
33
32
|
by_section[current_section] << task
|
@@ -90,11 +89,12 @@ module Checkoff
|
|
90
89
|
|
91
90
|
def tasks_by_section(workspace_name, project_name)
|
92
91
|
project = project_or_raise(workspace_name, project_name)
|
93
|
-
|
92
|
+
case project_name
|
93
|
+
when :my_tasks_new
|
94
94
|
tasks_by_section_for_project_and_assignee_status(project, 'inbox')
|
95
|
-
|
95
|
+
when :my_tasks_today
|
96
96
|
tasks_by_section_for_project_and_assignee_status(project, 'today')
|
97
|
-
|
97
|
+
when :my_tasks_upcoming
|
98
98
|
tasks_by_section_for_project_and_assignee_status(project, 'upcoming')
|
99
99
|
else
|
100
100
|
tasks_by_section_for_project(project)
|
data/lib/checkoff/tasks.rb
CHANGED
@@ -15,7 +15,7 @@ module Checkoff
|
|
15
15
|
SHORT_CACHE_TIME = MINUTE * 5
|
16
16
|
|
17
17
|
def initialize(config: Checkoff::ConfigLoader.load(:asana),
|
18
|
-
sections: Checkoff::Sections.new,
|
18
|
+
sections: Checkoff::Sections.new(config: config),
|
19
19
|
asana_task: Asana::Resources::Task)
|
20
20
|
@config = config
|
21
21
|
@sections = sections
|
@@ -50,7 +50,7 @@ module Checkoff
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def default_assignee_gid
|
53
|
-
@config
|
53
|
+
@config.fetch(:default_assignee_gid)
|
54
54
|
end
|
55
55
|
end
|
56
56
|
end
|
data/lib/checkoff/version.rb
CHANGED
data/lib/checkoff/workspaces.rb
CHANGED
@@ -11,13 +11,13 @@ module Checkoff
|
|
11
11
|
|
12
12
|
def client
|
13
13
|
@client ||= @asana_client.new do |c|
|
14
|
-
c.authentication :access_token, @config
|
14
|
+
c.authentication :access_token, @config.fetch(:personal_access_token)
|
15
15
|
c.default_headers 'asana-enable' => 'string_ids,new_sections'
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
19
|
def default_workspace_gid
|
20
|
-
@config
|
20
|
+
@config.fetch(:default_workspace_gid)
|
21
21
|
end
|
22
22
|
|
23
23
|
def workspace_by_name(workspace_name)
|
data/lib/tasks/quality.rake
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
require 'quality/rake/task'
|
4
4
|
|
5
5
|
Quality::Rake::Task.new do |task|
|
6
|
-
task.skip_tools = [
|
6
|
+
task.skip_tools = %w[reek cane eslint jscs pycodestyle rails_best_practices flake8]
|
7
7
|
task.output_dir = 'metrics'
|
8
|
-
task.exclude_files = ['docs/example_project.png']
|
8
|
+
task.exclude_files = ['docs/example_project.png', '.rubocop.yml']
|
9
9
|
end
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
416
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
4
|
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.
|
4
|
+
version: 0.7.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:
|
11
|
+
date: 2021-02-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: asana
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 0.10.0
|
34
34
|
type: :runtime
|
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:
|
40
|
+
version: 0.10.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: cache_method
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,20 +108,34 @@ dependencies:
|
|
108
108
|
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: overcommit
|
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'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: quality
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
129
|
- - "~>"
|
116
130
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
131
|
+
version: '38'
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
136
|
- - "~>"
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
138
|
+
version: '38'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: rake
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -174,6 +188,7 @@ extra_rdoc_files: []
|
|
174
188
|
files:
|
175
189
|
- ".circleci/config.yml"
|
176
190
|
- ".gitignore"
|
191
|
+
- ".overcommit.yml"
|
177
192
|
- ".rubocop.yml"
|
178
193
|
- ".ruby-version"
|
179
194
|
- ".travis.yml"
|
@@ -235,7 +250,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
235
250
|
requirements:
|
236
251
|
- - ">="
|
237
252
|
- !ruby/object:Gem::Version
|
238
|
-
version: '
|
253
|
+
version: '2.5'
|
239
254
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
240
255
|
requirements:
|
241
256
|
- - ">="
|