expression 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 5c237991c07edad07010f243a9fdbbda1d9dd7c1f1297d590219b5c8074f1cbf
4
+ data.tar.gz: 237e261d8bb639127ded1b1927c40df01195be451184378ffcc2f456383ef7d7
5
+ SHA512:
6
+ metadata.gz: 3dac96bc11ef0e2ba44500844c30a1fb1429c50458db2e870558e4ee19ac0e37d5c517ad85807276b532031bbc4170d556bb690e598589358f632ed1c02350f3
7
+ data.tar.gz: '0966a7d376346a21651fbe4b5c71e90bcdd555c4611b4b67dfae6ce036ee7c812c07c57b982811005976710300fef5f37aafe21b1fc9523a6aeccda410dcf175'
@@ -0,0 +1,11 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ # rspec failure tracking
11
+ .rspec_status
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
@@ -0,0 +1,508 @@
1
+ ---
2
+ AllCops:
3
+ Exclude:
4
+ - vendor/**/*
5
+ - db/**/*
6
+ - tmp/**/*
7
+ DisplayCopNames: false
8
+ StyleGuideCopsOnly: false
9
+ TargetRubyVersion: 2.4
10
+ Naming/AccessorMethodName:
11
+ Description: Check the naming of accessor methods for get_/set_.
12
+ Enabled: false
13
+ Style/Alias:
14
+ Description: Use alias_method instead of alias.
15
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#alias-method
16
+ Enabled: false
17
+ Style/ArrayJoin:
18
+ Description: Use Array#join instead of Array#*.
19
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#array-join
20
+ Enabled: false
21
+ Style/AsciiComments:
22
+ Description: Use only ascii symbols in comments.
23
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#english-comments
24
+ Enabled: false
25
+ Naming/AsciiIdentifiers:
26
+ Description: Use only ascii symbols in identifiers.
27
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#english-identifiers
28
+ Enabled: false
29
+ Style/Attr:
30
+ Description: Checks for uses of Module#attr.
31
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#attr
32
+ Enabled: false
33
+ Metrics/BlockNesting:
34
+ Description: Avoid excessive block nesting
35
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count
36
+ Enabled: true
37
+ Max: 3
38
+ Style/CaseEquality:
39
+ Description: Avoid explicit use of the case equality operator(===).
40
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-case-equality
41
+ Enabled: false
42
+ Style/CharacterLiteral:
43
+ Description: Checks for uses of character literals.
44
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-character-literals
45
+ Enabled: false
46
+ Style/ClassAndModuleChildren:
47
+ Description: Checks style of children classes and modules.
48
+ Enabled: true
49
+ EnforcedStyle: nested
50
+ Metrics/ClassLength:
51
+ Description: Avoid classes longer than 100 lines of code.
52
+ Enabled: false
53
+ CountComments: false
54
+ Max: 100
55
+ Metrics/ModuleLength:
56
+ Description: Avoid modules longer than 100 lines of code.
57
+ Enabled: false
58
+ Style/ClassVars:
59
+ Description: Avoid the use of class variables.
60
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-class-vars
61
+ Enabled: false
62
+ Style/CollectionMethods:
63
+ Enabled: true
64
+ PreferredMethods:
65
+ find: detect
66
+ inject: reduce
67
+ collect: map
68
+ find_all: select
69
+ Style/ColonMethodCall:
70
+ Description: 'Do not use :: for method call.'
71
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#double-colons
72
+ Enabled: false
73
+ Style/CommentAnnotation:
74
+ Description: Checks formatting of special comments (TODO, FIXME, OPTIMIZE, HACK,
75
+ REVIEW).
76
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#annotate-keywords
77
+ Enabled: false
78
+ Metrics/AbcSize:
79
+ Description: A calculated magnitude based on number of assignments, branches, and
80
+ conditions.
81
+ Enabled: true
82
+ Max: 15
83
+ Metrics/BlockLength:
84
+ CountComments: true
85
+ Max: 25
86
+ ExcludedMethods: []
87
+ Exclude:
88
+ - spec/**/*
89
+ Metrics/CyclomaticComplexity:
90
+ Description: A complexity metric that is strongly correlated to the number of test
91
+ cases needed to validate a method.
92
+ Enabled: true
93
+ Max: 6
94
+ Rails/Delegate:
95
+ Description: Prefer delegate method for delegations.
96
+ Enabled: false
97
+ Style/PreferredHashMethods:
98
+ Description: Checks use of `has_key?` and `has_value?` Hash methods.
99
+ StyleGuide: "#hash-key"
100
+ Enabled: false
101
+ Style/Documentation:
102
+ Description: Document classes and non-namespace modules.
103
+ Enabled: false
104
+ Style/DoubleNegation:
105
+ Description: Checks for uses of double negation (!!).
106
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-bang-bang
107
+ Enabled: false
108
+ Style/EachWithObject:
109
+ Description: Prefer `each_with_object` over `inject` or `reduce`.
110
+ Enabled: false
111
+ Style/EmptyLiteral:
112
+ Description: Prefer literals to Array.new/Hash.new/String.new.
113
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#literal-array-hash
114
+ Enabled: false
115
+ Style/Encoding:
116
+ Enabled: false
117
+ Style/EvenOdd:
118
+ Description: Favor the use of Fixnum#even? && Fixnum#odd?
119
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#predicate-methods
120
+ Enabled: false
121
+ Naming/FileName:
122
+ Description: Use snake_case for source file names.
123
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-files
124
+ Enabled: false
125
+ Style/FrozenStringLiteralComment:
126
+ Description: Add the frozen_string_literal comment to the top of files to help transition
127
+ from Ruby 2.3.0 to Ruby 3.0.
128
+ Enabled: false
129
+ Style/FlipFlop:
130
+ Description: Checks for flip flops
131
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-flip-flops
132
+ Enabled: false
133
+ Style/FormatString:
134
+ Description: Enforce the use of Kernel#sprintf, Kernel#format or String#%.
135
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#sprintf
136
+ Enabled: false
137
+ Style/GlobalVars:
138
+ Description: Do not introduce global variables.
139
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#instance-vars
140
+ Reference: http://www.zenspider.com/Languages/Ruby/QuickRef.html
141
+ Enabled: false
142
+ Style/GuardClause:
143
+ Description: Check for conditionals that can be replaced with guard clauses
144
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals
145
+ Enabled: false
146
+ Style/IfUnlessModifier:
147
+ Description: Favor modifier if/unless usage when you have a single-line body.
148
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier
149
+ Enabled: false
150
+ Style/IfWithSemicolon:
151
+ Description: Do not use if x; .... Use the ternary operator instead.
152
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs
153
+ Enabled: false
154
+ Style/InlineComment:
155
+ Description: Avoid inline comments.
156
+ Enabled: false
157
+ Style/Lambda:
158
+ Description: Use the new lambda literal syntax for single-line blocks.
159
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#lambda-multi-line
160
+ Enabled: false
161
+ Style/LambdaCall:
162
+ Description: Use lambda.call(...) instead of lambda.(...).
163
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#proc-call
164
+ Enabled: false
165
+ Style/LineEndConcatenation:
166
+ Description: Use \ instead of + or << to concatenate two string literals at line
167
+ end.
168
+ Enabled: false
169
+ Metrics/LineLength:
170
+ Description: Limit lines to 80 characters.
171
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#80-character-limits
172
+ Max: 80
173
+ Enabled: true
174
+ AllowURI: true
175
+ URISchemes:
176
+ - http
177
+ - https
178
+ Metrics/MethodLength:
179
+ Description: Avoid methods longer than 10 lines of code.
180
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#short-methods
181
+ Enabled: true
182
+ CountComments: true
183
+ Max: 10
184
+ Exclude:
185
+ - spec/**/*
186
+ Style/ModuleFunction:
187
+ Description: Checks for usage of `extend self` in modules.
188
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#module-function
189
+ Enabled: false
190
+ Style/MultilineBlockChain:
191
+ Description: Avoid multi-line chains of blocks.
192
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#single-line-blocks
193
+ Enabled: false
194
+ Style/NegatedIf:
195
+ Description: Favor unless over if for negative conditions (or control flow or).
196
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#unless-for-negatives
197
+ Enabled: false
198
+ Style/NegatedWhile:
199
+ Description: Favor until over while for negative conditions.
200
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#until-for-negatives
201
+ Enabled: false
202
+ Style/Next:
203
+ Description: Use `next` to skip iteration instead of a condition at the end.
204
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals
205
+ Enabled: false
206
+ Style/NilComparison:
207
+ Description: Prefer x.nil? to x == nil.
208
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#predicate-methods
209
+ Enabled: false
210
+ Style/Not:
211
+ Description: Use ! instead of not.
212
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#bang-not-not
213
+ Enabled: false
214
+ Style/NumericLiterals:
215
+ Description: Add underscores to large numeric literals to improve their readability.
216
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics
217
+ Enabled: false
218
+ Style/OneLineConditional:
219
+ Description: Favor the ternary operator(?:) over if/then/else/end constructs.
220
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#ternary-operator
221
+ Enabled: false
222
+ Naming/BinaryOperatorParameterName:
223
+ Description: When defining binary operators, name the argument other.
224
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#other-arg
225
+ Enabled: false
226
+ Metrics/ParameterLists:
227
+ Description: Avoid long parameter lists.
228
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#too-many-params
229
+ Enabled: true
230
+ Max: 5
231
+ CountKeywordArgs: true
232
+ Style/PercentLiteralDelimiters:
233
+ Description: Use `%`-literal delimiters consistently
234
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-literal-braces
235
+ Enabled: false
236
+ Style/PerlBackrefs:
237
+ Description: Avoid Perl-style regex back references.
238
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers
239
+ Enabled: false
240
+ Naming/PredicateName:
241
+ Description: Check the names of predicate methods.
242
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark
243
+ NamePrefixBlacklist:
244
+ - is_
245
+ Exclude:
246
+ - spec/**/*
247
+ Style/Proc:
248
+ Description: Use proc instead of Proc.new.
249
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#proc
250
+ Enabled: false
251
+ Style/RaiseArgs:
252
+ Description: Checks the arguments passed to raise/fail.
253
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#exception-class-messages
254
+ Enabled: false
255
+ Style/RegexpLiteral:
256
+ Description: Use / or %r around regular expressions.
257
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-r
258
+ Enabled: false
259
+ Style/SelfAssignment:
260
+ Description: Checks for places where self-assignment shorthand should have been
261
+ used.
262
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#self-assignment
263
+ Enabled: false
264
+ Style/SingleLineBlockParams:
265
+ Description: Enforces the names of some block params.
266
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#reduce-blocks
267
+ Enabled: false
268
+ Style/SingleLineMethods:
269
+ Description: Avoid single-line methods.
270
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-single-line-methods
271
+ Enabled: false
272
+ Style/SignalException:
273
+ Description: Checks for proper usage of fail and raise.
274
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#fail-method
275
+ Enabled: false
276
+ Style/SpecialGlobalVars:
277
+ Description: Avoid Perl-style global variables.
278
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms
279
+ Enabled: false
280
+ Style/StringLiterals:
281
+ Description: Checks if uses of quotes match the configured preference.
282
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-string-literals
283
+ EnforcedStyle: double_quotes
284
+ Enabled: true
285
+ Style/TrailingCommaInArguments:
286
+ Description: Checks for trailing comma in argument lists.
287
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas
288
+ EnforcedStyleForMultiline: comma
289
+ SupportedStylesForMultiline:
290
+ - comma
291
+ - consistent_comma
292
+ - no_comma
293
+ Enabled: true
294
+ Style/TrailingCommaInArrayLiteral:
295
+ Description: Checks for trailing comma in array literals.
296
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas
297
+ EnforcedStyleForMultiline: comma
298
+ SupportedStylesForMultiline:
299
+ - comma
300
+ - consistent_comma
301
+ - no_comma
302
+ Enabled: true
303
+ Style/TrailingCommaInHashLiteral:
304
+ Description: Checks for trailing comma in hash literals.
305
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas
306
+ EnforcedStyleForMultiline: comma
307
+ SupportedStylesForMultiline:
308
+ - comma
309
+ - consistent_comma
310
+ - no_comma
311
+ Enabled: true
312
+ Style/TrivialAccessors:
313
+ Description: Prefer attr_* methods to trivial readers/writers.
314
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#attr_family
315
+ Enabled: false
316
+ Style/VariableInterpolation:
317
+ Description: Don't interpolate global, instance and class variables directly in
318
+ strings.
319
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#curlies-interpolate
320
+ Enabled: false
321
+ Style/WhenThen:
322
+ Description: Use when x then ... for one-line cases.
323
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#one-line-cases
324
+ Enabled: false
325
+ Style/WhileUntilModifier:
326
+ Description: Favor modifier while/until usage when you have a single-line body.
327
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier
328
+ Enabled: false
329
+ Style/WordArray:
330
+ Description: Use %w or %W for arrays of words.
331
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-w
332
+ Enabled: false
333
+ Layout/AlignParameters:
334
+ Description: Here we check if the parameters on a multi-line method call or definition
335
+ are aligned.
336
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-double-indent
337
+ Enabled: false
338
+ Layout/ConditionPosition:
339
+ Description: Checks for condition placed in a confusing position relative to the
340
+ keyword.
341
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#same-line-condition
342
+ Enabled: false
343
+ Layout/DotPosition:
344
+ Description: Checks the position of the dot in multi-line method calls.
345
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains
346
+ EnforcedStyle: trailing
347
+ Layout/ExtraSpacing:
348
+ Description: Do not use unnecessary spacing.
349
+ Enabled: true
350
+ Layout/MultilineOperationIndentation:
351
+ Description: Checks indentation of binary operations that span more than one line.
352
+ Enabled: true
353
+ EnforcedStyle: indented
354
+ Layout/MultilineMethodCallIndentation:
355
+ Description: Checks indentation of method calls with the dot operator that span
356
+ more than one line.
357
+ Enabled: true
358
+ EnforcedStyle: indented
359
+ Layout/InitialIndentation:
360
+ Description: Checks the indentation of the first non-blank non-comment line in a
361
+ file.
362
+ Enabled: false
363
+ Lint/AmbiguousOperator:
364
+ Description: Checks for ambiguous operators in the first argument of a method invocation
365
+ without parentheses.
366
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-as-args
367
+ Enabled: false
368
+ Lint/AmbiguousRegexpLiteral:
369
+ Description: Checks for ambiguous regexp literals in the first argument of a method
370
+ invocation without parenthesis.
371
+ Enabled: false
372
+ Lint/AssignmentInCondition:
373
+ Description: Don't use assignment in conditions.
374
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition
375
+ Enabled: false
376
+ Lint/CircularArgumentReference:
377
+ Description: Don't refer to the keyword argument in the default value.
378
+ Enabled: false
379
+ Lint/DeprecatedClassMethods:
380
+ Description: Check for deprecated class method calls.
381
+ Enabled: false
382
+ Lint/DuplicatedKey:
383
+ Description: Check for duplicate keys in hash literals.
384
+ Enabled: false
385
+ Lint/EachWithObjectArgument:
386
+ Description: Check for immutable argument given to each_with_object.
387
+ Enabled: false
388
+ Lint/ElseLayout:
389
+ Description: Check for odd code arrangement in an else block.
390
+ Enabled: false
391
+ Lint/FormatParameterMismatch:
392
+ Description: The number of parameters to format/sprint must match the fields.
393
+ Enabled: false
394
+ Lint/HandleExceptions:
395
+ Description: Don't suppress exception.
396
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions
397
+ Enabled: false
398
+ Lint/LiteralAsCondition:
399
+ Description: Checks of literals used in conditions.
400
+ Enabled: false
401
+ Lint/LiteralInInterpolation:
402
+ Description: Checks for literals used in interpolation.
403
+ Enabled: false
404
+ Lint/Loop:
405
+ Description: Use Kernel#loop with break rather than begin/end/until or begin/end/while
406
+ for post-loop tests.
407
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#loop-with-break
408
+ Enabled: false
409
+ Lint/NestedMethodDefinition:
410
+ Description: Do not use nested method definitions.
411
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-methods
412
+ Enabled: false
413
+ Lint/NonLocalExitFromIterator:
414
+ Description: Do not use return in iterator to cause non-local exit.
415
+ Enabled: false
416
+ Lint/ParenthesesAsGroupedExpression:
417
+ Description: Checks for method calls with a space before the opening parenthesis.
418
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-no-spaces
419
+ Enabled: false
420
+ Lint/RequireParentheses:
421
+ Description: Use parentheses in the method call to avoid confusion about precedence.
422
+ Enabled: false
423
+ Lint/UnderscorePrefixedVariableName:
424
+ Description: Do not use prefix `_` for a variable that is used.
425
+ Enabled: false
426
+ Lint/UnneededCopDisableDirective:
427
+ Description: 'Checks for rubocop:disable comments that can be removed. Note: this
428
+ cop is not disabled when disabling all cops. It must be explicitly disabled.'
429
+ Enabled: false
430
+ Lint/Void:
431
+ Description: Possible use of operator/literal/variable in void context.
432
+ Enabled: false
433
+ Performance/CaseWhenSplat:
434
+ Description: Place `when` conditions that use splat at the end of the list of `when`
435
+ branches.
436
+ Enabled: false
437
+ Performance/Count:
438
+ Description: Use `count` instead of `select...size`, `reject...size`, `select...count`,
439
+ `reject...count`, `select...length`, and `reject...length`.
440
+ Enabled: false
441
+ Performance/Detect:
442
+ Description: Use `detect` instead of `select.first`, `find_all.first`, `select.last`,
443
+ and `find_all.last`.
444
+ Reference: https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code
445
+ Enabled: false
446
+ Performance/FlatMap:
447
+ Description: Use `Enumerable#flat_map` instead of `Enumerable#map...Array#flatten(1)`
448
+ or `Enumberable#collect..Array#flatten(1)`
449
+ Reference: https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code
450
+ Enabled: false
451
+ Performance/ReverseEach:
452
+ Description: Use `reverse_each` instead of `reverse.each`.
453
+ Reference: https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code
454
+ Enabled: false
455
+ Performance/Sample:
456
+ Description: Use `sample` instead of `shuffle.first`, `shuffle.last`, and `shuffle[Fixnum]`.
457
+ Reference: https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code
458
+ Enabled: false
459
+ Performance/Size:
460
+ Description: Use `size` instead of `count` for counting the number of elements in
461
+ `Array` and `Hash`.
462
+ Reference: https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code
463
+ Enabled: false
464
+ Performance/StringReplacement:
465
+ Description: Use `tr` instead of `gsub` when you are replacing the same number of
466
+ characters. Use `delete` instead of `gsub` when you are deleting characters.
467
+ Reference: https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code
468
+ Enabled: false
469
+ Rails/ActionFilter:
470
+ Description: Enforces consistent use of action filter methods.
471
+ Enabled: false
472
+ Rails/Date:
473
+ Description: Checks the correct usage of date aware methods, such as Date.today,
474
+ Date.current etc.
475
+ Enabled: false
476
+ Rails/FindBy:
477
+ Description: Prefer find_by over where.first.
478
+ Enabled: false
479
+ Rails/FindEach:
480
+ Description: Prefer all.find_each over all.find.
481
+ Enabled: false
482
+ Rails/HasAndBelongsToMany:
483
+ Description: Prefer has_many :through to has_and_belongs_to_many.
484
+ Enabled: false
485
+ Rails/Output:
486
+ Description: Checks for calls to puts, print, etc.
487
+ Enabled: false
488
+ Rails/ReadWriteAttribute:
489
+ Description: Checks for read_attribute(:attr) and write_attribute(:attr, val).
490
+ Enabled: false
491
+ Rails/ScopeArgs:
492
+ Description: Checks the arguments of ActiveRecord scopes.
493
+ Enabled: false
494
+ Rails/TimeZone:
495
+ Description: Checks the correct usage of time zone aware methods.
496
+ StyleGuide: https://github.com/bbatsov/rails-style-guide#time
497
+ Reference: http://danilenko.org/2012/7/6/rails_timezones
498
+ Enabled: false
499
+ Rails/Validation:
500
+ Description: Use validates :attribute, hash of validations.
501
+ Enabled: false
502
+ Rails:
503
+ Enabled: true
504
+ Metrics/PerceivedComplexity:
505
+ Description: A complexity metric geared towards measuring complexity for a human
506
+ reader.
507
+ Enabled: true
508
+ Max: 7
@@ -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 ronald.tse@ribose.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 [https://contributor-covenant.org/version/1/4][version]
72
+
73
+ [homepage]: https://contributor-covenant.org
74
+ [version]: https://contributor-covenant.org/version/1/4/
data/Gemfile ADDED
@@ -0,0 +1,7 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in expression.gemspec
4
+ gemspec
5
+
6
+ gem "rake", "~> 12.0"
7
+ gem "rspec", "~> 3.0"
@@ -0,0 +1,40 @@
1
+ # Expression
2
+
3
+ Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/expression`. To experiment with that code, run `bin/console` for an interactive prompt.
4
+
5
+ TODO: Delete this and the text above, and describe your gem
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'expression'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle install
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install expression
22
+
23
+ ## Usage
24
+
25
+ TODO: Write usage instructions here
26
+
27
+ ## Development
28
+
29
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
+
31
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
+
33
+ ## Contributing
34
+
35
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/expression. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/expression/blob/master/CODE_OF_CONDUCT.md).
36
+
37
+
38
+ ## Code of Conduct
39
+
40
+ Everyone interacting in the Expression project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/expression/blob/master/CODE_OF_CONDUCT.md).
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "expression"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,35 @@
1
+ lib = File.expand_path("lib", __dir__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require "expression/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "expression"
7
+ spec.version = Expression::VERSION
8
+ spec.authors = ["Ribose Inc."]
9
+ spec.email = ["open.source@ribose.com'"]
10
+
11
+ spec.summary = "Ruby tools for harvesting ISO EXPRESS data models."
12
+ spec.description = "Ruby tools for harvesting ISO EXPRESS data models."
13
+ spec.homepage = "https://github.com/lutaml/expression"
14
+ spec.license = "MIT"
15
+
16
+ spec.metadata["homepage_uri"] = spec.homepage
17
+ spec.metadata["source_code_uri"] = spec.homepage
18
+ spec.metadata["changelog_uri"] = "https://github.com/lutaml/expression/releases"
19
+
20
+ spec.files = `git ls-files`.split("\n")
21
+ spec.test_files = `git ls-files -- {spec}/*`.split("\n")
22
+
23
+ spec.bindir = "exe"
24
+ spec.require_paths = ["lib"]
25
+ # spec.executables = %w[expression]
26
+
27
+ spec.add_runtime_dependency "thor", "~> 1.0"
28
+ spec.add_runtime_dependency "activesupport", "~> 5.0"
29
+ spec.add_development_dependency "nokogiri", "~> 1.10"
30
+
31
+ spec.add_development_dependency "bundler", "~> 2.0"
32
+ spec.add_development_dependency "pry", "~> 0.12.2"
33
+ spec.add_development_dependency "rake", "~> 10.0"
34
+ spec.add_development_dependency "rspec", "~> 3.0"
35
+ end
@@ -0,0 +1,6 @@
1
+ require "expression/version"
2
+
3
+ module Expression
4
+ class Error < StandardError; end
5
+ # Your code goes here...
6
+ end
@@ -0,0 +1,3 @@
1
+ module Expression
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,9 @@
1
+ RSpec.describe Expression do
2
+ it "has a version number" do
3
+ expect(Expression::VERSION).not_to be nil
4
+ end
5
+
6
+ it "does something useful" do
7
+ expect(false).to eq(true)
8
+ end
9
+ end
@@ -0,0 +1,14 @@
1
+ require "bundler/setup"
2
+ require "expression"
3
+
4
+ RSpec.configure do |config|
5
+ # Enable flags like --only-failures and --next-failure
6
+ config.example_status_persistence_file_path = ".rspec_status"
7
+
8
+ # Disable RSpec exposing methods globally on `Module` and `main`
9
+ config.disable_monkey_patching!
10
+
11
+ config.expect_with :rspec do |c|
12
+ c.syntax = :expect
13
+ end
14
+ end
metadata ADDED
@@ -0,0 +1,158 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: expression
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Ribose Inc.
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2020-08-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: thor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: activesupport
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '5.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '5.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: nokogiri
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.10'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.10'
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.12.2
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.12.2
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '10.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '10.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rspec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '3.0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '3.0'
111
+ description: Ruby tools for harvesting ISO EXPRESS data models.
112
+ email:
113
+ - open.source@ribose.com'
114
+ executables: []
115
+ extensions: []
116
+ extra_rdoc_files: []
117
+ files:
118
+ - ".gitignore"
119
+ - ".rspec"
120
+ - ".rubocop.yml"
121
+ - CODE_OF_CONDUCT.md
122
+ - Gemfile
123
+ - README.md
124
+ - Rakefile
125
+ - bin/console
126
+ - bin/setup
127
+ - expression.gemspec
128
+ - lib/expression.rb
129
+ - lib/expression/version.rb
130
+ - spec/expression_spec.rb
131
+ - spec/spec_helper.rb
132
+ homepage: https://github.com/lutaml/expression
133
+ licenses:
134
+ - MIT
135
+ metadata:
136
+ homepage_uri: https://github.com/lutaml/expression
137
+ source_code_uri: https://github.com/lutaml/expression
138
+ changelog_uri: https://github.com/lutaml/expression/releases
139
+ post_install_message:
140
+ rdoc_options: []
141
+ require_paths:
142
+ - lib
143
+ required_ruby_version: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: '0'
148
+ required_rubygems_version: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ requirements: []
154
+ rubygems_version: 3.0.3
155
+ signing_key:
156
+ specification_version: 4
157
+ summary: Ruby tools for harvesting ISO EXPRESS data models.
158
+ test_files: []