discountnetwork 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.hound.yml +3 -0
  4. data/.rspec +1 -0
  5. data/.rubocop.yml +629 -0
  6. data/.sample.pryrc +4 -0
  7. data/.travis.yml +5 -0
  8. data/Gemfile +4 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +405 -0
  11. data/Rakefile +6 -0
  12. data/bin/console +7 -0
  13. data/bin/rake +17 -0
  14. data/bin/rspec +17 -0
  15. data/bin/setup +6 -0
  16. data/discountnetwork.gemspec +28 -0
  17. data/lib/discountnetwork/account.rb +28 -0
  18. data/lib/discountnetwork/activation.rb +15 -0
  19. data/lib/discountnetwork/base.rb +20 -0
  20. data/lib/discountnetwork/booking.rb +23 -0
  21. data/lib/discountnetwork/client.rb +54 -0
  22. data/lib/discountnetwork/configuration.rb +17 -0
  23. data/lib/discountnetwork/destination.rb +9 -0
  24. data/lib/discountnetwork/password.rb +21 -0
  25. data/lib/discountnetwork/provider.rb +15 -0
  26. data/lib/discountnetwork/response.rb +19 -0
  27. data/lib/discountnetwork/result.rb +15 -0
  28. data/lib/discountnetwork/rspec.rb +5 -0
  29. data/lib/discountnetwork/search.rb +15 -0
  30. data/lib/discountnetwork/session.rb +9 -0
  31. data/lib/discountnetwork/supplementary.rb +15 -0
  32. data/lib/discountnetwork/testing/discountnetwork_api.rb +240 -0
  33. data/lib/discountnetwork/version.rb +3 -0
  34. data/lib/discountnetwork.rb +16 -0
  35. data/spec/discountnetwork/account_spec.rb +36 -0
  36. data/spec/discountnetwork/activation_spec.rb +46 -0
  37. data/spec/discountnetwork/booking_spec.rb +70 -0
  38. data/spec/discountnetwork/client_spec.rb +40 -0
  39. data/spec/discountnetwork/configuration_spec.rb +30 -0
  40. data/spec/discountnetwork/destination_spec.rb +16 -0
  41. data/spec/discountnetwork/password_spec.rb +41 -0
  42. data/spec/discountnetwork/provider_spec.rb +26 -0
  43. data/spec/discountnetwork/response_spec.rb +16 -0
  44. data/spec/discountnetwork/result_spec.rb +30 -0
  45. data/spec/discountnetwork/search_spec.rb +37 -0
  46. data/spec/discountnetwork/session_spec.rb +18 -0
  47. data/spec/discountnetwork/supplementary_spec.rb +40 -0
  48. data/spec/fixtures/booking.json +86 -0
  49. data/spec/fixtures/destinations.json +22 -0
  50. data/spec/fixtures/empty.json +0 -0
  51. data/spec/fixtures/ping.json +3 -0
  52. data/spec/fixtures/provider.json +16 -0
  53. data/spec/fixtures/providers.json +32 -0
  54. data/spec/fixtures/result.json +89 -0
  55. data/spec/fixtures/results.json +121 -0
  56. data/spec/fixtures/search.json +19 -0
  57. data/spec/fixtures/search_created.json +19 -0
  58. data/spec/fixtures/session_created.json +31 -0
  59. data/spec/fixtures/supplementaries.json +33 -0
  60. data/spec/fixtures/supplementary.json +21 -0
  61. data/spec/fixtures/user.json +31 -0
  62. data/spec/spec_helper.rb +12 -0
  63. metadata +189 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 85872155ee30cf7b85f7d9cdf0f28aaa948dae86
4
+ data.tar.gz: 2b3b86a1490f866eac4172c02f96d4d992792b23
5
+ SHA512:
6
+ metadata.gz: fc44ce209f384c8a90e669e1d017190b739637904c4f42c4d62b862a0d627c5ecfad292fd077f501aba831b954b8dba788645f3e04e2ebbd40380a5f00360a6f
7
+ data.tar.gz: 93eebef16e0966d970141c16f0c68871dca67d4123b250145a44f1d4a27bb8d9e59ac1a7f790a568be8ab65b6111af31289e4b21d0692b69642241ad1168ff5a
data/.gitignore ADDED
@@ -0,0 +1,10 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /.pryrc
4
+ /Gemfile.lock
5
+ /_yardoc/
6
+ /coverage/
7
+ /doc/
8
+ /pkg/
9
+ /spec/reports/
10
+ /tmp/
data/.hound.yml ADDED
@@ -0,0 +1,3 @@
1
+ ruby:
2
+ Enabled: true
3
+ config_file: .rubocop.yml
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/.rubocop.yml ADDED
@@ -0,0 +1,629 @@
1
+ AllCops:
2
+ Exclude:
3
+ - db/schema.rb
4
+
5
+ Style/AccessorMethodName:
6
+ Description: Check the naming of accessor methods for get_/set_.
7
+ Enabled: false
8
+
9
+ Style/Alias:
10
+ Description: 'Use alias_method instead of alias.'
11
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method'
12
+ Enabled: false
13
+
14
+ Style/ArrayJoin:
15
+ Description: 'Use Array#join instead of Array#*.'
16
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#array-join'
17
+ Enabled: false
18
+
19
+ Style/AsciiComments:
20
+ Description: 'Use only ascii symbols in comments.'
21
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments'
22
+ Enabled: false
23
+
24
+ Style/AsciiIdentifiers:
25
+ Description: 'Use only ascii symbols in identifiers.'
26
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers'
27
+ Enabled: false
28
+
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
+
34
+ Metrics/BlockNesting:
35
+ Description: 'Avoid excessive block nesting'
36
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count'
37
+ Enabled: false
38
+
39
+ Style/CaseEquality:
40
+ Description: 'Avoid explicit use of the case equality operator(===).'
41
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality'
42
+ Enabled: false
43
+
44
+ Style/CharacterLiteral:
45
+ Description: 'Checks for uses of character literals.'
46
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals'
47
+ Enabled: false
48
+
49
+ Style/ClassAndModuleChildren:
50
+ Description: 'Checks style of children classes and modules.'
51
+ Enabled: true
52
+ EnforcedStyle: nested
53
+
54
+ Metrics/ClassLength:
55
+ Description: 'Avoid classes longer than 100 lines of code.'
56
+ Enabled: false
57
+
58
+ Metrics/ModuleLength:
59
+ Description: 'Avoid modules longer than 100 lines of code.'
60
+ Enabled: false
61
+
62
+ Style/ClassVars:
63
+ Description: 'Avoid the use of class variables.'
64
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
65
+ Enabled: false
66
+
67
+ Style/CollectionMethods:
68
+ Enabled: true
69
+ PreferredMethods:
70
+ find: detect
71
+ inject: reduce
72
+ collect: map
73
+ find_all: select
74
+
75
+ Style/ColonMethodCall:
76
+ Description: 'Do not use :: for method call.'
77
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons'
78
+ Enabled: false
79
+
80
+ Style/CommentAnnotation:
81
+ Description: >-
82
+ Checks formatting of special comments
83
+ (TODO, FIXME, OPTIMIZE, HACK, REVIEW).
84
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords'
85
+ Enabled: false
86
+
87
+ Metrics/AbcSize:
88
+ Description: >-
89
+ A calculated magnitude based on number of assignments,
90
+ branches, and conditions.
91
+ Enabled: false
92
+
93
+ Metrics/CyclomaticComplexity:
94
+ Description: >-
95
+ A complexity metric that is strongly correlated to the number
96
+ of test cases needed to validate a method.
97
+ Enabled: false
98
+
99
+ Rails/Delegate:
100
+ Description: 'Prefer delegate method for delegations.'
101
+ Enabled: false
102
+
103
+ Style/DeprecatedHashMethods:
104
+ Description: 'Checks for use of deprecated Hash methods.'
105
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-key'
106
+ Enabled: false
107
+
108
+ Style/Documentation:
109
+ Description: 'Document classes and non-namespace modules.'
110
+ Enabled: false
111
+
112
+ Style/DotPosition:
113
+ Description: 'Checks the position of the dot in multi-line method calls.'
114
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
115
+ EnforcedStyle: trailing
116
+
117
+ Style/DoubleNegation:
118
+ Description: 'Checks for uses of double negation (!!).'
119
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang'
120
+ Enabled: false
121
+
122
+ Style/EachWithObject:
123
+ Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
124
+ Enabled: false
125
+
126
+ Style/EmptyLiteral:
127
+ Description: 'Prefer literals to Array.new/Hash.new/String.new.'
128
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash'
129
+ Enabled: false
130
+
131
+ # Checks whether the source file has a utf-8 encoding comment or not
132
+ # AutoCorrectEncodingComment must match the regex
133
+ # /#.*coding\s?[:=]\s?(?:UTF|utf)-8/
134
+ Style/Encoding:
135
+ Enabled: false
136
+
137
+ Style/EvenOdd:
138
+ Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
139
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
140
+ Enabled: false
141
+
142
+ Style/ExtraSpacing:
143
+ Description: 'Do not use unnecessary spacing.'
144
+ Enabled: true
145
+
146
+ Style/FileName:
147
+ Description: 'Use snake_case for source file names.'
148
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
149
+ Enabled: false
150
+
151
+ Style/FlipFlop:
152
+ Description: 'Checks for flip flops'
153
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops'
154
+ Enabled: false
155
+
156
+ Style/FormatString:
157
+ Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
158
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf'
159
+ Enabled: false
160
+
161
+ Style/GlobalVars:
162
+ Description: 'Do not introduce global variables.'
163
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars'
164
+ Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html'
165
+ Enabled: false
166
+
167
+ Style/GuardClause:
168
+ Description: 'Check for conditionals that can be replaced with guard clauses'
169
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
170
+ Enabled: false
171
+
172
+ Style/IfUnlessModifier:
173
+ Description: >-
174
+ Favor modifier if/unless usage when you have a
175
+ single-line body.
176
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier'
177
+ Enabled: false
178
+
179
+ Style/IfWithSemicolon:
180
+ Description: 'Do not use if x; .... Use the ternary operator instead.'
181
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs'
182
+ Enabled: false
183
+
184
+ Style/InlineComment:
185
+ Description: 'Avoid inline comments.'
186
+ Enabled: false
187
+
188
+ Style/Lambda:
189
+ Description: 'Use the new lambda literal syntax for single-line blocks.'
190
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line'
191
+ Enabled: false
192
+
193
+ Style/LambdaCall:
194
+ Description: 'Use lambda.call(...) instead of lambda.(...).'
195
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call'
196
+ Enabled: false
197
+
198
+ Style/LineEndConcatenation:
199
+ Description: >-
200
+ Use \ instead of + or << to concatenate two string literals at
201
+ line end.
202
+ Enabled: false
203
+
204
+ Metrics/LineLength:
205
+ Description: 'Limit lines to 80 characters.'
206
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
207
+ Max: 80
208
+
209
+ Metrics/MethodLength:
210
+ Description: 'Avoid methods longer than 10 lines of code.'
211
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods'
212
+ Enabled: false
213
+
214
+ Style/ModuleFunction:
215
+ Description: 'Checks for usage of `extend self` in modules.'
216
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function'
217
+ Enabled: false
218
+
219
+ Style/MultilineOperationIndentation:
220
+ Description: >-
221
+ Checks indentation of binary operations that span more than
222
+ one line.
223
+ Enabled: true
224
+ EnforcedStyle: indented
225
+
226
+ Style/MultilineBlockChain:
227
+ Description: 'Avoid multi-line chains of blocks.'
228
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
229
+ Enabled: false
230
+
231
+ Style/MultilineMethodCallIndentation:
232
+ Description: >-
233
+ Checks indentation of method calls with the dot operator
234
+ that span more than one line.
235
+ Enabled: true
236
+ EnforcedStyle: indented
237
+
238
+ Style/NegatedIf:
239
+ Description: >-
240
+ Favor unless over if for negative conditions
241
+ (or control flow or).
242
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives'
243
+ Enabled: false
244
+
245
+ Style/NegatedWhile:
246
+ Description: 'Favor until over while for negative conditions.'
247
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives'
248
+ Enabled: false
249
+
250
+ Style/Next:
251
+ Description: 'Use `next` to skip iteration instead of a condition at the end.'
252
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
253
+ Enabled: false
254
+
255
+ Style/NilComparison:
256
+ Description: 'Prefer x.nil? to x == nil.'
257
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
258
+ Enabled: false
259
+
260
+ Style/Not:
261
+ Description: 'Use ! instead of not.'
262
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not'
263
+ Enabled: false
264
+
265
+ Style/NumericLiterals:
266
+ Description: >-
267
+ Add underscores to large numeric literals to improve their
268
+ readability.
269
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics'
270
+ Enabled: false
271
+
272
+ Style/OneLineConditional:
273
+ Description: >-
274
+ Favor the ternary operator(?:) over
275
+ if/then/else/end constructs.
276
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
277
+ Enabled: false
278
+
279
+ Style/OpMethod:
280
+ Description: 'When defining binary operators, name the argument other.'
281
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
282
+ Enabled: false
283
+
284
+ Metrics/ParameterLists:
285
+ Description: 'Avoid parameter lists longer than three or four parameters.'
286
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params'
287
+ Enabled: false
288
+
289
+ Style/PercentLiteralDelimiters:
290
+ Description: 'Use `%`-literal delimiters consistently'
291
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces'
292
+ Enabled: false
293
+
294
+ Style/PerlBackrefs:
295
+ Description: 'Avoid Perl-style regex back references.'
296
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers'
297
+ Enabled: false
298
+
299
+ Style/PredicateName:
300
+ Description: 'Check the names of predicate methods.'
301
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark'
302
+ NamePrefixBlacklist:
303
+ - is_
304
+ Exclude:
305
+ - spec/**/*
306
+
307
+ Style/Proc:
308
+ Description: 'Use proc instead of Proc.new.'
309
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc'
310
+ Enabled: false
311
+
312
+ Style/RaiseArgs:
313
+ Description: 'Checks the arguments passed to raise/fail.'
314
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages'
315
+ Enabled: false
316
+
317
+ Style/RegexpLiteral:
318
+ Description: 'Use / or %r around regular expressions.'
319
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r'
320
+ Enabled: false
321
+
322
+ Style/SelfAssignment:
323
+ Description: >-
324
+ Checks for places where self-assignment shorthand should have
325
+ been used.
326
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment'
327
+ Enabled: false
328
+
329
+ Style/SingleLineBlockParams:
330
+ Description: 'Enforces the names of some block params.'
331
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks'
332
+ Enabled: false
333
+
334
+ Style/SingleLineMethods:
335
+ Description: 'Avoid single-line methods.'
336
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods'
337
+ Enabled: false
338
+
339
+ Style/SignalException:
340
+ Description: 'Checks for proper usage of fail and raise.'
341
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method'
342
+ Enabled: false
343
+
344
+ Style/SpecialGlobalVars:
345
+ Description: 'Avoid Perl-style global variables.'
346
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms'
347
+ Enabled: false
348
+
349
+ Style/StringLiterals:
350
+ Description: 'Checks if uses of quotes match the configured preference.'
351
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals'
352
+ EnforcedStyle: double_quotes
353
+ Enabled: true
354
+
355
+ Style/FrozenStringLiteralComment:
356
+ Enabled: false
357
+
358
+ Style/TrailingCommaInArguments:
359
+ Description: 'Checks for trailing comma in argument lists.'
360
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
361
+ EnforcedStyleForMultiline: comma
362
+ SupportedStyles:
363
+ - comma
364
+ - consistent_comma
365
+ - no_comma
366
+ Enabled: true
367
+
368
+ Style/TrailingCommaInLiteral:
369
+ Description: 'Checks for trailing comma in array and hash literals.'
370
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
371
+ EnforcedStyleForMultiline: comma
372
+ SupportedStyles:
373
+ - comma
374
+ - consistent_comma
375
+ - no_comma
376
+ Enabled: true
377
+
378
+ Style/TrivialAccessors:
379
+ Description: 'Prefer attr_* methods to trivial readers/writers.'
380
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family'
381
+ Enabled: false
382
+
383
+ Style/VariableInterpolation:
384
+ Description: >-
385
+ Don't interpolate global, instance and class variables
386
+ directly in strings.
387
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate'
388
+ Enabled: false
389
+
390
+ Style/WhenThen:
391
+ Description: 'Use when x then ... for one-line cases.'
392
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases'
393
+ Enabled: false
394
+
395
+ Style/WhileUntilModifier:
396
+ Description: >-
397
+ Favor modifier while/until usage when you have a
398
+ single-line body.
399
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier'
400
+ Enabled: false
401
+
402
+ Style/WordArray:
403
+ Description: 'Use %w or %W for arrays of words.'
404
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w'
405
+ Enabled: false
406
+
407
+ # Lint
408
+
409
+ Lint/AmbiguousOperator:
410
+ Description: >-
411
+ Checks for ambiguous operators in the first argument of a
412
+ method invocation without parentheses.
413
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-as-args'
414
+ Enabled: false
415
+
416
+ Lint/AmbiguousRegexpLiteral:
417
+ Description: >-
418
+ Checks for ambiguous regexp literals in the first argument of
419
+ a method invocation without parenthesis.
420
+ Enabled: false
421
+
422
+ Lint/AssignmentInCondition:
423
+ Description: "Don't use assignment in conditions."
424
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition'
425
+ Enabled: false
426
+
427
+ Lint/CircularArgumentReference:
428
+ Description: "Don't refer to the keyword argument in the default value."
429
+ Enabled: false
430
+
431
+ Lint/ConditionPosition:
432
+ Description: >-
433
+ Checks for condition placed in a confusing position relative to
434
+ the keyword.
435
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition'
436
+ Enabled: false
437
+
438
+ Lint/DeprecatedClassMethods:
439
+ Description: 'Check for deprecated class method calls.'
440
+ Enabled: false
441
+
442
+ Lint/DuplicatedKey:
443
+ Description: 'Check for duplicate keys in hash literals.'
444
+ Enabled: false
445
+
446
+ Lint/EachWithObjectArgument:
447
+ Description: 'Check for immutable argument given to each_with_object.'
448
+ Enabled: false
449
+
450
+ Lint/ElseLayout:
451
+ Description: 'Check for odd code arrangement in an else block.'
452
+ Enabled: false
453
+
454
+ Lint/FormatParameterMismatch:
455
+ Description: 'The number of parameters to format/sprint must match the fields.'
456
+ Enabled: false
457
+
458
+ Lint/HandleExceptions:
459
+ Description: "Don't suppress exception."
460
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions'
461
+ Enabled: false
462
+
463
+ Lint/InvalidCharacterLiteral:
464
+ Description: >-
465
+ Checks for invalid character literals with a non-escaped
466
+ whitespace character.
467
+ Enabled: false
468
+
469
+ Style/InitialIndentation:
470
+ Description: >-
471
+ Checks the indentation of the first non-blank non-comment line in a file.
472
+ Enabled: false
473
+
474
+ Lint/LiteralInCondition:
475
+ Description: 'Checks of literals used in conditions.'
476
+ Enabled: false
477
+
478
+ Lint/LiteralInInterpolation:
479
+ Description: 'Checks for literals used in interpolation.'
480
+ Enabled: false
481
+
482
+ Lint/Loop:
483
+ Description: >-
484
+ Use Kernel#loop with break rather than begin/end/until or
485
+ begin/end/while for post-loop tests.
486
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#loop-with-break'
487
+ Enabled: false
488
+
489
+ Lint/NestedMethodDefinition:
490
+ Description: 'Do not use nested method definitions.'
491
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-methods'
492
+ Enabled: false
493
+
494
+ Lint/NonLocalExitFromIterator:
495
+ Description: 'Do not use return in iterator to cause non-local exit.'
496
+ Enabled: false
497
+
498
+ Lint/ParenthesesAsGroupedExpression:
499
+ Description: >-
500
+ Checks for method calls with a space before the opening
501
+ parenthesis.
502
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
503
+ Enabled: false
504
+
505
+ Lint/RequireParentheses:
506
+ Description: >-
507
+ Use parentheses in the method call to avoid confusion
508
+ about precedence.
509
+ Enabled: false
510
+
511
+ Lint/UnderscorePrefixedVariableName:
512
+ Description: 'Do not use prefix `_` for a variable that is used.'
513
+ Enabled: false
514
+
515
+ Lint/UnneededDisable:
516
+ Description: >-
517
+ Checks for rubocop:disable comments that can be removed.
518
+ Note: this cop is not disabled when disabling all cops.
519
+ It must be explicitly disabled.
520
+ Enabled: false
521
+
522
+ Lint/Void:
523
+ Description: 'Possible use of operator/literal/variable in void context.'
524
+ Enabled: false
525
+
526
+ # Performance
527
+
528
+ Performance/CaseWhenSplat:
529
+ Description: >-
530
+ Place `when` conditions that use splat at the end
531
+ of the list of `when` branches.
532
+ Enabled: false
533
+
534
+ Performance/Count:
535
+ Description: >-
536
+ Use `count` instead of `select...size`, `reject...size`,
537
+ `select...count`, `reject...count`, `select...length`,
538
+ and `reject...length`.
539
+ Enabled: false
540
+
541
+ Performance/Detect:
542
+ Description: >-
543
+ Use `detect` instead of `select.first`, `find_all.first`,
544
+ `select.last`, and `find_all.last`.
545
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
546
+ Enabled: false
547
+
548
+ Performance/FlatMap:
549
+ Description: >-
550
+ Use `Enumerable#flat_map`
551
+ instead of `Enumerable#map...Array#flatten(1)`
552
+ or `Enumberable#collect..Array#flatten(1)`
553
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code'
554
+ Enabled: false
555
+
556
+ Performance/ReverseEach:
557
+ Description: 'Use `reverse_each` instead of `reverse.each`.'
558
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code'
559
+ Enabled: false
560
+
561
+ Performance/Sample:
562
+ Description: >-
563
+ Use `sample` instead of `shuffle.first`,
564
+ `shuffle.last`, and `shuffle[Fixnum]`.
565
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
566
+ Enabled: false
567
+
568
+ Performance/Size:
569
+ Description: >-
570
+ Use `size` instead of `count` for counting
571
+ the number of elements in `Array` and `Hash`.
572
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code'
573
+ Enabled: false
574
+
575
+ Performance/StringReplacement:
576
+ Description: >-
577
+ Use `tr` instead of `gsub` when you are replacing the same
578
+ number of characters. Use `delete` instead of `gsub` when
579
+ you are deleting characters.
580
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code'
581
+ Enabled: false
582
+
583
+ # Rails
584
+
585
+ Rails/ActionFilter:
586
+ Description: 'Enforces consistent use of action filter methods.'
587
+ Enabled: false
588
+
589
+ Rails/Date:
590
+ Description: >-
591
+ Checks the correct usage of date aware methods,
592
+ such as Date.today, Date.current etc.
593
+ Enabled: false
594
+
595
+ Rails/FindBy:
596
+ Description: 'Prefer find_by over where.first.'
597
+ Enabled: false
598
+
599
+ Rails/FindEach:
600
+ Description: 'Prefer all.find_each over all.find.'
601
+ Enabled: false
602
+
603
+ Rails/HasAndBelongsToMany:
604
+ Description: 'Prefer has_many :through to has_and_belongs_to_many.'
605
+ Enabled: false
606
+
607
+ Rails/Output:
608
+ Description: 'Checks for calls to puts, print, etc.'
609
+ Enabled: false
610
+
611
+ Rails/ReadWriteAttribute:
612
+ Description: >-
613
+ Checks for read_attribute(:attr) and
614
+ write_attribute(:attr, val).
615
+ Enabled: false
616
+
617
+ Rails/ScopeArgs:
618
+ Description: 'Checks the arguments of ActiveRecord scopes.'
619
+ Enabled: false
620
+
621
+ Rails/TimeZone:
622
+ Description: 'Checks the correct usage of time zone aware methods.'
623
+ StyleGuide: 'https://github.com/bbatsov/rails-style-guide#time'
624
+ Reference: 'http://danilenko.org/2012/7/6/rails_timezones'
625
+ Enabled: false
626
+
627
+ Rails/Validation:
628
+ Description: 'Use validates :attribute, hash of validations.'
629
+ Enabled: false
data/.sample.pryrc ADDED
@@ -0,0 +1,4 @@
1
+ DiscountNetwork.configure do |config|
2
+ config.api_host = "API_HOST"
3
+ config.api_key = "API_KEY"
4
+ end
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.3.1
5
+ before_install: gem install bundler -v 1.12.5
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in discountnetwork.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 Abu Nashir
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.