uiza 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +535 -0
  3. data/.rubocop_disable.yml +78 -0
  4. data/.rubocop_enable.yml +786 -0
  5. data/CHANGELOG.md +41 -0
  6. data/CODE_OF_CONDUCT.md +74 -0
  7. data/CONTRIBUTORS.txt +3 -0
  8. data/Gemfile +6 -0
  9. data/Gemfile.lock +65 -0
  10. data/History.txt +1 -0
  11. data/LICENSE.txt +21 -0
  12. data/PULL_REQUEST_TEMPLATE.md +44 -0
  13. data/README.md +179 -0
  14. data/Rakefile +6 -0
  15. data/bin/console +14 -0
  16. data/bin/setup +8 -0
  17. data/doc/ANALYTIC.md +5 -0
  18. data/doc/CALLBACK.md +4 -0
  19. data/doc/CATEGORY.md +282 -0
  20. data/doc/EMBED_METADATA.md +4 -0
  21. data/doc/ENTITY.md +466 -0
  22. data/doc/ERRORS_CODE.md +60 -0
  23. data/doc/LIVE_STREAMING.md +6 -0
  24. data/doc/STORAGE.md +189 -0
  25. data/lib/uiza.rb +34 -0
  26. data/lib/uiza/api_operation/add.rb +16 -0
  27. data/lib/uiza/api_operation/create.rb +16 -0
  28. data/lib/uiza/api_operation/delete.rb +15 -0
  29. data/lib/uiza/api_operation/list.rb +14 -0
  30. data/lib/uiza/api_operation/remove.rb +15 -0
  31. data/lib/uiza/api_operation/retrieve.rb +15 -0
  32. data/lib/uiza/api_operation/update.rb +16 -0
  33. data/lib/uiza/category.rb +42 -0
  34. data/lib/uiza/entity.rb +68 -0
  35. data/lib/uiza/error/bad_request_error.rb +8 -0
  36. data/lib/uiza/error/client_error.rb +8 -0
  37. data/lib/uiza/error/internal_server_error.rb +8 -0
  38. data/lib/uiza/error/not_found_error.rb +8 -0
  39. data/lib/uiza/error/server_error.rb +8 -0
  40. data/lib/uiza/error/service_unavailable_error.rb +8 -0
  41. data/lib/uiza/error/uiza_error.rb +18 -0
  42. data/lib/uiza/error/unauthorized_error.rb +8 -0
  43. data/lib/uiza/error/unprocessable_error.rb +8 -0
  44. data/lib/uiza/storage.rb +17 -0
  45. data/lib/uiza/uiza_client.rb +74 -0
  46. data/lib/uiza/version.rb +3 -0
  47. data/uiza.gemspec +36 -0
  48. metadata +134 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 6291f5eec9bd640ebb5d2af235daef51c95e802cd945a47a16451875bdc87b8a
4
+ data.tar.gz: 24bd9829ba6d4a84e3751ca20a9220f23146d8360336a14ef8f7667b1cf606ee
5
+ SHA512:
6
+ metadata.gz: 93830db8658317d313400bb9983f778303f9b68b3f76e6176d2fdd651cc2708c8720491852cf9187f464fc92aacbd6b3ce49ea3cc46bd96c356c2d43dc6e5452
7
+ data.tar.gz: f35d7392cd0f1262d144923d262c4bc1237f3c41ffe235c45d257970e47cba17c18a19cd2a08882687d01f2257f1b3ce9bbf71f9e1df325938771f868a0d19f6
@@ -0,0 +1,535 @@
1
+ # This is rubocop configuration file for Framgia's coding style. Enabling and disabling is configured
2
+ # in separate files. This file adds all other parameters apart from Enabled.
3
+
4
+ # Put the following files into the same directory as this file.
5
+ inherit_from:
6
+ - .rubocop_enable.yml
7
+ - .rubocop_disable.yml
8
+
9
+ # Common configuration.
10
+ AllCops:
11
+ Exclude:
12
+ - 'vendor/**/*'
13
+ - 'config/unicorn.rb'
14
+ - 'bin/*'
15
+ - 'db/*'
16
+ - 'spec/*'
17
+ - 'uiza.gemspec'
18
+
19
+ # Indent private/protected/public as deep as method definitions
20
+ Layout/AccessModifierIndentation:
21
+ EnforcedStyle: indent
22
+ SupportedStyles:
23
+ - outdent
24
+ - indent
25
+
26
+ # Align the elements of a hash literal if they span more than one line.
27
+ Layout/AlignHash:
28
+ # Alignment of entries using hash rocket as separator. Valid values are:
29
+ #
30
+ # key - left alignment of keys
31
+ # 'a' => 2
32
+ # 'bb' => 3
33
+ # separator - alignment of hash rockets, keys are right aligned
34
+ # 'a' => 2
35
+ # 'bb' => 3
36
+ # table - left alignment of keys, hash rockets, and values
37
+ # 'a' => 2
38
+ # 'bb' => 3
39
+ EnforcedHashRocketStyle: key
40
+ # Alignment of entries using colon as separator. Valid values are:
41
+ #
42
+ # key - left alignment of keys
43
+ # a: 0
44
+ # bb: 1
45
+ # separator - alignment of colons, keys are right aligned
46
+ # a: 0
47
+ # bb: 1
48
+ # table - left alignment of keys and values
49
+ # a: 0
50
+ # bb: 1
51
+ EnforcedColonStyle: key
52
+ # Select whether hashes that are the last argument in a method call should be
53
+ # inspected? Valid values are:
54
+ #
55
+ # always_inspect - Inspect both implicit and explicit hashes.
56
+ # Registers an offense for:
57
+ # function(a: 1,
58
+ # b: 2)
59
+ # Registers an offense for:
60
+ # function({a: 1,
61
+ # b: 2})
62
+ # always_ignore - Ignore both implicit and explicit hashes.
63
+ # Accepts:
64
+ # function(a: 1,
65
+ # b: 2)
66
+ # Accepts:
67
+ # function({a: 1,
68
+ # b: 2})
69
+ # ignore_implicit - Ignore only implicit hashes.
70
+ # Accepts:
71
+ # function(a: 1,
72
+ # b: 2)
73
+ # Registers an offense for:
74
+ # function({a: 1,
75
+ # b: 2})
76
+ # ignore_explicit - Ignore only explicit hashes.
77
+ # Accepts:
78
+ # function({a: 1,
79
+ # b: 2})
80
+ # Registers an offense for:
81
+ # function(a: 1,
82
+ # b: 2)
83
+ EnforcedLastArgumentHashStyle: ignore_implicit
84
+ SupportedLastArgumentHashStyles:
85
+ - always_inspect
86
+ - always_ignore
87
+ - ignore_implicit
88
+ - ignore_explicit
89
+
90
+ Layout/AlignParameters:
91
+ # Alignment of parameters in multi-line method calls.
92
+ #
93
+ # The `with_first_parameter` style aligns the following lines along the same column
94
+ # as the first parameter.
95
+ #
96
+ # method_call(a,
97
+ # b)
98
+ #
99
+ # The `with_fixed_indentation` style aligns the following lines with one
100
+ # level of indentation relative to the start of the line with the method call.
101
+ #
102
+ # method_call(a,
103
+ # b)
104
+ EnforcedStyle: with_fixed_indentation
105
+ SupportedStyles:
106
+ - with_first_parameter
107
+ - with_fixed_indentation
108
+
109
+ Metrics/BlockNesting:
110
+ Max: 3
111
+
112
+ Style/BracesAroundHashParameters:
113
+ EnforcedStyle: no_braces
114
+ SupportedStyles:
115
+ - braces
116
+ - no_braces
117
+
118
+ # Indentation of `when`.
119
+ Layout/CaseIndentation:
120
+ EnforcedStyle: case
121
+ SupportedStyles:
122
+ - case
123
+ - end
124
+ IndentOneStep: false
125
+
126
+ Style/ClassAndModuleChildren:
127
+ # Checks the style of children definitions at classes and modules.
128
+ #
129
+ # Basically there are two different styles:
130
+ #
131
+ # `nested` - have each child on a separate line
132
+ # class Foo
133
+ # class Bar
134
+ # end
135
+ # end
136
+ #
137
+ # `compact` - combine definitions as much as possible
138
+ # class Foo::Bar
139
+ # end
140
+ #
141
+ # The compact style is only forced, for classes / modules with one child.
142
+ EnforcedStyle: nested
143
+ SupportedStyles:
144
+ - nested
145
+ - compact
146
+
147
+ Style/ClassCheck:
148
+ EnforcedStyle: is_a?
149
+ SupportedStyles:
150
+ - is_a?
151
+ - kind_of?
152
+
153
+ Metrics/ClassLength:
154
+ CountComments: false # count full line comments?
155
+ Max: 100
156
+
157
+ # Align with the style guide.
158
+ Style/CollectionMethods:
159
+ # Mapping from undesired method to desired_method
160
+ # e.g. to use `detect` over `find`:
161
+ #
162
+ # CollectionMethods:
163
+ # PreferredMethods:
164
+ # find: detect
165
+ PreferredMethods:
166
+ collect: 'map'
167
+ collect!: 'map!'
168
+ inject: 'reduce'
169
+ detect: 'find'
170
+ find_all: 'select'
171
+
172
+ # Checks formatting of special comments
173
+ Style/CommentAnnotation:
174
+ Keywords:
175
+ - TODO
176
+ - FIXME
177
+ - OPTIMIZE
178
+ - HACK
179
+ - REVIEW
180
+
181
+ # Avoid complex methods.
182
+ Metrics/CyclomaticComplexity:
183
+ Max: 6
184
+
185
+ # Multi-line method chaining should be done with leading dots.
186
+ Layout/DotPosition:
187
+ EnforcedStyle: leading
188
+ SupportedStyles:
189
+ - leading
190
+ - trailing
191
+
192
+ # Use empty lines between defs.
193
+ Layout/EmptyLineBetweenDefs:
194
+ # If true, this parameter means that single line method definitions don't
195
+ # need an empty line between them.
196
+ AllowAdjacentOneLineDefs: false
197
+
198
+ Layout/EmptyLinesAroundBlockBody:
199
+ EnforcedStyle: no_empty_lines
200
+ SupportedStyles:
201
+ - no_empty_lines
202
+
203
+ Layout/EmptyLinesAroundClassBody:
204
+ EnforcedStyle: no_empty_lines
205
+ SupportedStyles:
206
+ - no_empty_lines
207
+
208
+ Layout/EmptyLinesAroundModuleBody:
209
+ EnforcedStyle: no_empty_lines
210
+ SupportedStyles:
211
+ - no_empty_lines
212
+
213
+ Naming:
214
+ Exclude:
215
+ - '**/Rakefile'
216
+ - '**/Gemfile'
217
+ - '**/Capfile'
218
+
219
+ # Checks use of for or each in multiline loops.
220
+ Style/For:
221
+ EnforcedStyle: each
222
+ SupportedStyles:
223
+ - for
224
+ - each
225
+
226
+ # Enforce the method used for string formatting.
227
+ Style/FormatString:
228
+ EnforcedStyle: format
229
+ SupportedStyles:
230
+ - format
231
+ - sprintf
232
+ - percent
233
+
234
+ # Built-in global variables are allowed by default.
235
+ Style/GlobalVars:
236
+ AllowedVariables: []
237
+
238
+ # `MinBodyLength` defines the number of lines of the a body of an if / unless
239
+ # needs to have to trigger this cop
240
+ Style/GuardClause:
241
+ MinBodyLength: 1
242
+
243
+ Style/HashSyntax:
244
+ EnforcedStyle: ruby19
245
+ SupportedStyles:
246
+ - ruby19
247
+ - hash_rockets
248
+
249
+ Metrics/LineLength:
250
+ Max: 120
251
+
252
+ # Checks the indentation of the first key in a hash literal.
253
+ Layout/IndentHash:
254
+ # The value `special_inside_parentheses` means that hash literals with braces
255
+ # that have their opening brace on the same line as a surrounding opening
256
+ # round parenthesis, shall have their first key indented relative to the
257
+ # first position inside the parenthesis.
258
+ # The value `consistent` means that the indentation of the first key shall
259
+ # always be relative to the first position of the line where the opening
260
+ # brace is.
261
+ EnforcedStyle: special_inside_parentheses
262
+ SupportedStyles:
263
+ - special_inside_parentheses
264
+ - consistent
265
+
266
+ Style/LambdaCall:
267
+ EnforcedStyle: call
268
+ SupportedStyles:
269
+ - call
270
+ - braces
271
+
272
+ Metrics/LineLength:
273
+ Max: 120
274
+ AllowURI: true
275
+ Exclude:
276
+ - config/routes.rb
277
+
278
+
279
+ Style/Next:
280
+ # With `always` all conditions at the end of an iteration needs to be
281
+ # replace by next - with `skip_modifier_ifs` the modifier if like this one
282
+ # are ignored: [1, 2].each { |a| return 'yes' if a == 1 }
283
+ EnforcedStyle: skip_modifier_ifs
284
+ SupportedStyles:
285
+ - skip_modifier_ifs
286
+ - always
287
+
288
+ Style/NonNilCheck:
289
+ # With `IncludeSemanticChanges` set to `true`, this cop reports offenses for
290
+ # `!x.nil?` and autocorrects that and `x != nil` to solely `x`, which is
291
+ # **usually** OK, but might change behavior.
292
+ #
293
+ # With `IncludeSemanticChanges` set to `false`, this cop does not report
294
+ # offenses for `!x.nil?` and does no changes that might change behavior.
295
+ IncludeSemanticChanges: false
296
+
297
+ Style/MethodDefParentheses:
298
+ EnforcedStyle: require_no_parentheses
299
+ SupportedStyles:
300
+ - require_parentheses
301
+ - require_no_parentheses
302
+
303
+ Metrics/MethodLength:
304
+ CountComments: false # count full line comments?
305
+ Max: 10
306
+
307
+ Naming:
308
+ EnforcedStyle: snake_case
309
+ SupportedStyles:
310
+ - snake_case
311
+ - camelCase
312
+
313
+ Style/NumericLiterals:
314
+ MinDigits: 5
315
+
316
+ Metrics/ParameterLists:
317
+ Max: 5
318
+ CountKeywordArgs: true
319
+
320
+ # Allow safe assignment in conditions.
321
+ Style/ParenthesesAroundCondition:
322
+ AllowSafeAssignment: true
323
+
324
+ Style/PercentLiteralDelimiters:
325
+ PreferredDelimiters:
326
+ '%': ()
327
+ '%i': ()
328
+ '%q': ()
329
+ '%Q': ()
330
+ '%r': '{}'
331
+ '%s': ()
332
+ '%w': ()
333
+ '%W': ()
334
+ '%x': ()
335
+
336
+ Naming:
337
+ NamePrefixBlacklist:
338
+ - get_
339
+
340
+ Style/RaiseArgs:
341
+ EnforcedStyle: exploded
342
+ SupportedStyles:
343
+ - compact # raise Exception.new(msg)
344
+ - exploded # raise Exception, msg
345
+
346
+
347
+ Style/RedundantReturn:
348
+ # When true allows code like `return x, y`.
349
+ AllowMultipleReturnValues: false
350
+
351
+ Style/Semicolon:
352
+ # Allow ; to separate several expressions on the same line.
353
+ AllowAsExpressionSeparator: false
354
+
355
+ Style/SignalException:
356
+ EnforcedStyle: only_raise
357
+ SupportedStyles:
358
+ - only_raise
359
+ - only_fail
360
+ - semantic
361
+
362
+
363
+ Style/SingleLineBlockParams:
364
+ Methods:
365
+ - reduce:
366
+ - a
367
+ - e
368
+ - inject:
369
+ - a
370
+ - e
371
+
372
+ Style/SingleLineMethods:
373
+ AllowIfMethodIsEmpty: true
374
+
375
+ Style/StringLiterals:
376
+ EnforcedStyle: double_quotes
377
+ SupportedStyles:
378
+ - single_quotes
379
+ - double_quotes
380
+
381
+ Layout/SpaceAroundEqualsInParameterDefault:
382
+ EnforcedStyle: space
383
+ SupportedStyles:
384
+ - space
385
+ - no_space
386
+
387
+ Layout/SpaceBeforeBlockBraces:
388
+ EnforcedStyle: no_space
389
+ SupportedStyles:
390
+ - space
391
+ - no_space
392
+
393
+ Layout/SpaceInsideArrayLiteralBrackets:
394
+ EnforcedStyle: no_space
395
+ SupportedStyles:
396
+ - space
397
+ - no_space
398
+
399
+ Layout/SpaceInsideHashLiteralBraces:
400
+ EnforcedStyle: no_space
401
+ EnforcedStyleForEmptyBraces: no_space
402
+ SupportedStyles:
403
+ - space
404
+ - no_space
405
+
406
+ Layout/TrailingBlankLines:
407
+ EnforcedStyle: final_newline
408
+ SupportedStyles:
409
+ - final_newline
410
+ - final_blank_line
411
+
412
+ Style/TrailingCommaInArrayLiteral:
413
+ # If EnforcedStyleForMultiline is comma, the cop allows a comma after the
414
+ # last item of a list, but only for lists where each item is on its own line.
415
+ EnforcedStyleForMultiline: no_comma
416
+ SupportedStylesForMultiline:
417
+ - comma
418
+ - consistent_comma
419
+ - no_comma
420
+
421
+ Style/TrailingCommaInHashLiteral:
422
+ # If EnforcedStyleForMultiline is comma, the cop allows a comma after the
423
+ # last item of a list, but only for lists where each item is on its own line.
424
+ EnforcedStyleForMultiline: no_comma
425
+ SupportedStylesForMultiline:
426
+ - comma
427
+ - consistent_comma
428
+ - no_comma
429
+ # TrivialAccessors doesn't require exact name matches and doesn't allow
430
+ # predicated methods by default.
431
+ Style/TrivialAccessors:
432
+ ExactNameMatch: false
433
+ AllowPredicates: false
434
+ # Allows trivial writers that don't end in an equal sign. e.g.
435
+ #
436
+ # def on_exception(action)
437
+ # @on_exception=action
438
+ # end
439
+ # on_exception :restart
440
+ #
441
+ # Commonly used in DSLs
442
+ AllowDSLWriters: false
443
+ Whitelist:
444
+ - to_ary
445
+ - to_a
446
+ - to_c
447
+ - to_enum
448
+ - to_h
449
+ - to_hash
450
+ - to_i
451
+ - to_int
452
+ - to_io
453
+ - to_open
454
+ - to_path
455
+ - to_proc
456
+ - to_r
457
+ - to_regexp
458
+ - to_str
459
+ - to_s
460
+ - to_sym
461
+
462
+ Naming:
463
+ EnforcedStyle: snake_case
464
+ SupportedStyles:
465
+ - snake_case
466
+ - camelCase
467
+
468
+ Metrics/LineLength:
469
+ Max: 120
470
+
471
+ Style/WordArray:
472
+ MinSize: 0
473
+
474
+ ##################### Lint ##################################
475
+
476
+ # Allow safe assignment in conditions.
477
+ Lint/AssignmentInCondition:
478
+ AllowSafeAssignment: true
479
+
480
+ # Align ends correctly.
481
+ Layout/EndAlignment:
482
+ # The value `keyword` means that `end` should be aligned with the matching
483
+ # keyword (if, while, etc.).
484
+ # The value `variable` means that in assignments, `end` should be aligned
485
+ # with the start of the variable on the left hand side of `=`. In all other
486
+ # situations, `end` should still be aligned with the keyword.
487
+ EnforcedStyleAlignWith: keyword
488
+ SupportedStylesAlignWith:
489
+ - keyword
490
+ - variable
491
+ - start_of_line
492
+ AutoCorrect: false
493
+
494
+ Layout/DefEndAlignment:
495
+ # The value `def` means that `end` should be aligned with the def keyword.
496
+ # The value `start_of_line` means that `end` should be aligned with method
497
+ # calls like `private`, `public`, etc, if present in front of the `def`
498
+ # keyword on the same line.
499
+ EnforcedStyleAlignWith: start_of_line
500
+ SupportedStylesAlignWith:
501
+ - start_of_line
502
+ - def
503
+
504
+ ##################### Rails ##################################
505
+ Rails/UnknownEnv:
506
+ Environments:
507
+ - production
508
+ - development
509
+ - test
510
+ - staging
511
+ - dev
512
+
513
+ Rails/ActionFilter:
514
+ EnforcedStyle: action
515
+ SupportedStyles:
516
+ - action
517
+ - filter
518
+ Include:
519
+ - app/controllers/**/*.rb
520
+
521
+ Rails/HasAndBelongsToMany:
522
+ Include:
523
+ - app/models/**/*.rb
524
+
525
+ Rails/ReadWriteAttribute:
526
+ Include:
527
+ - app/models/**/*.rb
528
+
529
+ Rails/ScopeArgs:
530
+ Include:
531
+ - app/models/**/*.rb
532
+
533
+ Rails/Validation:
534
+ Include:
535
+ - app/models/**/*.rb