schema_serializer 0.2.1 → 0.2.7

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: df227d33a5ef9d69964b690e95f7f67735d1f342892f0bdd8a623d377b230fb2
4
- data.tar.gz: 26b2b03d097d03d2e85f3b834a8c9d0dafdcee9ef362c669b4324e35eed7ee69
3
+ metadata.gz: 83d33ac2b8e98fdd8d7a5ef64745c7fe4a2f38a4db286c19e0b45d6bae9f1287
4
+ data.tar.gz: 853ef175b4eafad19aa0c3b134a91bd1114ac3547bb4def8bb79d5e8d08e10f2
5
5
  SHA512:
6
- metadata.gz: fbd52e29580c17fc38d0630e263288d1c395004951e29cada24bb021c8867785c732e198353f653d2e48c1c68175d7c186e8d169987ef38c02cd693d2afeb4e9
7
- data.tar.gz: b436fd8463202839a2f49b211d569c4226c2c67a823c711683c605165aff8ed72948d4ae76fe416c93aaf0bab38515596588392255c6033580cdeb8265f80d5b
6
+ metadata.gz: ed87cb9d5848a65dc5ea9df43cdce7d1e0274c32bd986f610c8f07e2ca9ad2cb50c526bad924e9de8e1664fafbf95c2fe093ac17a20fe2078f1b248fd96fe5e7
7
+ data.tar.gz: b1f772a55c8d22c4630ee4ed65219c9c0bd0752342fc9eaef0f89121d3d2efa8220dc5cf53f75de6ded09a1bca7ce0075bb7fb8b3335f907b5226cc45293a6ff
@@ -0,0 +1,28 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: CI
9
+ on:
10
+ push:
11
+ branches: [ master ]
12
+ pull_request:
13
+ branches: [ master ]
14
+ jobs:
15
+ test:
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - uses: actions/checkout@v2
19
+ - name: Set up Ruby
20
+ uses: ruby/setup-ruby@v1
21
+ with:
22
+ ruby-version: 2.7.2
23
+ - name: Install dependencies
24
+ run: bundle install
25
+ - name: Run tests
26
+ run: bundle exec rake spec
27
+ - name: Run rubocop
28
+ run: bundle exec rake rubocop
data/.rubocop.yml CHANGED
@@ -1,18 +1,25 @@
1
1
  AllCops:
2
+ NewCops: enable
2
3
  TargetRubyVersion: 2.6
3
4
  Exclude:
4
5
  - "node_modules/**/*"
5
6
  - "vendor/**/*"
6
7
 
7
- Layout/IndentFirstArrayElement:
8
- EnforcedStyle: consistent
9
-
10
- Layout/IndentFirstHashElement:
11
- EnforcedStyle: consistent
8
+ Layout/EmptyLineBetweenDefs:
9
+ Exclude:
10
+ - "lib/schema_serializer/errors.rb"
12
11
 
12
+ # Private methods indent.
13
13
  Layout/IndentationConsistency:
14
14
  EnforcedStyle: indented_internal_methods
15
15
 
16
+ # Warning: 120 characters
17
+ # Error: 160 characters
18
+ # Make the library more restrictive.
19
+ Layout/LineLength:
20
+ Max: 120
21
+
22
+ # Multi-line indentation with receiver.
16
23
  Layout/MultilineMethodCallIndentation:
17
24
  EnforcedStyle: indented_relative_to_receiver
18
25
 
@@ -20,6 +27,11 @@ Lint/AmbiguousBlockAssociation:
20
27
  Exclude:
21
28
  - "spec/**/*_spec.rb"
22
29
 
30
+ # May define constants within the block in spec.
31
+ Lint/ConstantDefinitionInBlock:
32
+ Exclude:
33
+ - "spec/**/*_spec.rb"
34
+
23
35
  Lint/InheritException:
24
36
  EnforcedStyle: standard_error
25
37
 
@@ -41,15 +53,9 @@ Metrics/BlockLength:
41
53
  Metrics/CyclomaticComplexity:
42
54
  Max: 10
43
55
 
44
- Metrics/LineLength:
45
- Max: 120
46
-
47
56
  Metrics/MethodLength:
48
57
  Max: 20
49
58
 
50
- Naming/UncommunicativeMethodParamName:
51
- Enabled: false
52
-
53
59
  Security/YAMLLoad:
54
60
  Enabled: false
55
61
 
@@ -65,9 +71,6 @@ Style/AsciiComments:
65
71
  Style/BlockDelimiters:
66
72
  Enabled: false
67
73
 
68
- Style/BracesAroundHashParameters:
69
- Enabled: false
70
-
71
74
  Style/ClassAndModuleChildren:
72
75
  Enabled: false
73
76
 
@@ -96,6 +99,7 @@ Style/EmptyMethod:
96
99
  Style/FormatString:
97
100
  EnforcedStyle: percent
98
101
 
102
+ # Do not use frozen_string_literal comment.
99
103
  Style/FrozenStringLiteralComment:
100
104
  Enabled: false
101
105
 
@@ -110,6 +114,7 @@ Style/MixinUsage:
110
114
  Exclude:
111
115
  - "bin/setup"
112
116
 
117
+ # Use _ when 7 digits or more.
113
118
  Style/NumericLiterals:
114
119
  MinDigits: 7
115
120
  Strict: true
@@ -123,38 +128,42 @@ Style/OrAssignment:
123
128
  Style/PercentLiteralDelimiters:
124
129
  Enabled: false
125
130
 
131
+ # `has_xxx?` is more readable.
126
132
  Style/PreferredHashMethods:
127
133
  EnforcedStyle: verbose
128
134
 
135
+ # Do not use unnecessary returns. (Allow to return multiple values.)
129
136
  Style/RedundantReturn:
130
137
  AllowMultipleReturnValues: true
131
138
 
132
- Style/RedundantSelf:
133
- Enabled: false
134
-
139
+ # Do not specify error class when rescuing StandardError.
135
140
  Style/RescueStandardError:
136
141
  EnforcedStyle: implicit
137
142
 
143
+ # String literals use double quotes.
138
144
  Style/StringLiterals:
139
145
  EnforcedStyle: double_quotes
140
146
 
147
+ # String literal inside the string interpolation use double quotes too.
141
148
  Style/StringLiteralsInInterpolation:
142
149
  EnforcedStyle: double_quotes
143
150
 
151
+ # Percent(`%i(a b)`) and brackets(`[:a, :b]`) are acceptable.
144
152
  Style/SymbolArray:
145
153
  Enabled: false
146
154
 
147
- Style/TernaryParentheses:
148
- EnforcedStyle: require_parentheses_when_complex
149
-
155
+ # Put a trailing comma in argument list.
150
156
  Style/TrailingCommaInArguments:
151
157
  EnforcedStyleForMultiline: comma
152
158
 
159
+ # Put a trailing comma in Array literal.
153
160
  Style/TrailingCommaInArrayLiteral:
154
161
  EnforcedStyleForMultiline: comma
155
162
 
163
+ # Put a trailing comma in Hash literal.
156
164
  Style/TrailingCommaInHashLiteral:
157
165
  EnforcedStyleForMultiline: comma
158
166
 
167
+ # Percent(`%w(a b)`) and brackets(`["a", "b"]`) are acceptable.
159
168
  Style/WordArray:
160
169
  Enabled: false
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.6.4
1
+ 2.7.2
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # SchemaSerializer
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/schema_serializer.svg)](https://badge.fury.io/rb/schema_serializer)
4
- [![Build Status](https://travis-ci.org/i2bskn/schema_serializer.svg?branch=master)](https://travis-ci.org/i2bskn/schema_serializer)
4
+ [![CI](https://github.com/i2bskn/schema_serializer/workflows/CI/badge.svg?branch=master)](https://github.com/i2bskn/schema_serializer/actions?query=workflow%3ACI)
5
5
 
6
6
  SchemaSerializer is provide serialization from schema definition to JSON.
7
7
 
data/Rakefile CHANGED
@@ -5,5 +5,4 @@ require "rubocop/rake_task"
5
5
  RSpec::Core::RakeTask.new(:spec)
6
6
  RuboCop::RakeTask.new
7
7
 
8
- task default: :spec
9
8
  task :default => %i(spec rubocop)
data/bin/profile CHANGED
@@ -5,7 +5,7 @@ require "schema_serializer"
5
5
 
6
6
  User = Struct.new(:id, :name, :age, :gender, :email, :created_at)
7
7
  User.include SchemaSerializer::Serializable
8
- users = Array.new(10000) { |i|
8
+ users = Array.new(1_000_000) { |i|
9
9
  User.new(i.to_s, "abcdefg", rand(80).to_s, rand(2).to_s, "user#{i}@example.com", Time.now)
10
10
  }
11
11
  SchemaSerializer.definition = {
@@ -8,6 +8,10 @@ module SchemaSerializer::Generators
8
8
 
9
9
  def create_example_schema
10
10
  copy_file "schema.yml", "doc/schema.yml"
11
+ copy_file "components/index.yml", "doc/components/index.yml"
12
+ copy_file "components/schemas/index.yml", "doc/components/schemas/index.yml"
13
+ copy_file "components/schemas/User.yml", "doc/components/schemas/User.yml"
14
+ copy_file "components/schemas/Users.yml", "doc/components/schemas/Users.yml"
11
15
  end
12
16
  end
13
17
  end
@@ -0,0 +1,2 @@
1
+ schemas:
2
+ $ref: ./schemas/index.yml
@@ -0,0 +1,12 @@
1
+ type: object
2
+ required:
3
+ - id
4
+ - name
5
+ properties:
6
+ id:
7
+ type: integer
8
+ name:
9
+ type: string
10
+ age:
11
+ nullable: true
12
+ type: integer
@@ -0,0 +1,3 @@
1
+ type: array
2
+ items:
3
+ $ref: "#/components/schemas/User"
@@ -0,0 +1,4 @@
1
+ User:
2
+ $ref: ./User.yml
3
+ Users:
4
+ $ref: ./Users.yml
@@ -1,11 +1,3 @@
1
- Pet:
2
- required:
3
- - id
4
- - name
5
- properties:
6
- id:
7
- type: integer
8
- name:
9
- type: string
10
- tag:
11
- type: string
1
+ openapi: "3.0.0"
2
+ components:
3
+ $ref: ./components/index.yml
@@ -1 +1,4 @@
1
+ # Throw exception with unexpected null value.
2
+ SchemaSerializer.config.raise_on_null = true
3
+
1
4
  SchemaSerializer.load_definition(Rails.root.join("doc/schema.yml"))
@@ -2,8 +2,10 @@ require "active_support"
2
2
  require "active_support/core_ext"
3
3
  require "yaml_ext"
4
4
 
5
+ require "schema_serializer/configuration"
5
6
  require "schema_serializer/definition"
6
7
  require "schema_serializer/schema"
8
+ require "schema_serializer/constantizer"
7
9
  require "schema_serializer/serializable"
8
10
  require "schema_serializer/errors"
9
11
  require "schema_serializer/version"
@@ -21,12 +23,23 @@ class SchemaSerializer
21
23
  doc = doc.fetch("components").fetch("schemas")
22
24
  end
23
25
 
26
+ @document_path = path
24
27
  self.definition = doc
25
28
  end
26
29
 
30
+ def reload!
31
+ raise ReloadError, "Load config using .load_definition" if @document_path.nil?
32
+
33
+ load_definition(@document_path)
34
+ end
35
+
27
36
  def definition=(define)
28
37
  @definition = define.is_a?(SchemaSerializer::Definition) ? define : SchemaSerializer::Definition.new(define)
29
38
  end
39
+
40
+ def config
41
+ @config ||= Configuration.new
42
+ end
30
43
  end
31
44
 
32
45
  def initialize(object, options = {})
@@ -57,6 +70,7 @@ class SchemaSerializer
57
70
  end
58
71
 
59
72
  def respond_to_missing?(name, _include_private = false)
73
+ super
60
74
  object.respond_to?(name)
61
75
  end
62
76
  end
@@ -0,0 +1,23 @@
1
+ class SchemaSerializer
2
+ class Configuration
3
+ VALID_OPTIONS = [
4
+ :raise_on_null,
5
+ ].freeze
6
+
7
+ attr_accessor(*VALID_OPTIONS)
8
+
9
+ def initialize(options = {})
10
+ reset
11
+ merge(options)
12
+ end
13
+
14
+ def merge(options)
15
+ options.each_key { |key| send("#{key}=", options[key]) }
16
+ self
17
+ end
18
+
19
+ def reset
20
+ @raise_on_null = true
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,34 @@
1
+ class SchemaSerializer
2
+ class Constantizer
3
+ class << self
4
+ def find(name)
5
+ return cached_serializers.fetch(name) if cached_serializers.has_key?(name)
6
+ return nil if non_existent_serializers.include?(name)
7
+
8
+ klass = name.safe_constantize
9
+ if klass.present?
10
+ cached_serializers[name] = klass
11
+ return klass
12
+ end
13
+
14
+ non_existent_serializers << name
15
+ nil
16
+ end
17
+
18
+ def refresh!
19
+ @non_existent_serializers = []
20
+ @serializers = {}
21
+ end
22
+
23
+ private
24
+
25
+ def non_existent_serializers
26
+ @non_existent_serializers ||= []
27
+ end
28
+
29
+ def cached_serializers
30
+ @cached_serializers ||= {}
31
+ end
32
+ end
33
+ end
34
+ end
@@ -4,7 +4,7 @@ class SchemaSerializer
4
4
 
5
5
  def initialize(hash)
6
6
  @schemas = hash.each_with_object({}) { |(name, schema), obj|
7
- obj[name.to_s] = Schema.new(schema)
7
+ obj[name.to_s] = Schema.new(name, schema)
8
8
  }
9
9
  end
10
10
 
@@ -2,4 +2,6 @@ class SchemaSerializer
2
2
  class BaseError < StandardError; end
3
3
  class SchemaNotFound < BaseError; end
4
4
  class RequiredNotDefined < BaseError; end
5
+ class NullValue < BaseError; end
6
+ class ReloadError < BaseError; end
5
7
  end
@@ -2,7 +2,8 @@ class SchemaSerializer
2
2
  class Railtie < ::Rails::Railtie
3
3
  initializer "schema_serializer" do
4
4
  ActiveSupport.on_load(:active_record) do
5
- ::ActiveRecord::Base.send(:include, SchemaSerializer::Serializable)
5
+ ::ActiveRecord::Base.include SchemaSerializer::Serializable
6
+ ::ActiveRecord::Relation.include SchemaSerializer::Serializable
6
7
  end
7
8
  end
8
9
  end
@@ -1,24 +1,28 @@
1
1
  class SchemaSerializer
2
2
  class Schema
3
- attr_reader :type, :nullable, :items, :required, :properties
3
+ attr_reader :key, :type, :nullable, :items, :required, :properties
4
4
 
5
- def initialize(hash = {})
5
+ def initialize(key, hash = {})
6
+ @key = key
6
7
  @type = hash["type"]
7
8
  @nullable = !hash["nullable"].nil?
8
9
 
9
10
  case type
10
11
  when "array"
11
- @items = self.class.new(hash.fetch("items"))
12
+ @items = self.class.new(@key, hash.fetch("items"))
12
13
  when "object", nil
13
14
  @required = hash["required"] || []
14
15
  @properties = hash.fetch("properties").each_with_object({}) { |(column, property), obj|
15
- obj[column] = self.class.new(property)
16
+ obj[column] = self.class.new(column, property)
16
17
  }
17
18
  end
18
19
  end
19
20
 
20
21
  def serialize(object)
21
- return nil if nullable && object.nil?
22
+ if object.nil?
23
+ return nil if nullable
24
+ raise NullValue, "#{key} is not allowed to be null" if SchemaSerializer.config.raise_on_null
25
+ end
22
26
 
23
27
  case type
24
28
  when "integer"
@@ -30,8 +34,19 @@ class SchemaSerializer
30
34
  when "boolean"
31
35
  !!object
32
36
  when "array"
33
- object.map { |item| items.serialize(item) }
37
+ serialize_array(object)
34
38
  else
39
+ serialize_object(object)
40
+ end
41
+ end
42
+
43
+ private
44
+
45
+ def serialize_array(object)
46
+ object.map { |item| items.serialize(item) }
47
+ end
48
+
49
+ def serialize_object(object)
35
50
  not_enough_columns = required - properties.keys
36
51
  raise RequiredNotDefined, not_enough_columns.join(", ") unless not_enough_columns.empty?
37
52
 
@@ -39,9 +54,6 @@ class SchemaSerializer
39
54
  obj[column] = schema.serialize(get_value(object, column))
40
55
  }
41
56
  end
42
- end
43
-
44
- private
45
57
 
46
58
  def get_value(object, column)
47
59
  return object[column] || object[column.to_sym] if object.is_a?(Hash)
@@ -3,7 +3,19 @@ class SchemaSerializer
3
3
  def serializer(*args)
4
4
  options = args.last.is_a?(Hash) ? args.pop : {}
5
5
  klass = args.first || options[:class]
6
- (klass || "#{self.class.name}Serializer".safe_constantize || SchemaSerializer).new(self)
6
+ (klass || serializer_class || SchemaSerializer).new(self, options)
7
7
  end
8
+
9
+ private
10
+
11
+ def serializer_class
12
+ SchemaSerializer::Constantizer.find("#{serializer_base_class_name}Serializer")
13
+ end
14
+
15
+ def serializer_base_class_name
16
+ return self.class.name unless defined?(ActiveRecord)
17
+
18
+ self.class < ActiveRecord::Relation ? model.name.pluralize : self.class.name
19
+ end
8
20
  end
9
21
  end
@@ -1,3 +1,3 @@
1
1
  class SchemaSerializer
2
- VERSION = "0.2.1".freeze
2
+ VERSION = "0.2.7".freeze
3
3
  end
@@ -20,14 +20,16 @@ Gem::Specification.new do |spec|
20
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ["lib"]
22
22
 
23
- spec.add_dependency "activesupport", ">= 5.2.0", "< 6.1"
23
+ spec.required_ruby_version = ">= 2.6"
24
+
25
+ spec.add_dependency "activesupport", ">= 5.2.0", "< 6.2"
24
26
  spec.add_dependency "yaml_ext", "0.1.2"
25
27
 
26
- spec.add_development_dependency "activerecord", ">= 5.2.0", "< 6.1"
27
- spec.add_development_dependency "bundler", "~> 2.0.2"
28
- spec.add_development_dependency "pry", "~> 0.12.2"
29
- spec.add_development_dependency "rake"
30
- spec.add_development_dependency "rspec", "~> 3.8.0"
31
- spec.add_development_dependency "rubocop", "~> 0.74.0"
32
- spec.add_development_dependency "sqlite3", "~> 1.4.0"
28
+ spec.add_development_dependency "activerecord", ">= 5.2.0", "< 6.2"
29
+ spec.add_development_dependency "bundler", ">= 2.1.0"
30
+ spec.add_development_dependency "pry", "~> 0.14.0"
31
+ spec.add_development_dependency "rake", "~> 13.0.0"
32
+ spec.add_development_dependency "rspec", "~> 3.10.0"
33
+ spec.add_development_dependency "rubocop", "~> 1.11.0"
34
+ spec.add_development_dependency "sqlite3", "~> 1.4.2"
33
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schema_serializer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - i2bskn
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-11 00:00:00.000000000 Z
11
+ date: 2021-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: 5.2.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '6.1'
22
+ version: '6.2'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: 5.2.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '6.1'
32
+ version: '6.2'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: yaml_ext
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +53,7 @@ dependencies:
53
53
  version: 5.2.0
54
54
  - - "<"
55
55
  - !ruby/object:Gem::Version
56
- version: '6.1'
56
+ version: '6.2'
57
57
  type: :development
58
58
  prerelease: false
59
59
  version_requirements: !ruby/object:Gem::Requirement
@@ -63,91 +63,91 @@ dependencies:
63
63
  version: 5.2.0
64
64
  - - "<"
65
65
  - !ruby/object:Gem::Version
66
- version: '6.1'
66
+ version: '6.2'
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: bundler
69
69
  requirement: !ruby/object:Gem::Requirement
70
70
  requirements:
71
- - - "~>"
71
+ - - ">="
72
72
  - !ruby/object:Gem::Version
73
- version: 2.0.2
73
+ version: 2.1.0
74
74
  type: :development
75
75
  prerelease: false
76
76
  version_requirements: !ruby/object:Gem::Requirement
77
77
  requirements:
78
- - - "~>"
78
+ - - ">="
79
79
  - !ruby/object:Gem::Version
80
- version: 2.0.2
80
+ version: 2.1.0
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: pry
83
83
  requirement: !ruby/object:Gem::Requirement
84
84
  requirements:
85
85
  - - "~>"
86
86
  - !ruby/object:Gem::Version
87
- version: 0.12.2
87
+ version: 0.14.0
88
88
  type: :development
89
89
  prerelease: false
90
90
  version_requirements: !ruby/object:Gem::Requirement
91
91
  requirements:
92
92
  - - "~>"
93
93
  - !ruby/object:Gem::Version
94
- version: 0.12.2
94
+ version: 0.14.0
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: rake
97
97
  requirement: !ruby/object:Gem::Requirement
98
98
  requirements:
99
- - - ">="
99
+ - - "~>"
100
100
  - !ruby/object:Gem::Version
101
- version: '0'
101
+ version: 13.0.0
102
102
  type: :development
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
105
  requirements:
106
- - - ">="
106
+ - - "~>"
107
107
  - !ruby/object:Gem::Version
108
- version: '0'
108
+ version: 13.0.0
109
109
  - !ruby/object:Gem::Dependency
110
110
  name: rspec
111
111
  requirement: !ruby/object:Gem::Requirement
112
112
  requirements:
113
113
  - - "~>"
114
114
  - !ruby/object:Gem::Version
115
- version: 3.8.0
115
+ version: 3.10.0
116
116
  type: :development
117
117
  prerelease: false
118
118
  version_requirements: !ruby/object:Gem::Requirement
119
119
  requirements:
120
120
  - - "~>"
121
121
  - !ruby/object:Gem::Version
122
- version: 3.8.0
122
+ version: 3.10.0
123
123
  - !ruby/object:Gem::Dependency
124
124
  name: rubocop
125
125
  requirement: !ruby/object:Gem::Requirement
126
126
  requirements:
127
127
  - - "~>"
128
128
  - !ruby/object:Gem::Version
129
- version: 0.74.0
129
+ version: 1.11.0
130
130
  type: :development
131
131
  prerelease: false
132
132
  version_requirements: !ruby/object:Gem::Requirement
133
133
  requirements:
134
134
  - - "~>"
135
135
  - !ruby/object:Gem::Version
136
- version: 0.74.0
136
+ version: 1.11.0
137
137
  - !ruby/object:Gem::Dependency
138
138
  name: sqlite3
139
139
  requirement: !ruby/object:Gem::Requirement
140
140
  requirements:
141
141
  - - "~>"
142
142
  - !ruby/object:Gem::Version
143
- version: 1.4.0
143
+ version: 1.4.2
144
144
  type: :development
145
145
  prerelease: false
146
146
  version_requirements: !ruby/object:Gem::Requirement
147
147
  requirements:
148
148
  - - "~>"
149
149
  - !ruby/object:Gem::Version
150
- version: 1.4.0
150
+ version: 1.4.2
151
151
  description: SchemaSerializer is provide serialization from schema definition to JSON.
152
152
  email:
153
153
  - i2bskn@gmail.com
@@ -155,11 +155,11 @@ executables: []
155
155
  extensions: []
156
156
  extra_rdoc_files: []
157
157
  files:
158
+ - ".github/workflows/ci.yml"
158
159
  - ".gitignore"
159
160
  - ".rspec"
160
161
  - ".rubocop.yml"
161
162
  - ".ruby-version"
162
- - ".travis.yml"
163
163
  - Gemfile
164
164
  - LICENSE
165
165
  - README.md
@@ -169,12 +169,18 @@ files:
169
169
  - bin/setup
170
170
  - lib/generators/schema_serializer/install/USAGE
171
171
  - lib/generators/schema_serializer/install/install_generator.rb
172
+ - lib/generators/schema_serializer/install/templates/components/index.yml
173
+ - lib/generators/schema_serializer/install/templates/components/schemas/User.yml
174
+ - lib/generators/schema_serializer/install/templates/components/schemas/Users.yml
175
+ - lib/generators/schema_serializer/install/templates/components/schemas/index.yml
172
176
  - lib/generators/schema_serializer/install/templates/schema.yml
173
177
  - lib/generators/schema_serializer/install/templates/schema_serializer.rb
174
178
  - lib/generators/schema_serializer/serializer/USAGE
175
179
  - lib/generators/schema_serializer/serializer/serializer_generator.rb
176
180
  - lib/generators/schema_serializer/serializer/templates/serializer.rb.erb
177
181
  - lib/schema_serializer.rb
182
+ - lib/schema_serializer/configuration.rb
183
+ - lib/schema_serializer/constantizer.rb
178
184
  - lib/schema_serializer/definition.rb
179
185
  - lib/schema_serializer/errors.rb
180
186
  - lib/schema_serializer/railtie.rb
@@ -186,7 +192,7 @@ homepage: https://github.com/i2bskn/schema_serializer
186
192
  licenses:
187
193
  - MIT
188
194
  metadata: {}
189
- post_install_message:
195
+ post_install_message:
190
196
  rdoc_options: []
191
197
  require_paths:
192
198
  - lib
@@ -194,15 +200,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
194
200
  requirements:
195
201
  - - ">="
196
202
  - !ruby/object:Gem::Version
197
- version: '0'
203
+ version: '2.6'
198
204
  required_rubygems_version: !ruby/object:Gem::Requirement
199
205
  requirements:
200
206
  - - ">="
201
207
  - !ruby/object:Gem::Version
202
208
  version: '0'
203
209
  requirements: []
204
- rubygems_version: 3.0.3
205
- signing_key:
210
+ rubygems_version: 3.1.4
211
+ signing_key:
206
212
  specification_version: 4
207
213
  summary: SchemaSerializer is provide serialization from schema definition to JSON.
208
214
  test_files: []
data/.travis.yml DELETED
@@ -1,9 +0,0 @@
1
- ---
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
- rvm:
6
- - 2.6.4
7
- before_install: gem install bundler -v 2.0.2
8
- script:
9
- - bundle exec rake