procore 0.6.7 → 0.6.8

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: 318aae4eb7a76a5bad258a57d2614bde20e5b35b56f2e0d05a5d8d4ea2dc1aa6
4
- data.tar.gz: 3546d5ca61534836b1ef63d10bf95e5f26db586a8873be3466a87e82824c02d9
3
+ metadata.gz: 56cc4c858cf5be92d0b0d0a88b5baa75504e93dadca7a626349afdf403be3ff1
4
+ data.tar.gz: cc9610d7670952cb77d830a4481522d1c2d084627584dc22b79c2c2c0f98a171
5
5
  SHA512:
6
- metadata.gz: 0b5460652ebaf4c1b73925333d58345ba1483d7e5fd92403ac9c756209430918c4f73d819ee02328be314e91e030e48df13dfce913c3ce01eb6eb15a780ba248
7
- data.tar.gz: 6d9340c15d1d28018e88019b60bccf5e2211a1a976294d1c293738330d1b853794daf08463d6842c96b2a1ef0b88d7f8704d1ef5842c7d84f6f48005f3c3d65e
6
+ metadata.gz: 5b158f1b94063622d7c013f4f021d757cdf08f09dd6474e8e5382b174591290161141a2dab515ab6ff6159e5cf92702885743e796d31ed00cb9d6278075999dc
7
+ data.tar.gz: a579c807d7c74371ef21f5477f622081d8987eefe15f9c2afa3282dd2141ced7af3d2ca99bb1dcfdbe7f22ec3486e8c79bef6bf25b8e3d8da48bbfd064471b14
@@ -0,0 +1,674 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.3
3
+ Include:
4
+ - '**/Rakefile'
5
+ - '**/config.ru'
6
+ Exclude:
7
+ - 'db/**/*'
8
+ - 'config/**/*'
9
+ - 'script/**/*'
10
+ - 'vendor/bundle/**/*'
11
+ - 'node_modules/**/*'
12
+
13
+ Naming/AccessorMethodName:
14
+ Description: Check the naming of accessor methods for get_/set_.
15
+ Enabled: false
16
+
17
+ # Waiting for https://github.com/bbatsov/rubocop/pull/5230
18
+ Style/FormatStringToken:
19
+ Enabled: false
20
+
21
+ Style/Alias:
22
+ Description: 'Use alias_method instead of alias.'
23
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method'
24
+ Enabled: false
25
+
26
+ Style/ArrayJoin:
27
+ Description: 'Use Array#join instead of Array#*.'
28
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#array-join'
29
+ Enabled: false
30
+
31
+ Style/AsciiComments:
32
+ Description: 'Use only ascii symbols in comments.'
33
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments'
34
+ Enabled: false
35
+
36
+ Naming/AsciiIdentifiers:
37
+ Description: 'Use only ascii symbols in identifiers.'
38
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers'
39
+ Enabled: false
40
+
41
+ Style/Attr:
42
+ Description: 'Checks for uses of Module#attr.'
43
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr'
44
+ Enabled: false
45
+
46
+ Metrics/BlockNesting:
47
+ Description: 'Avoid excessive block nesting'
48
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count'
49
+ Enabled: false
50
+
51
+ Style/CaseEquality:
52
+ Description: 'Avoid explicit use of the case equality operator(===).'
53
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality'
54
+ Enabled: false
55
+
56
+ Style/CharacterLiteral:
57
+ Description: 'Checks for uses of character literals.'
58
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals'
59
+ Enabled: false
60
+
61
+ Style/ClassAndModuleChildren:
62
+ Description: 'Checks style of children classes and modules.'
63
+ Enabled: true
64
+ EnforcedStyle: nested
65
+ Exclude:
66
+ - 'test/**/*'
67
+
68
+ Metrics/ClassLength:
69
+ Description: 'Avoid classes longer than 100 lines of code.'
70
+ Enabled: false
71
+
72
+ Metrics/ModuleLength:
73
+ Description: 'Avoid modules longer than 100 lines of code.'
74
+ Enabled: false
75
+
76
+ Style/ClassVars:
77
+ Description: 'Avoid the use of class variables.'
78
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
79
+ Enabled: false
80
+
81
+ Style/CollectionMethods:
82
+ Enabled: true
83
+ PreferredMethods:
84
+ find: detect
85
+ inject: reduce
86
+ collect: map
87
+ find_all: select
88
+
89
+ Style/ColonMethodCall:
90
+ Description: 'Do not use :: for method call.'
91
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons'
92
+ Enabled: false
93
+
94
+ Style/CommentAnnotation:
95
+ Description: >-
96
+ Checks formatting of special comments
97
+ (TODO, FIXME, OPTIMIZE, HACK, REVIEW).
98
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords'
99
+ Enabled: false
100
+
101
+ Metrics/AbcSize:
102
+ Description: >-
103
+ A calculated magnitude based on number of assignments,
104
+ branches, and conditions.
105
+ Enabled: false
106
+
107
+ Metrics/BlockLength:
108
+ Enabled: false
109
+ CountComments: true # count full line comments?
110
+ Max: 25
111
+ ExcludedMethods: []
112
+ Exclude:
113
+ - "**/*.rake"
114
+ - "spec/**/*"
115
+
116
+ Metrics/CyclomaticComplexity:
117
+ Description: >-
118
+ A complexity metric that is strongly correlated to the number
119
+ of test cases needed to validate a method.
120
+ Enabled: false
121
+
122
+ Rails/Delegate:
123
+ Description: 'Prefer delegate method for delegations.'
124
+ Enabled: false
125
+
126
+ Style/PreferredHashMethods:
127
+ Description: 'Checks use of `has_key?` and `has_value?` Hash methods.'
128
+ StyleGuide: '#hash-key'
129
+ Enabled: false
130
+
131
+ Style/Documentation:
132
+ Description: 'Document classes and non-namespace modules.'
133
+ Enabled: false
134
+
135
+ Style/DoubleNegation:
136
+ Description: 'Checks for uses of double negation (!!).'
137
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang'
138
+ Enabled: false
139
+
140
+ Style/EachWithObject:
141
+ Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
142
+ Enabled: false
143
+
144
+ Style/EmptyLiteral:
145
+ Description: 'Prefer literals to Array.new/Hash.new/String.new.'
146
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash'
147
+ Enabled: false
148
+
149
+ # Checks whether the source file has a utf-8 encoding comment or not
150
+ # AutoCorrectEncodingComment must match the regex
151
+ # /#.*coding\s?[:=]\s?(?:UTF|utf)-8/
152
+ Style/Encoding:
153
+ Enabled: false
154
+
155
+ Style/EvenOdd:
156
+ Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
157
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
158
+ Enabled: false
159
+
160
+ Naming/FileName:
161
+ Description: 'Use snake_case for source file names.'
162
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
163
+ Enabled: false
164
+
165
+ Style/FrozenStringLiteralComment:
166
+ Description: >-
167
+ Add the frozen_string_literal comment to the top of files
168
+ to help transition from Ruby 2.3.0 to Ruby 3.0.
169
+ Enabled: false
170
+
171
+ Style/FlipFlop:
172
+ Description: 'Checks for flip flops'
173
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops'
174
+ Enabled: false
175
+
176
+ Style/FormatString:
177
+ Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
178
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf'
179
+ Enabled: false
180
+
181
+ Style/GlobalVars:
182
+ Description: 'Do not introduce global variables.'
183
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars'
184
+ Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html'
185
+ Enabled: false
186
+
187
+ Style/GuardClause:
188
+ Description: 'Check for conditionals that can be replaced with guard clauses'
189
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
190
+ Enabled: false
191
+
192
+ Style/IfUnlessModifier:
193
+ Description: >-
194
+ Favor modifier if/unless usage when you have a
195
+ single-line body.
196
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier'
197
+ Enabled: false
198
+
199
+ Style/IfWithSemicolon:
200
+ Description: 'Do not use if x; .... Use the ternary operator instead.'
201
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs'
202
+ Enabled: false
203
+
204
+ Style/InlineComment:
205
+ Description: 'Avoid inline comments.'
206
+ Enabled: false
207
+
208
+ Style/Lambda:
209
+ Description: 'Use the new lambda literal syntax for single-line blocks.'
210
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line'
211
+ Enabled: false
212
+
213
+ Style/LambdaCall:
214
+ Description: 'Use lambda.call(...) instead of lambda.(...).'
215
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call'
216
+ Enabled: false
217
+
218
+ Style/LineEndConcatenation:
219
+ Description: >-
220
+ Use \ instead of + or << to concatenate two string literals at
221
+ line end.
222
+ Enabled: false
223
+
224
+ Metrics/LineLength:
225
+ Description: 'Limit lines to 80 characters.'
226
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
227
+ Max: 150
228
+
229
+ Metrics/MethodLength:
230
+ Description: 'Avoid methods longer than 10 lines of code.'
231
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods'
232
+ Enabled: false
233
+
234
+ Style/ModuleFunction:
235
+ Description: 'Checks for usage of `extend self` in modules.'
236
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function'
237
+ Enabled: false
238
+
239
+ Style/MultilineBlockChain:
240
+ Description: 'Avoid multi-line chains of blocks.'
241
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
242
+ Enabled: false
243
+
244
+ Style/NegatedIf:
245
+ Description: >-
246
+ Favor unless over if for negative conditions
247
+ (or control flow or).
248
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives'
249
+ Enabled: false
250
+
251
+ Style/NegatedWhile:
252
+ Description: 'Favor until over while for negative conditions.'
253
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives'
254
+ Enabled: false
255
+
256
+ Style/Next:
257
+ Description: 'Use `next` to skip iteration instead of a condition at the end.'
258
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
259
+ Enabled: false
260
+
261
+ Style/NilComparison:
262
+ Description: 'Prefer x.nil? to x == nil.'
263
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
264
+ Enabled: false
265
+
266
+ Style/Not:
267
+ Description: 'Use ! instead of not.'
268
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not'
269
+ Enabled: false
270
+
271
+ Style/NumericLiterals:
272
+ Description: >-
273
+ Add underscores to large numeric literals to improve their
274
+ readability.
275
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics'
276
+ Enabled: false
277
+
278
+ Style/OneLineConditional:
279
+ Description: >-
280
+ Favor the ternary operator(?:) over
281
+ if/then/else/end constructs.
282
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
283
+ Enabled: false
284
+
285
+ Naming/BinaryOperatorParameterName:
286
+ Description: 'When defining binary operators, name the argument other.'
287
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
288
+ Enabled: false
289
+
290
+ Metrics/ParameterLists:
291
+ Description: 'Avoid parameter lists longer than three or four parameters.'
292
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params'
293
+ Enabled: false
294
+
295
+ Style/PercentLiteralDelimiters:
296
+ Description: 'Use `%`-literal delimiters consistently'
297
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces'
298
+ Enabled: false
299
+
300
+ Style/PerlBackrefs:
301
+ Description: 'Avoid Perl-style regex back references.'
302
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers'
303
+ Enabled: false
304
+
305
+ Naming/PredicateName:
306
+ Description: 'Check the names of predicate methods.'
307
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark'
308
+ NamePrefixBlacklist:
309
+ - is_
310
+ Exclude:
311
+ - spec/**/*
312
+
313
+ Style/Proc:
314
+ Description: 'Use proc instead of Proc.new.'
315
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc'
316
+ Enabled: false
317
+
318
+ Style/RaiseArgs:
319
+ Description: 'Checks the arguments passed to raise/fail.'
320
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages'
321
+ Enabled: false
322
+
323
+ Style/RegexpLiteral:
324
+ Description: 'Use / or %r around regular expressions.'
325
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r'
326
+ Enabled: false
327
+
328
+ Style/SelfAssignment:
329
+ Description: >-
330
+ Checks for places where self-assignment shorthand should have
331
+ been used.
332
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment'
333
+ Enabled: false
334
+
335
+ Style/SingleLineBlockParams:
336
+ Description: 'Enforces the names of some block params.'
337
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks'
338
+ Enabled: false
339
+
340
+ Style/SingleLineMethods:
341
+ Description: 'Avoid single-line methods.'
342
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods'
343
+ Enabled: false
344
+
345
+ Style/EmptyMethod:
346
+ Enabled: true
347
+ EnforcedStyle: expanded
348
+
349
+ Style/SignalException:
350
+ Description: 'Checks for proper usage of fail and raise.'
351
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method'
352
+ Enabled: false
353
+
354
+ Style/SpecialGlobalVars:
355
+ Description: 'Avoid Perl-style global variables.'
356
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms'
357
+ Enabled: false
358
+
359
+ Style/StringLiterals:
360
+ Description: 'Checks if uses of quotes match the configured preference.'
361
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals'
362
+ EnforcedStyle: double_quotes
363
+ Enabled: true
364
+
365
+ Style/TrailingCommaInArguments:
366
+ Description: 'Checks for trailing comma in argument lists.'
367
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
368
+ EnforcedStyleForMultiline: comma
369
+ SupportedStylesForMultiline:
370
+ - comma
371
+ - consistent_comma
372
+ - no_comma
373
+ Enabled: true
374
+
375
+ Style/TrailingCommaInLiteral:
376
+ Description: 'Checks for trailing comma in array and hash literals.'
377
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
378
+ EnforcedStyleForMultiline: comma
379
+ SupportedStylesForMultiline:
380
+ - comma
381
+ - consistent_comma
382
+ - no_comma
383
+ Enabled: true
384
+
385
+ Style/TrivialAccessors:
386
+ Description: 'Prefer attr_* methods to trivial readers/writers.'
387
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family'
388
+ Enabled: false
389
+
390
+ Style/VariableInterpolation:
391
+ Description: >-
392
+ Don't interpolate global, instance and class variables
393
+ directly in strings.
394
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate'
395
+ Enabled: false
396
+
397
+ Style/WhenThen:
398
+ Description: 'Use when x then ... for one-line cases.'
399
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases'
400
+ Enabled: false
401
+
402
+ Style/WhileUntilModifier:
403
+ Description: >-
404
+ Favor modifier while/until usage when you have a
405
+ single-line body.
406
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier'
407
+ Enabled: false
408
+
409
+ Style/WordArray:
410
+ Description: 'Use %w or %W for arrays of words.'
411
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w'
412
+ Enabled: true
413
+ EnforcedStyle: brackets
414
+
415
+ Style/SymbolArray:
416
+ Enabled: true
417
+ EnforcedStyle: brackets
418
+
419
+ Style/AndOr:
420
+ # Whether `and` and `or` are banned only in conditionals (conditionals)
421
+ # or completely (always).
422
+ EnforcedStyle: always
423
+ SupportedStyles:
424
+ - always
425
+ - conditionals
426
+ Exclude:
427
+ - 'app/controllers/**/*'
428
+
429
+ Style/RedundantBegin:
430
+ Enabled: false
431
+
432
+ # Layout
433
+
434
+ Layout/AlignParameters:
435
+ Description: 'Here we check if the parameters on a multi-line method call or definition are aligned.'
436
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent'
437
+ Enabled: false
438
+
439
+ Layout/DotPosition:
440
+ Description: 'Checks the position of the dot in multi-line method calls.'
441
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
442
+ EnforcedStyle: leading
443
+
444
+ Layout/ExtraSpacing:
445
+ Description: 'Do not use unnecessary spacing.'
446
+ Enabled: true
447
+
448
+ Layout/MultilineOperationIndentation:
449
+ Description: >-
450
+ Checks indentation of binary operations that span more than
451
+ one line.
452
+ Enabled: true
453
+ EnforcedStyle: indented
454
+
455
+ Layout/MultilineMethodCallIndentation:
456
+ Description: >-
457
+ Checks indentation of method calls with the dot operator
458
+ that span more than one line.
459
+ Enabled: true
460
+ EnforcedStyle: indented
461
+
462
+ Layout/InitialIndentation:
463
+ Description: >-
464
+ Checks the indentation of the first non-blank non-comment line in a file.
465
+ Enabled: false
466
+
467
+ # Lint
468
+
469
+ Lint/AmbiguousOperator:
470
+ Description: >-
471
+ Checks for ambiguous operators in the first argument of a
472
+ method invocation without parentheses.
473
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-as-args'
474
+ Enabled: false
475
+
476
+ Lint/AmbiguousRegexpLiteral:
477
+ Description: >-
478
+ Checks for ambiguous regexp literals in the first argument of
479
+ a method invocation without parenthesis.
480
+ Enabled: false
481
+
482
+ Lint/AssignmentInCondition:
483
+ Description: "Don't use assignment in conditions."
484
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition'
485
+ Enabled: false
486
+
487
+ Lint/CircularArgumentReference:
488
+ Description: "Don't refer to the keyword argument in the default value."
489
+ Enabled: false
490
+
491
+ Lint/ConditionPosition:
492
+ Description: >-
493
+ Checks for condition placed in a confusing position relative to
494
+ the keyword.
495
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition'
496
+ Enabled: false
497
+
498
+ Lint/DeprecatedClassMethods:
499
+ Description: 'Check for deprecated class method calls.'
500
+ Enabled: false
501
+
502
+ Lint/DuplicatedKey:
503
+ Description: 'Check for duplicate keys in hash literals.'
504
+ Enabled: false
505
+
506
+ Lint/EachWithObjectArgument:
507
+ Description: 'Check for immutable argument given to each_with_object.'
508
+ Enabled: false
509
+
510
+ Lint/ElseLayout:
511
+ Description: 'Check for odd code arrangement in an else block.'
512
+ Enabled: false
513
+
514
+ Lint/FormatParameterMismatch:
515
+ Description: 'The number of parameters to format/sprint must match the fields.'
516
+ Enabled: false
517
+
518
+ Lint/HandleExceptions:
519
+ Description: "Don't suppress exception."
520
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions'
521
+ Enabled: false
522
+
523
+ Lint/LiteralInInterpolation:
524
+ Description: 'Checks for literals used in interpolation.'
525
+ Enabled: false
526
+
527
+ Lint/Loop:
528
+ Description: >-
529
+ Use Kernel#loop with break rather than begin/end/until or
530
+ begin/end/while for post-loop tests.
531
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#loop-with-break'
532
+ Enabled: false
533
+
534
+ Lint/NestedMethodDefinition:
535
+ Description: 'Do not use nested method definitions.'
536
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-methods'
537
+ Enabled: false
538
+
539
+ Lint/NonLocalExitFromIterator:
540
+ Description: 'Do not use return in iterator to cause non-local exit.'
541
+ Enabled: false
542
+
543
+ Lint/ParenthesesAsGroupedExpression:
544
+ Description: >-
545
+ Checks for method calls with a space before the opening
546
+ parenthesis.
547
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
548
+ Enabled: false
549
+
550
+ Lint/RequireParentheses:
551
+ Description: >-
552
+ Use parentheses in the method call to avoid confusion
553
+ about precedence.
554
+ Enabled: false
555
+
556
+ Lint/UnderscorePrefixedVariableName:
557
+ Description: 'Do not use prefix `_` for a variable that is used.'
558
+ Enabled: false
559
+
560
+ Lint/UnneededDisable:
561
+ Description: >-
562
+ Checks for rubocop:disable comments that can be removed.
563
+ Note: this cop is not disabled when disabling all cops.
564
+ It must be explicitly disabled.
565
+ Enabled: false
566
+
567
+ Lint/Void:
568
+ Description: 'Possible use of operator/literal/variable in void context.'
569
+ Enabled: false
570
+
571
+ # Performance
572
+
573
+ Performance/CaseWhenSplat:
574
+ Description: >-
575
+ Place `when` conditions that use splat at the end
576
+ of the list of `when` branches.
577
+ Enabled: false
578
+
579
+ Performance/Count:
580
+ Description: >-
581
+ Use `count` instead of `select...size`, `reject...size`,
582
+ `select...count`, `reject...count`, `select...length`,
583
+ and `reject...length`.
584
+ Enabled: false
585
+
586
+ Performance/Detect:
587
+ Description: >-
588
+ Use `detect` instead of `select.first`, `find_all.first`,
589
+ `select.last`, and `find_all.last`.
590
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
591
+ Enabled: false
592
+
593
+ Performance/FlatMap:
594
+ Description: >-
595
+ Use `Enumerable#flat_map`
596
+ instead of `Enumerable#map...Array#flatten(1)`
597
+ or `Enumberable#collect..Array#flatten(1)`
598
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code'
599
+ Enabled: false
600
+
601
+ Performance/ReverseEach:
602
+ Description: 'Use `reverse_each` instead of `reverse.each`.'
603
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code'
604
+ Enabled: false
605
+
606
+ Performance/Sample:
607
+ Description: >-
608
+ Use `sample` instead of `shuffle.first`,
609
+ `shuffle.last`, and `shuffle[Fixnum]`.
610
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
611
+ Enabled: false
612
+
613
+ Performance/Size:
614
+ Description: >-
615
+ Use `size` instead of `count` for counting
616
+ the number of elements in `Array` and `Hash`.
617
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code'
618
+ Enabled: false
619
+
620
+ Performance/StringReplacement:
621
+ Description: >-
622
+ Use `tr` instead of `gsub` when you are replacing the same
623
+ number of characters. Use `delete` instead of `gsub` when
624
+ you are deleting characters.
625
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code'
626
+ Enabled: false
627
+
628
+ # Rails
629
+
630
+ Rails/ActionFilter:
631
+ Description: 'Enforces consistent use of action filter methods.'
632
+ Enabled: false
633
+
634
+ Rails/Date:
635
+ Description: >-
636
+ Checks the correct usage of date aware methods,
637
+ such as Date.today, Date.current etc.
638
+ Enabled: false
639
+
640
+ Rails/FindBy:
641
+ Description: 'Prefer find_by over where.first.'
642
+ Enabled: false
643
+
644
+ Rails/FindEach:
645
+ Description: 'Prefer all.find_each over all.find.'
646
+ Enabled: false
647
+
648
+ Rails/HasAndBelongsToMany:
649
+ Description: 'Prefer has_many :through to has_and_belongs_to_many.'
650
+ Enabled: false
651
+
652
+ Rails/Output:
653
+ Description: 'Checks for calls to puts, print, etc.'
654
+ Enabled: false
655
+
656
+ Rails/ReadWriteAttribute:
657
+ Description: >-
658
+ Checks for read_attribute(:attr) and
659
+ write_attribute(:attr, val).
660
+ Enabled: false
661
+
662
+ Rails/ScopeArgs:
663
+ Description: 'Checks the arguments of ActiveRecord scopes.'
664
+ Enabled: false
665
+
666
+ Rails/TimeZone:
667
+ Description: 'Checks the correct usage of time zone aware methods.'
668
+ StyleGuide: 'https://github.com/bbatsov/rails-style-guide#time'
669
+ Reference: 'http://danilenko.org/2012/7/6/rails_timezones'
670
+ Enabled: false
671
+
672
+ Rails/Validation:
673
+ Description: 'Use validates :attribute, hash of validations.'
674
+ Enabled: false
@@ -1,5 +1,9 @@
1
1
  ## Unreleased
2
2
 
3
+ ## 0.6.8 (January 04, 2018)
4
+
5
+ * Wrap `AccessTokenCredentials` external errors with our own errors
6
+
3
7
  ## 0.6.7 (January 04, 2018)
4
8
 
5
9
  * Allow gem to be pushed to RubyGems
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
3
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
5
  # Specify your gem's dependencies in procore.gemspec
6
6
  gemspec
data/Rakefile CHANGED
@@ -1,9 +1,15 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rake/testtask"
3
+ require "rubocop/rake_task"
3
4
 
4
- task default: :test
5
+ RuboCop::RakeTask.new(:rubocop) do |t|
6
+ t.options = ["--display-cop-names"]
7
+ end
5
8
 
6
9
  Rake::TestTask.new do |t|
7
- t.libs << 'test'
8
- t.pattern = "test/**/*_test.rb"
10
+ t.libs << "test"
11
+ t.test_files = FileList["test/**/*_test.rb"]
12
+ t.warning = false
9
13
  end
14
+
15
+ task default: [:rubocop, :test]
@@ -11,14 +11,25 @@ module Procore
11
11
  end
12
12
 
13
13
  def refresh(token:, refresh:)
14
- token = OAuth2::AccessToken.new(client, token, refresh_token: refresh)
15
- new_token = token.refresh!
14
+ begin
15
+ token = OAuth2::AccessToken.new(client, token, refresh_token: refresh)
16
+ new_token = token.refresh!
16
17
 
17
- Procore::Auth::Token.new(
18
- access_token: new_token.token,
19
- refresh_token: new_token.refresh_token,
20
- expires_at: new_token.expires_at,
21
- )
18
+ Procore::Auth::Token.new(
19
+ access_token: new_token.token,
20
+ refresh_token: new_token.refresh_token,
21
+ expires_at: new_token.expires_at,
22
+ )
23
+ rescue OAuth2::Error => e
24
+ raise OAuthError.new(e.description, response: e.response)
25
+ rescue Faraday::ConnectionFailed => e
26
+ raise APIConnectionError.new("Connection Error: #{e.message}")
27
+ rescue URI::BadURIError
28
+ raise OAuthError.new(
29
+ "Host is not a valid URI. Check your host option to make sure it " \
30
+ "is a properly formed url",
31
+ )
32
+ end
22
33
  end
23
34
 
24
35
  private
@@ -14,28 +14,27 @@ module Procore
14
14
  @host = host
15
15
  end
16
16
 
17
- def refresh(token: nil, refresh: nil)
18
- new_token = client
19
- .client_credentials
20
- .get_token({}, { auth_scheme: :request_body })
21
-
22
- Procore::Auth::Token.new(
23
- access_token: new_token.token,
24
- refresh_token: new_token.refresh_token,
25
- expires_at: new_token.expires_at,
26
- )
27
-
28
- rescue OAuth2::Error => e
29
- raise OAuthError.new(e.description, response: e.response)
30
-
31
- rescue Faraday::ConnectionFailed => e
32
- raise APIConnectionError.new("Connection Error: #{e.message}")
33
-
34
- rescue URI::BadURIError
35
- raise OAuthError.new(
36
- "Host is not a valid URI. Check your host option to make sure it " \
37
- "is a properly formed url"
38
- )
17
+ def refresh(*)
18
+ begin
19
+ new_token = client
20
+ .client_credentials
21
+ .get_token({}, auth_scheme: :request_body)
22
+
23
+ Procore::Auth::Token.new(
24
+ access_token: new_token.token,
25
+ refresh_token: new_token.refresh_token,
26
+ expires_at: new_token.expires_at,
27
+ )
28
+ rescue OAuth2::Error => e
29
+ raise OAuthError.new(e.description, response: e.response)
30
+ rescue Faraday::ConnectionFailed => e
31
+ raise APIConnectionError.new("Connection Error: #{e.message}")
32
+ rescue URI::BadURIError
33
+ raise OAuthError.new(
34
+ "Host is not a valid URI. Check your host option to make sure it " \
35
+ "is a properly formed url",
36
+ )
37
+ end
39
38
  end
40
39
 
41
40
  private
@@ -55,7 +55,7 @@ module Procore
55
55
  raise Procore::OAuthError.new(
56
56
  "Unable to retreive an access token from the store. Double check " \
57
57
  "your store configuration and make sure to correctly store a token " \
58
- "before attempting to make API requests"
58
+ "before attempting to make API requests",
59
59
  )
60
60
  end
61
61
 
@@ -75,7 +75,7 @@ module Procore
75
75
  "Unable to refresh the access token. Perhaps the Procore API is " \
76
76
  "down or the your access token store is misconfigured. Either " \
77
77
  "way, you should clear the store and prompt the user to sign in " \
78
- "again."
78
+ "again.",
79
79
  )
80
80
  end
81
81
  end
@@ -44,7 +44,7 @@ module Procore
44
44
  headers: response.headers,
45
45
  request: OpenStruct.new(
46
46
  options: {},
47
- path: nil
47
+ path: nil,
48
48
  ),
49
49
  )
50
50
  end
@@ -22,7 +22,7 @@ module Procore
22
22
  "API Request Initiated",
23
23
  path: "#{base_api_path}/#{path}",
24
24
  method: "GET",
25
- query: "#{query}",
25
+ query: query.to_s,
26
26
  )
27
27
 
28
28
  with_response_handling do
@@ -50,7 +50,7 @@ module Procore
50
50
  "API Request Initiated",
51
51
  path: "#{base_api_path}/#{path}",
52
52
  method: "POST",
53
- body: "#{body}",
53
+ body: body.to_s,
54
54
  )
55
55
 
56
56
  with_response_handling do
@@ -77,7 +77,7 @@ module Procore
77
77
  "API Request Initiated",
78
78
  path: "#{base_api_path}/#{path}",
79
79
  method: "PATCH",
80
- body: "#{body}",
80
+ body: body.to_s,
81
81
  )
82
82
 
83
83
  with_response_handling do
@@ -97,12 +97,12 @@ module Procore
97
97
  # client.delete("users/1")
98
98
  #
99
99
  # @return [Response]
100
- def delete(path, query = {}, options = {})
100
+ def delete(path, query = {}, _options = {})
101
101
  Util.log_info(
102
102
  "API Request Initiated",
103
103
  path: "#{base_api_path}/#{path}",
104
104
  method: "DELETE",
105
- query: "#{query}",
105
+ query: query.to_s,
106
106
  )
107
107
 
108
108
  with_response_handling do
@@ -126,14 +126,14 @@ module Procore
126
126
  rescue Timeout::Error, Errno::ECONNREFUSED => e
127
127
  if retries <= Procore.configuration.max_retries
128
128
  retries += 1
129
- sleep 1.5 ** retries
129
+ sleep 1.5**retries
130
130
  retry
131
131
  else
132
132
  raise APIConnectionError.new(
133
133
  "Cannot connect to the Procore API. Double check your timeout " \
134
134
  "settings to ensure requests are not being cancelled before they " \
135
135
  "can complete. Try setting the timeout and max_retries to larger " \
136
- "values."
136
+ "values.",
137
137
  ), e
138
138
  end
139
139
  end
@@ -150,7 +150,7 @@ module Procore
150
150
  Util.log_info(
151
151
  "API Request Finished ",
152
152
  path: result.request.path,
153
- status: "#{result.code}",
153
+ status: result.code.to_s,
154
154
  duration: "#{((Time.now - request_start_time) * 1000).round(0)}ms",
155
155
  request_id: result.headers["x-request-id"],
156
156
  )
@@ -158,10 +158,10 @@ module Procore
158
158
  Util.log_error(
159
159
  "API Request Failed",
160
160
  path: result.request.path,
161
- status: "#{result.code}",
161
+ status: result.code.to_s,
162
162
  duration: "#{((Time.now - request_start_time) * 1000).round(0)}ms",
163
163
  request_id: result.headers["x-request-id"],
164
- retries: retries
164
+ retries: retries,
165
165
  )
166
166
  end
167
167
 
@@ -206,7 +206,7 @@ module Procore
206
206
  "Accepts" => "application/json",
207
207
  "Authorization" => "Bearer #{access_token}",
208
208
  "Content-Type" => "application/json",
209
- "User-Agent" => Procore.configuration.user_agent
209
+ "User-Agent" => Procore.configuration.user_agent,
210
210
  }.tap do |headers|
211
211
  if options[:idempotency_token]
212
212
  headers["Idempotency-Token"] = options[:idempotency_token]
@@ -37,7 +37,6 @@ module Procore
37
37
  # last_page.pagination[:last]
38
38
  # #=> nil
39
39
  class Response
40
-
41
40
  # @!attribute [r] headers
42
41
  # @return [Hash<String, String>] Raw headers returned from Procore API.
43
42
  # @!attribute [r] code
@@ -69,7 +68,7 @@ module Procore
69
68
  end
70
69
 
71
70
  def parse_pagination
72
- headers["link"].to_s.split(", ").map(&:strip).inject({}) do |links, link|
71
+ headers["link"].to_s.split(", ").map(&:strip).reduce({}) do |links, link|
73
72
  url, name = link.match(/vapid\/(.*?)>; rel="(\w+)"/).captures
74
73
  links.merge!(name.to_sym => url)
75
74
  end
@@ -1,3 +1,3 @@
1
1
  module Procore
2
- VERSION = "0.6.7"
2
+ VERSION = "0.6.8".freeze
3
3
  end
@@ -1,4 +1,5 @@
1
1
  # coding: utf-8
2
+
2
3
  lib = File.expand_path("../lib", __FILE__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require "procore/version"
@@ -9,8 +10,8 @@ Gem::Specification.new do |spec|
9
10
  spec.authors = ["Procore Engineering"]
10
11
  spec.email = ["opensource@procore.comm"]
11
12
 
12
- spec.summary = %q{Procore Ruby Gem}
13
- spec.description = %q{Procore Ruby Gem}
13
+ spec.summary = "Procore Ruby Gem"
14
+ spec.description = "Procore Ruby Gem"
14
15
  spec.homepage = "https://github.com/procore/ruby-sdk"
15
16
  spec.license = "MIT"
16
17
 
@@ -29,6 +30,7 @@ Gem::Specification.new do |spec|
29
30
  spec.add_development_dependency "pry"
30
31
  spec.add_development_dependency "rake"
31
32
  spec.add_development_dependency "redis"
33
+ spec.add_development_dependency "rubocop"
32
34
  spec.add_development_dependency "sqlite3"
33
35
  spec.add_development_dependency "webmock"
34
36
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: procore
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.7
4
+ version: 0.6.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Procore Engineering
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rubocop
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'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: sqlite3
127
141
  requirement: !ruby/object:Gem::Requirement
@@ -186,6 +200,7 @@ extensions: []
186
200
  extra_rdoc_files: []
187
201
  files:
188
202
  - ".gitignore"
203
+ - ".rubocop.yml"
189
204
  - ".travis.yml"
190
205
  - CHANGELOG.md
191
206
  - Gemfile