schema_serializer 0.2.1 → 0.2.7

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: 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