sorbet-progress 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 07e527046e92f1f1e2495f003b8aa2609b9ff195661887a8c81c0c67d4345c5f
4
+ data.tar.gz: bbdb474efbac72727561ae902917ae921095b5db2a7968dd7a6a2c75e585418b
5
+ SHA512:
6
+ metadata.gz: de774283bbc2b6554bc3a8444326697448a679ec27bae757c5b5069dd279fb9886f2e7d0191d6bd88aaaa9948f60849f776d9e81a1a0b9b819b4d071cc25303c
7
+ data.tar.gz: fc65da32aa0fff16fa567515a41883bea8a0ab0d146079acbae96d16edeb7364bd125d31b60e8727e14e73c76b183049493fa156d7ee958c1a62129c2b578073
data/.gitignore ADDED
@@ -0,0 +1,8 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
data/.rubocop.yml ADDED
@@ -0,0 +1,248 @@
1
+ AllCops:
2
+ Exclude:
3
+ - 'bin/**/*'
4
+ - '.git/**/*'
5
+
6
+ Layout/AlignArguments:
7
+ EnforcedStyle: with_fixed_indentation
8
+
9
+ Layout/AlignParameters:
10
+ EnforcedStyle: with_fixed_indentation
11
+
12
+ # Used consistently, both leading and trailing styles are valid, but
13
+ # Singlebrook happens to use the trailing style.
14
+ Layout/DotPosition:
15
+ EnforcedStyle: trailing
16
+
17
+ Layout/EmptyLineAfterGuardClause:
18
+ Enabled: false
19
+
20
+ # This cop has a bug in 0.52.0
21
+ # https://github.com/bbatsov/rubocop/issues/5224
22
+ Layout/EmptyLinesAroundArguments:
23
+ Enabled: false
24
+
25
+ # Indent arrays so that the first element is relative to the first position of
26
+ # the line where the opening bracket is.
27
+ Layout/IndentFirstArrayElement:
28
+ EnforcedStyle: consistent
29
+
30
+ # In a multiline method call, put the closing parenthesis on its own line.
31
+ # The first argument may either be on the first line, or the second. Both of the
32
+ # following are correct:
33
+ #
34
+ # ```
35
+ # # A. correct
36
+ # create(:user,
37
+ # client: foo,
38
+ # long_line: blah
39
+ # )
40
+ #
41
+ # # B. also correct
42
+ # create(
43
+ # :user,
44
+ # client: foo,
45
+ # long_line: blah
46
+ # )
47
+ #
48
+ # # C. not preferred
49
+ # user = create :user,
50
+ # client: foo,
51
+ # long_line: blah
52
+ # ```
53
+ #
54
+ # Rubocop supports B, but not A. This project allows both, so this cop is
55
+ # disabled.
56
+ Layout/MultilineMethodCallBraceLayout:
57
+ Enabled: false
58
+
59
+ Layout/MultilineMethodCallIndentation:
60
+ EnforcedStyle: indented
61
+
62
+ Layout/MultilineOperationIndentation:
63
+ EnforcedStyle: indented
64
+
65
+ # Sometimes splat is convenient, sometimes unnecessary. Too subtle to lint.
66
+ Lint/UnneededSplatExpansion:
67
+ Enabled: false
68
+
69
+ # Compared to metrics like `AbcSize` or `CyclomaticComplexity`, number of
70
+ # lines is not a useful metric.
71
+ Metrics/ClassLength:
72
+ Enabled: false
73
+
74
+ # Compared to metrics like `AbcSize` or `CyclomaticComplexity`, number of
75
+ # lines is not a useful metric.
76
+ Metrics/BlockLength:
77
+ Enabled: false
78
+
79
+ # Compared to metrics like `AbcSize` or `CyclomaticComplexity`, the number of
80
+ # lines in a method is not a useful metric. It's common to have very long
81
+ # methods (> 50 lines) which are quite simple. For example, a method that
82
+ # returns a long string with only a few interpolations.
83
+ Metrics/MethodLength:
84
+ Enabled: false
85
+
86
+ # Compared to metrics like `AbcSize` or `CyclomaticComplexity`, the number of
87
+ # lines in a module is not a useful metric.
88
+ Metrics/ModuleLength:
89
+ Enabled: false
90
+
91
+ # Too strict. Not all methods named `set_x` would make sense named `x=`.
92
+ Naming/AccessorMethodName:
93
+ Enabled: false
94
+
95
+ # It is a decades-old convention to use EOS as a heredoc delimiter. There is
96
+ # not enough value in changinge this convention. SQL should still be used as
97
+ # a delimiter when appropriate.
98
+ Naming/HeredocDelimiterNaming:
99
+ Enabled: false
100
+
101
+ # It is reasonable to use mathematical symbols in comments, or to relish what
102
+ # little multilingualism we have in America by using native spellings, like
103
+ # "façade" or "naïve".
104
+ Style/AsciiComments:
105
+ Enabled: false
106
+
107
+ # Giving the ivar a leading underscore implies that it should not be
108
+ # set/referencd outside of the memoization method.
109
+ Naming/MemoizedInstanceVariableName:
110
+ EnforcedStyleForLeadingUnderscores: required
111
+
112
+ # Sometimes two chars, or even one, is acceptable.
113
+ Naming/UncommunicativeMethodParamName:
114
+ Enabled: false
115
+
116
+ # Use numbers wherever you like in your variables. Who cares.
117
+ Naming/VariableNumber:
118
+ Enabled: false
119
+
120
+ # Use the semantic style. If a block has side effects use `do`, and if it is
121
+ # pure use `{}`. This style is too nuanced for a linter, so the cop is
122
+ # disabled.
123
+ Style/BlockDelimiters:
124
+ Enabled: false
125
+
126
+ Style/BracesAroundHashParameters:
127
+ EnforcedStyle: context_dependent
128
+
129
+ Style/ClassAndModuleChildren:
130
+ EnforcedStyle: nested
131
+
132
+ Style/Documentation:
133
+ Exclude:
134
+ - 'test/**/*'
135
+
136
+ # Use double negation wherever it would otherwise be impractical to convert
137
+ # a value to an actual boolean.
138
+ Style/DoubleNegation:
139
+ Enabled: false
140
+
141
+ Style/EmptyElse:
142
+ EnforcedStyle: empty
143
+
144
+ Style/EmptyMethod:
145
+ EnforcedStyle: expanded
146
+
147
+ # Concerns:
148
+ # 1. In 0.52.0, this complains about `strftime('%x')`. Annotating tokens in
149
+ # e.g. strftime would just be duplicating documenation.
150
+ # 2. Annotating tokens in long format strings could make such lines very long.
151
+ # 3. Annotation is not necessary in format strings with small numbers of tokens.
152
+ Style/FormatStringToken:
153
+ Enabled: false
154
+
155
+ # The decision of when to use a guard clause is too nuanced for a linter.
156
+ Style/GuardClause:
157
+ Enabled: false
158
+
159
+ # Avoid postfix (aka. modifier) conditional operator, except on the simplest
160
+ # of lines. This is too nuanced for a linter.
161
+ Style/IfUnlessModifier:
162
+ Enabled: false
163
+
164
+ # When using a multiline proc in a hash (eg. `validates`), I don't want to use
165
+ # lambda because then I'd have commas immediately after the "end", like `end,`.
166
+ Style/Lambda:
167
+ Enabled: false
168
+
169
+ # There is a known issue with `MixinGrouping` in rubocop 0.48.0
170
+ # https://github.com/bbatsov/rubocop/issues/4172
171
+ Style/MixinGrouping:
172
+ Enabled: false
173
+
174
+ # Disabled, because we like to write tests like:
175
+ #
176
+ # expect(
177
+ # foo :bar, :baz
178
+ # ).to # whatever
179
+ #
180
+ # When there's only one argument, and it's on its own line, there's no problem.
181
+ Style/NestedParenthesizedCalls:
182
+ Enabled: false
183
+
184
+ Style/Next:
185
+ MinBodyLength: 5 # The default of 3 is too low for my taste.
186
+
187
+ # This is a new cop in rubocop 0.41, and I'm not sure if I want to adopt it yet.
188
+ Style/NumericLiteralPrefix:
189
+ Enabled: false
190
+
191
+ # Use `x > 0` because it is more specific than `x.positive?`.
192
+ # However, `x.zero?` is acceptable because it is specific enough.
193
+ Style/NumericPredicate:
194
+ Enabled: false
195
+
196
+ # The decision of when to use slashes `/foo/` or percent-r `%r{foo}` is too
197
+ # subtle to lint. Use whichever requires fewer backslash escapes.
198
+ Style/RegexpLiteral:
199
+ Enabled: false
200
+
201
+ # Disabled because it is overzealous in 0.50.0.
202
+ # https://github.com/bbatsov/rubocop/issues/4731
203
+ Style/SafeNavigation:
204
+ Enabled: false
205
+
206
+ # The new recommendation to use `acc` and `elem` instead of `a` and `e` is fine,
207
+ # if someone wants to change it. For now, it's fine to keep `a` and `e`.
208
+ Style/SingleLineBlockParams:
209
+ Methods:
210
+ - reduce:
211
+ - a
212
+ - e
213
+ - inject:
214
+ - a
215
+ - e
216
+
217
+ Style/TernaryParentheses:
218
+ EnforcedStyle: require_parentheses_when_complex
219
+
220
+ # This cop has a bug in rubocop 0.62.0:
221
+ # https://github.com/rubocop-hq/rubocop/issues/6627
222
+ Style/TrailingCommaInArguments:
223
+ Enabled: false
224
+
225
+ # Predicate methods, aka. question-mark methods, such as `def x?; @x; end` are
226
+ # acceptable. See https://github.com/bbatsov/rubocop/issues/2736 for discussion.
227
+ Style/TrivialAccessors:
228
+ AllowPredicates: true
229
+
230
+ # Avoid postfix loops (e.g. `x until y`) except in utterly simple situations.
231
+ # This is too nuanced for a linter.
232
+ Style/WhileUntilModifier:
233
+ Enabled: false
234
+
235
+ # We would like to use this cop, but it doesn't work in 0.49.
236
+ Style/YodaCondition:
237
+ Enabled: false
238
+
239
+ # Consider A and B below. A is more like normal English than B.
240
+ #
241
+ # ```
242
+ # # A
243
+ # qar_modules.length > 0 || question_assignments.length > 0
244
+ # # B
245
+ # !qar_modules.empty? || !question_assignments.empty?
246
+ # ```
247
+ Style/ZeroLengthPredicate:
248
+ Enabled: false
data/.travis.yml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ sudo: false
3
+ language: ruby
4
+ cache: bundler
5
+ rvm:
6
+ - 2.5.5
7
+ before_install: gem install bundler -v 1.17.3
@@ -0,0 +1,74 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of experience,
9
+ nationality, personal appearance, race, religion, or sexual identity and
10
+ orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at jared@jaredbeck.com. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at [http://contributor-covenant.org/version/1/4][version]
72
+
73
+ [homepage]: http://contributor-covenant.org
74
+ [version]: http://contributor-covenant.org/version/1/4/
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6
+
7
+ # Specify your gem's dependencies in sorbet-progress.gemspec
8
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,42 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ sorbet-progress (0.1.0)
5
+ sorbet (>= 0.4.4365, <= 0.4.4366)
6
+ sorbet-runtime (>= 0.4.4365, <= 0.4.4366)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ ast (2.4.0)
12
+ jaro_winkler (1.5.3)
13
+ minitest (5.11.3)
14
+ parallel (1.17.0)
15
+ parser (2.6.3.0)
16
+ ast (~> 2.4.0)
17
+ rainbow (3.0.0)
18
+ rubocop (0.72.0)
19
+ jaro_winkler (~> 1.5.1)
20
+ parallel (~> 1.10)
21
+ parser (>= 2.6)
22
+ rainbow (>= 2.2.2, < 4.0)
23
+ ruby-progressbar (~> 1.7)
24
+ unicode-display_width (>= 1.4.0, < 1.7)
25
+ ruby-progressbar (1.10.1)
26
+ sorbet (0.4.4366)
27
+ sorbet-static (= 0.4.4366)
28
+ sorbet-runtime (0.4.4366)
29
+ sorbet-static (0.4.4366-universal-darwin-14)
30
+ unicode-display_width (1.6.0)
31
+
32
+ PLATFORMS
33
+ ruby
34
+
35
+ DEPENDENCIES
36
+ bundler (~> 1.17)
37
+ minitest (~> 5.0)
38
+ rubocop (~> 0.72.0)
39
+ sorbet-progress!
40
+
41
+ BUNDLED WITH
42
+ 1.17.3
data/README.md ADDED
@@ -0,0 +1,31 @@
1
+ # SorbetProgress
2
+
3
+ Measure your progress as you adopt [sorbet](https://sorbet.org/). I find that
4
+ measuring progress keeps me motivated, which is crucial to finishing a project.
5
+
6
+ ## Installation
7
+
8
+ Add this line to your application's Gemfile:
9
+
10
+ ```ruby
11
+ gem 'sorbet-progress'
12
+ ```
13
+
14
+ Then:
15
+
16
+ bundle
17
+
18
+ Or install it yourself:
19
+
20
+ gem install sorbet-progress
21
+
22
+ ## Usage
23
+
24
+ TBD
25
+
26
+ ## Contributing
27
+
28
+ This project does not accept bug reports. Pull requests are welcome.
29
+
30
+ This project is intended to be a safe, welcoming space for collaboration, and
31
+ contributors are expected to adhere to the [code of conduct](/CODE_OF_CONDUCT.md)
data/Rakefile ADDED
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
4
+ require 'rake/testtask'
5
+
6
+ Rake::TestTask.new(:test) do |t|
7
+ t.libs << 'test'
8
+ t.libs << 'lib'
9
+ t.test_files = FileList['test/**/*_test.rb']
10
+ end
11
+
12
+ task default: :test