ibrain-core 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9f025cda0967d5fb69166c0c8414008674498f34ee663f835686fa72e928dcc8
4
- data.tar.gz: 4a70645118e2df91125b8baead82bfd1688cc7ea11dfe24c471a6cbc875761f0
3
+ metadata.gz: 15662385f790ab0c279015f64d2b030b3a8876b3ae065dcba33f882d1c8eb5ef
4
+ data.tar.gz: b4d0abf1ada4db4e786c708625c554406259a98cb76ad49f23769e2da5c39aee
5
5
  SHA512:
6
- metadata.gz: e4c427744bc5d9c0e7535b81827f805509173f6966bf1a1f9f227dec8acfee5baf0b284d1e4581bc6a2446671c7808e1a51e4e19ed29d8ea1a263187e9484152
7
- data.tar.gz: 3c652fd06e5202f33b7fc7c32c3d173ac608aec4c9010dc2163c7a6e41bf876f9a3035b9b5c2d56acfe068004e78652e471fa87ac7e6728f0078ab3d03fc32e0
6
+ metadata.gz: bab3e2f29f099217bd5ba3f9d09ab5479208d80e0ced40df6284056d1eb5e5ba3a10c027b3e674ba813c76446e437faa4e8d696b85dc4940a887a42fe6e5c91f
7
+ data.tar.gz: e23a79aa2347ca540cac61f20923fed42e0288ee98fda296e70734b1cab86740ad4e4a5b4b45524b593cb518ec94b303a8e6a230195a6bbed5a5205111feb6e3
@@ -3,6 +3,8 @@
3
3
  module Ibrain
4
4
  module Extentions
5
5
  class DefaultValue < GraphQL::Schema::FieldExtension
6
+ description 'Default value extention'
7
+
6
8
  def after_resolve(value:, **_rest)
7
9
  if value.nil?
8
10
  options[:default_value]
@@ -3,9 +3,9 @@
3
3
  module Ibrain
4
4
  module Resolvers
5
5
  class BaseResolver < GraphQL::Schema::Resolver
6
- argument :filter, Ibrain::Types::FilterType, required: false, default_value: nil
7
- argument :offset, Int, required: false, default_value: 0
8
- argument :limit, Int, required: false, default_value: 10
6
+ argument :filter, Ibrain::Types::FilterType, required: false, default_value: nil, description: 'Filter object for resolver'
7
+ argument :limit, Int, required: false, default_value: 10, description: 'Limit records'
8
+ argument :offset, Int, required: false, default_value: 0, description: 'Get records from cursor position'
9
9
 
10
10
  def current_user
11
11
  context.fetch(:current_user)
@@ -3,6 +3,7 @@
3
3
  module Ibrain
4
4
  module Types
5
5
  class FilterType < GraphQL::Schema::Scalar
6
+ description 'Filter Type'
6
7
  end
7
8
  end
8
9
  end
@@ -1,6 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  <% module_namespacing_when_supported do -%>
2
4
  module Resolvers
3
- class <%= "#{resolver_name}Aggregate" %> < Ibrain::Resolvers::BaseAggregate
5
+ class <%= resolver_name %>Aggregate < Ibrain::Resolvers::BaseAggregate
6
+ description 'Define aggregate to count total records for <%= resolver_name %>'
4
7
  # define resolve method
5
8
  def resolve(args)
6
9
  <%= model_name.capitalize %>.ransack(args[:filter]).result
@@ -1,8 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  <% module_namespacing_when_supported do -%>
2
4
  module Mutations
3
5
  class <%= mutation_name %> < Ibrain::Mutations::BaseMutation
6
+ # TODO: define description describe about this mutation
7
+ # description
8
+
4
9
  # TODO: define return fields
5
- field :<%= model_name.underscore %>, Types::<%= model_name %>Type, null: false
10
+ field :<%= model_name.underscore %>, Types::<%= model_name %>Type, null: false, description: 'Record Type for mutation response'
6
11
 
7
12
  # TODO: define arguments
8
13
  # argument :name, String, required: true
@@ -1,8 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  <% module_namespacing_when_supported do -%>
2
4
  module Types
3
5
  module Objects
4
6
  class <%= type_ruby_name.split('::')[-1] %> < Ibrain::Types::BaseObject
5
7
  implements Ibrain::Interfaces::RecordInterface
8
+
9
+ description '<%= type_ruby_name.split('::')[-1] %>'
6
10
 
7
11
  <% normalized_fields.each do |f| %> <%= f.to_ruby %>
8
12
  <% end %>end
@@ -1,10 +1,15 @@
1
+ # frozen_string_literal: true
2
+
1
3
  <% module_namespacing_when_supported do -%>
2
4
  module Resolvers
3
5
  class <%= resolver_name %> < Ibrain::Resolvers::BaseResolver
6
+ # TODO: define description describe about this mutation
7
+ # description
8
+
4
9
  # TODO: define return fields
5
- type Types::Objects::<%= model_name.capitalize %>Type, null: false
10
+ type Types::Objects::<%= model_name.capitalize %>Type, null: false, description: 'Define data type will be response to client'
6
11
 
7
- argument :id, ID, required: false
12
+ argument :id, ID, required: false, description: 'TODO: describe about this argument'
8
13
 
9
14
  # TODO: define resolve method
10
15
  def resolve(args)
@@ -1,8 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  <% module_namespacing_when_supported do -%>
2
4
  module Resolvers
3
- class <%= resolver_name %> < <%= "#{resolver_name}Aggregate" %>
5
+ class <%= resolver_name %> < <%= resolver_name %>Aggregate
6
+ # TODO: define description describe about this mutation
7
+ # description
8
+
4
9
  # TODO: define return fields
5
- type [Types::Objects::<%= model_name.capitalize %>Type], null: false
10
+ type [Types::Objects::<%= model_name.capitalize %>Type], null: false, description: 'Define data type will be response to client'
6
11
 
7
12
  # TODO: define resolve method
8
13
  def resolve(args)
@@ -79,6 +79,7 @@ module Ibrain
79
79
  append_gem('rubocop', '1.23.0', 'development')
80
80
  append_gem('rubocop-performance', '1.12.0', 'development')
81
81
  append_gem('rubocop-rails', '2.12.4', 'development')
82
+ append_gem('rubocop-graphql', '0.11.2', 'development')
82
83
  end
83
84
 
84
85
  if options[:with_graphql]
@@ -1,4 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class AppSchema < Ibrain::BaseSchema
4
+ description 'Define root schema'
5
+
2
6
  mutation(Types::MutationType)
3
7
  query(Types::QueryType)
4
- end
8
+ end
@@ -1,5 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Types
2
4
  class MutationType < Ibrain::Types::BaseObject
5
+ description 'Define all mutation for client'
6
+
3
7
  # TODO: remove me
4
8
  field :test_field, String, null: false,
5
9
  description: 'An example field added by the generator'
@@ -7,4 +11,4 @@ module Types
7
11
  'Hello World'
8
12
  end
9
13
  end
10
- end
14
+ end
@@ -1,5 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Types
2
4
  class QueryType < Ibrain::Types::BaseObject
5
+ description 'Define all resolver for client'
6
+
3
7
  # Add `node(id: ID!) and `nodes(ids: [ID!]!)`
4
8
  include GraphQL::Types::Relay::HasNodeField
5
9
  include GraphQL::Types::Relay::HasNodesField
@@ -3,15 +3,11 @@
3
3
  require:
4
4
  - rubocop-performance
5
5
  - rubocop-rails
6
+ - rubocop-graphql
6
7
 
7
8
  AllCops:
8
9
  TargetRubyVersion: 2.5
9
10
 
10
- # Sometimes I believe this reads better
11
- # This also causes spacing issues on multi-line fixes
12
- Style/BracesAroundHashParameters:
13
- Enabled: false
14
-
15
11
  # We use class vars and will have to continue doing so for compatability
16
12
  Style/ClassVars:
17
13
  Enabled: false
@@ -78,7 +74,7 @@ Layout/ElseAlignment:
78
74
  Layout/IndentationWidth:
79
75
  Enabled: false
80
76
 
81
- Layout/AlignParameters:
77
+ Layout/ParameterAlignment:
82
78
  Enabled: false
83
79
 
84
80
  Layout/ClosingParenthesisIndentation:
@@ -87,13 +83,13 @@ Layout/ClosingParenthesisIndentation:
87
83
  Layout/MultilineMethodCallIndentation:
88
84
  Enabled: false
89
85
 
90
- Layout/IndentFirstArrayElement:
86
+ Layout/FirstArrayElementIndentation:
91
87
  Enabled: false
92
88
 
93
- Layout/IndentFirstHashElement:
89
+ Layout/FirstHashElementIndentation:
94
90
  Enabled: false
95
91
 
96
- Layout/AlignHash:
92
+ Layout/HashAlignment:
97
93
  Enabled: false
98
94
 
99
95
  Style/TrailingCommaInArguments:
@@ -307,7 +303,7 @@ Style/FrozenStringLiteralComment:
307
303
  Style/LambdaCall:
308
304
  Enabled: false
309
305
 
310
- Naming/UncommunicativeMethodParamName:
306
+ Naming/MethodParameterName:
311
307
  AllowedNames:
312
308
  - id
313
309
  - to
@@ -320,11 +316,283 @@ Style/IdenticalConditionalBranches:
320
316
  Naming/MemoizedInstanceVariableName:
321
317
  Enabled: false
322
318
 
323
- Lint/UselessComparison:
319
+ Lint/BinaryOperatorWithIdenticalOperands:
324
320
  Enabled: false
325
321
 
326
- Lint/HandleExceptions:
322
+ Lint/SuppressedException:
327
323
  Enabled: false
328
324
 
329
325
  Rails/ReflectionClassName:
330
- Enabled: true
326
+ Enabled: true
327
+ Exclude:
328
+ - app/models/ibrain/role_user.rb
329
+
330
+ Gemspec/DateAssignment: # new in 1.10
331
+ Enabled: true
332
+
333
+ Gemspec/RequireMFA: # new in 1.23
334
+ Enabled: true
335
+
336
+ Layout/LineEndStringConcatenationIndentation: # new in 1.18
337
+ Enabled: true
338
+
339
+ Layout/SpaceBeforeBrackets: # new in 1.7
340
+ Enabled: true
341
+
342
+ Lint/AmbiguousAssignment: # new in 1.7
343
+ Enabled: true
344
+
345
+ Lint/AmbiguousOperatorPrecedence: # new in 1.21
346
+ Enabled: true
347
+
348
+ Lint/AmbiguousRange: # new in 1.19
349
+ Enabled: true
350
+
351
+ Lint/DeprecatedConstants: # new in 1.8
352
+ Enabled: true
353
+
354
+ Lint/DuplicateBranch: # new in 1.3
355
+ Enabled: true
356
+
357
+ Lint/DuplicateRegexpCharacterClassElement: # new in 1.1
358
+ Enabled: true
359
+
360
+ Lint/EmptyBlock: # new in 1.1
361
+ Enabled: true
362
+
363
+ Lint/EmptyClass: # new in 1.3
364
+ Enabled: true
365
+
366
+ Lint/EmptyInPattern: # new in 1.16
367
+ Enabled: true
368
+
369
+ Lint/IncompatibleIoSelectWithFiberScheduler: # new in 1.21
370
+ Enabled: true
371
+
372
+ Lint/LambdaWithoutLiteralBlock: # new in 1.8
373
+ Enabled: true
374
+
375
+ Lint/NoReturnInBeginEndBlocks: # new in 1.2
376
+ Enabled: true
377
+
378
+ Lint/NumberedParameterAssignment: # new in 1.9
379
+ Enabled: true
380
+
381
+ Lint/OrAssignmentToConstant: # new in 1.9
382
+ Enabled: true
383
+
384
+ Lint/RedundantDirGlobSort: # new in 1.8
385
+ Enabled: true
386
+
387
+ Lint/RequireRelativeSelfPath: # new in 1.22
388
+ Enabled: true
389
+
390
+ Lint/SymbolConversion: # new in 1.9
391
+ Enabled: true
392
+
393
+ Lint/ToEnumArguments: # new in 1.1
394
+ Enabled: true
395
+
396
+ Lint/TripleQuotes: # new in 1.9
397
+ Enabled: true
398
+
399
+ Lint/UnexpectedBlockArity: # new in 1.5
400
+ Enabled: true
401
+
402
+ Lint/UnmodifiedReduceAccumulator: # new in 1.1
403
+ Enabled: true
404
+
405
+ Lint/UselessRuby2Keywords: # new in 1.23
406
+ Enabled: true
407
+
408
+ Security/IoMethods: # new in 1.22
409
+ Enabled: true
410
+
411
+ Style/ArgumentsForwarding: # new in 1.1
412
+ Enabled: true
413
+
414
+ Style/CollectionCompact: # new in 1.2
415
+ Enabled: true
416
+
417
+ Style/DocumentDynamicEvalDefinition: # new in 1.1
418
+ Enabled: true
419
+
420
+ Style/EndlessMethod: # new in 1.8
421
+ Enabled: true
422
+
423
+ Style/HashConversion: # new in 1.10
424
+ Enabled: true
425
+
426
+ Style/HashExcept: # new in 1.7
427
+ Enabled: true
428
+
429
+ Style/IfWithBooleanLiteralBranches: # new in 1.9
430
+ Enabled: true
431
+
432
+ Style/InPatternThen: # new in 1.16
433
+ Enabled: true
434
+
435
+ Style/MultilineInPatternThen: # new in 1.16
436
+ Enabled: true
437
+
438
+ Style/NegatedIfElseCondition: # new in 1.2
439
+ Enabled: true
440
+
441
+ Style/NilLambda: # new in 1.3
442
+ Enabled: true
443
+
444
+ Style/NumberedParameters: # new in 1.22
445
+ Enabled: true
446
+
447
+ Style/NumberedParametersLimit: # new in 1.22
448
+ Enabled: true
449
+
450
+ Style/OpenStructUse: # new in 1.23
451
+ Enabled: true
452
+
453
+ Style/QuotedSymbols: # new in 1.16
454
+ Enabled: true
455
+
456
+ Style/RedundantArgument: # new in 1.4
457
+ Enabled: true
458
+
459
+ Style/RedundantSelfAssignmentBranch: # new in 1.19
460
+ Enabled: true
461
+
462
+ Style/SelectByRegexp: # new in 1.22
463
+ Enabled: true
464
+
465
+ Style/StringChars: # new in 1.12
466
+ Enabled: true
467
+
468
+ Style/SwapValues: # new in 1.1
469
+ Enabled: true
470
+
471
+ Performance/AncestorsInclude: # new in 1.7
472
+ Enabled: true
473
+
474
+ Performance/BigDecimalWithNumericArgument: # new in 1.7
475
+ Enabled: true
476
+
477
+ Performance/BlockGivenWithExplicitBlock: # new in 1.9
478
+ Enabled: true
479
+
480
+ Performance/CollectionLiteralInLoop: # new in 1.8
481
+ Enabled: true
482
+
483
+ Performance/ConcurrentMonotonicTime: # new in 1.12
484
+ Enabled: true
485
+
486
+ Performance/ConstantRegexp: # new in 1.9
487
+ Enabled: true
488
+
489
+ Performance/MapCompact: # new in 1.11
490
+ Enabled: true
491
+
492
+ Performance/MethodObjectAsBlock: # new in 1.9
493
+ Enabled: true
494
+
495
+ Performance/RedundantEqualityComparisonBlock: # new in 1.10
496
+ Enabled: true
497
+
498
+ Performance/RedundantSortBlock: # new in 1.7
499
+ Enabled: true
500
+
501
+ Performance/RedundantSplitRegexpArgument: # new in 1.10
502
+ Enabled: true
503
+
504
+ Performance/RedundantStringChars: # new in 1.7
505
+ Enabled: true
506
+
507
+ Performance/ReverseFirst: # new in 1.7
508
+ Enabled: true
509
+
510
+ Performance/SortReverse: # new in 1.7
511
+ Enabled: true
512
+
513
+ Performance/Squeeze: # new in 1.7
514
+ Enabled: true
515
+
516
+ Performance/StringInclude: # new in 1.7
517
+ Enabled: true
518
+
519
+ Performance/Sum: # new in 1.8
520
+ Enabled: true
521
+
522
+ Rails/ActiveRecordCallbacksOrder: # new in 2.7
523
+ Enabled: true
524
+
525
+ Rails/AddColumnIndex: # new in 2.11
526
+ Enabled: true
527
+
528
+ Rails/AfterCommitOverride: # new in 2.8
529
+ Enabled: true
530
+
531
+ Rails/AttributeDefaultBlockValue: # new in 2.9
532
+ Enabled: true
533
+
534
+ Rails/EagerEvaluationLogMessage: # new in 2.11
535
+ Enabled: true
536
+
537
+ Rails/ExpandedDateRange: # new in 2.11
538
+ Enabled: true
539
+
540
+ Rails/FindById: # new in 2.7
541
+ Enabled: true
542
+
543
+ Rails/I18nLocaleAssignment: # new in 2.11
544
+ Enabled: true
545
+
546
+ Rails/Inquiry: # new in 2.7
547
+ Enabled: true
548
+
549
+ Rails/MailerName: # new in 2.7
550
+ Enabled: true
551
+
552
+ Rails/MatchRoute: # new in 2.7
553
+ Enabled: true
554
+
555
+ Rails/NegateInclude: # new in 2.7
556
+ Enabled: true
557
+
558
+ Rails/Pluck: # new in 2.7
559
+ Enabled: true
560
+
561
+ Rails/PluckInWhere: # new in 2.7
562
+ Enabled: true
563
+
564
+ Rails/RedundantTravelBack: # new in 2.12
565
+ Enabled: true
566
+
567
+ Rails/RenderInline: # new in 2.7
568
+ Enabled: true
569
+
570
+ Rails/RenderPlainText: # new in 2.7
571
+ Enabled: true
572
+
573
+ Rails/ShortI18n: # new in 2.7
574
+ Enabled: true
575
+
576
+ Rails/SquishedSQLHeredocs: # new in 2.8
577
+ Enabled: true
578
+
579
+ Rails/TimeZoneAssignment: # new in 2.10
580
+ Enabled: true
581
+
582
+ Rails/UnusedIgnoredColumns: # new in 2.11
583
+ Enabled: true
584
+
585
+ Rails/WhereEquals: # new in 2.9
586
+ Enabled: true
587
+
588
+ Rails/WhereExists: # new in 2.7
589
+ Enabled: true
590
+
591
+ Rails/WhereNot: # new in 2.8
592
+ Enabled: true
593
+
594
+ Gemspec/RequiredRubyVersion:
595
+ Enabled: false
596
+
597
+ GraphQL/FieldDescription:
598
+ Enabled: false
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ibrain
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.2"
5
5
 
6
6
  def self.ibrain_version
7
7
  VERSION
8
8
  end
9
9
 
10
10
  def self.previous_ibrain_minor_version
11
- '0.1.0'
11
+ '0.1.1'
12
12
  end
13
13
 
14
14
  def self.ibrain_gem_version
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ibrain-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tai Nguyen Van
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-19 00:00:00.000000000 Z
11
+ date: 2021-12-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord-session_store