sorbet-progress 0.1.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 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