schema_serializer 0.2.0 → 0.2.6

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: 9e77ad90c0adef33c9d54051f2747a00ceb8668e46a54cf2350c5a52cc8a90ad
4
- data.tar.gz: a99ef7650ff88cfae0879fa3d322c0f043fe78f87aa99c00a167bbb00d515d50
3
+ metadata.gz: 16979d066b051ff98b81083b073753d4f755f7d395c10d100de19d3258fd00fe
4
+ data.tar.gz: 58bc8904ee191d367bce4cb81c60acf5028276e090c34bed16150a96ba42f398
5
5
  SHA512:
6
- metadata.gz: 7380eb8d5f8c53bd335fdecc91df45009f6317a633d0c8ca32df63503756852515f82a2581c2f5f7a1867ff1c4f3870bf86291e2924c1beb28df555e6e1e49e5
7
- data.tar.gz: ed7aca31fe5173463fefe842b91fcacc469355de7a02db17cdf2b4470bce7199cc7eb7d4779c5978904e2dd83f7824a842d906b3f0569c2fa253c5713065c8b0
6
+ metadata.gz: 7b9cea96ae7da52913b33a7ebe16b249be137861e31d5ea2f84509b40f14b0ceafac7d5fe42f760ba2d3389e11a901bb53c87c6b1f121ee5ed453fa0ca4daa3f
7
+ data.tar.gz: 3e404e9176704a2220e83dd607672053d4bc7ee6ba1e0f8314150e8e3942f2890ba0735bc7b938ceea921e0a7bfdf7babf74e2657e58ebad1a7ea6e2a3766bdb
@@ -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/.gitignore CHANGED
@@ -8,4 +8,5 @@
8
8
  /tmp/
9
9
  /Gemfile.lock
10
10
 
11
+ # rspec failure tracking
11
12
  .rspec_status
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
@@ -1,18 +1,21 @@
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
12
-
8
+ # Private methods indent.
13
9
  Layout/IndentationConsistency:
14
10
  EnforcedStyle: indented_internal_methods
15
11
 
12
+ # Warning: 120 characters
13
+ # Error: 160 characters
14
+ # Make the library more restrictive.
15
+ Layout/LineLength:
16
+ Max: 120
17
+
18
+ # Multi-line indentation with receiver.
16
19
  Layout/MultilineMethodCallIndentation:
17
20
  EnforcedStyle: indented_relative_to_receiver
18
21
 
@@ -20,6 +23,11 @@ Lint/AmbiguousBlockAssociation:
20
23
  Exclude:
21
24
  - "spec/**/*_spec.rb"
22
25
 
26
+ # May define constants within the block in spec.
27
+ Lint/ConstantDefinitionInBlock:
28
+ Exclude:
29
+ - "spec/**/*_spec.rb"
30
+
23
31
  Lint/InheritException:
24
32
  EnforcedStyle: standard_error
25
33
 
@@ -38,18 +46,12 @@ Metrics/BlockLength:
38
46
  - "Gemfile"
39
47
  - "*.gemspec"
40
48
 
41
- CyclomaticComplexity:
49
+ Metrics/CyclomaticComplexity:
42
50
  Max: 10
43
51
 
44
- Metrics/LineLength:
45
- Max: 120
46
-
47
52
  Metrics/MethodLength:
48
53
  Max: 20
49
54
 
50
- Naming/UncommunicativeMethodParamName:
51
- Enabled: false
52
-
53
55
  Security/YAMLLoad:
54
56
  Enabled: false
55
57
 
@@ -65,9 +67,6 @@ Style/AsciiComments:
65
67
  Style/BlockDelimiters:
66
68
  Enabled: false
67
69
 
68
- Style/BracesAroundHashParameters:
69
- Enabled: false
70
-
71
70
  Style/ClassAndModuleChildren:
72
71
  Enabled: false
73
72
 
@@ -96,6 +95,7 @@ Style/EmptyMethod:
96
95
  Style/FormatString:
97
96
  EnforcedStyle: percent
98
97
 
98
+ # Do not use frozen_string_literal comment.
99
99
  Style/FrozenStringLiteralComment:
100
100
  Enabled: false
101
101
 
@@ -110,6 +110,7 @@ Style/MixinUsage:
110
110
  Exclude:
111
111
  - "bin/setup"
112
112
 
113
+ # Use _ when 7 digits or more.
113
114
  Style/NumericLiterals:
114
115
  MinDigits: 7
115
116
  Strict: true
@@ -123,38 +124,42 @@ Style/OrAssignment:
123
124
  Style/PercentLiteralDelimiters:
124
125
  Enabled: false
125
126
 
127
+ # `has_xxx?` is more readable.
126
128
  Style/PreferredHashMethods:
127
129
  EnforcedStyle: verbose
128
130
 
131
+ # Do not use unnecessary returns. (Allow to return multiple values.)
129
132
  Style/RedundantReturn:
130
133
  AllowMultipleReturnValues: true
131
134
 
132
- Style/RedundantSelf:
133
- Enabled: false
134
-
135
+ # Do not specify error class when rescuing StandardError.
135
136
  Style/RescueStandardError:
136
137
  EnforcedStyle: implicit
137
138
 
139
+ # String literals use double quotes.
138
140
  Style/StringLiterals:
139
141
  EnforcedStyle: double_quotes
140
142
 
143
+ # String literal inside the string interpolation use double quotes too.
141
144
  Style/StringLiteralsInInterpolation:
142
145
  EnforcedStyle: double_quotes
143
146
 
147
+ # Percent(`%i(a b)`) and brackets(`[:a, :b]`) are acceptable.
144
148
  Style/SymbolArray:
145
149
  Enabled: false
146
150
 
147
- Style/TernaryParentheses:
148
- EnforcedStyle: require_parentheses_when_complex
149
-
151
+ # Put a trailing comma in argument list.
150
152
  Style/TrailingCommaInArguments:
151
153
  EnforcedStyleForMultiline: comma
152
154
 
155
+ # Put a trailing comma in Array literal.
153
156
  Style/TrailingCommaInArrayLiteral:
154
157
  EnforcedStyleForMultiline: comma
155
158
 
159
+ # Put a trailing comma in Hash literal.
156
160
  Style/TrailingCommaInHashLiteral:
157
161
  EnforcedStyleForMultiline: comma
158
162
 
163
+ # Percent(`%w(a b)`) and brackets(`["a", "b"]`) are acceptable.
159
164
  Style/WordArray:
160
165
  Enabled: false
@@ -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
@@ -1,6 +1,8 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rspec/core/rake_task"
3
+ require "rubocop/rake_task"
3
4
 
4
5
  RSpec::Core::RakeTask.new(:spec)
6
+ RuboCop::RakeTask.new
5
7
 
6
- task default: :spec
8
+ task :default => %i(spec rubocop)
@@ -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,15 +2,17 @@ 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"
10
12
  require "schema_serializer/railtie" if defined?(Rails)
11
13
 
12
14
  class SchemaSerializer
13
- attr_reader :object
15
+ attr_reader :object, :options
14
16
 
15
17
  class << self
16
18
  attr_reader :definition
@@ -21,16 +23,28 @@ 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
- def initialize(object, _options = {})
45
+ def initialize(object, options = {})
33
46
  @object = object
47
+ @options = options
34
48
  end
35
49
 
36
50
  def as_json(_options = nil)
@@ -56,6 +70,7 @@ class SchemaSerializer
56
70
  end
57
71
 
58
72
  def respond_to_missing?(name, _include_private = false)
73
+ super
59
74
  object.respond_to?(name)
60
75
  end
61
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)
@@ -1,7 +1,21 @@
1
1
  class SchemaSerializer
2
2
  module Serializable
3
- def serializer(klass = nil)
4
- (klass || "#{self.class.name}Serializer".safe_constantize || SchemaSerializer).new(self)
3
+ def serializer(*args)
4
+ options = args.last.is_a?(Hash) ? args.pop : {}
5
+ klass = args.first || options[:class]
6
+ (klass || serializer_class || SchemaSerializer).new(self, options)
5
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
6
20
  end
7
21
  end
@@ -1,3 +1,3 @@
1
1
  class SchemaSerializer
2
- VERSION = "0.2.0".freeze
2
+ VERSION = "0.2.6".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.required_ruby_version = ">= 2.6"
24
+
23
25
  spec.add_dependency "activesupport", ">= 5.2.0", "< 6.1"
24
26
  spec.add_dependency "yaml_ext", "0.1.2"
25
27
 
26
28
  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 "bundler", "~> 2.1.4"
30
+ spec.add_development_dependency "pry", "~> 0.13.1"
29
31
  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"
32
+ spec.add_development_dependency "rspec", "~> 3.10.0"
33
+ spec.add_development_dependency "rubocop", "~> 1.2.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.0
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - i2bskn
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-09-02 00:00:00.000000000 Z
11
+ date: 2020-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -70,28 +70,28 @@ dependencies:
70
70
  requirements:
71
71
  - - "~>"
72
72
  - !ruby/object:Gem::Version
73
- version: 2.0.2
73
+ version: 2.1.4
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.4
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.13.1
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.13.1
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: rake
97
97
  requirement: !ruby/object:Gem::Requirement
@@ -112,42 +112,42 @@ dependencies:
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.2.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.2.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,10 +155,11 @@ executables: []
155
155
  extensions: []
156
156
  extra_rdoc_files: []
157
157
  files:
158
+ - ".github/workflows/ci.yml"
158
159
  - ".gitignore"
160
+ - ".rspec"
159
161
  - ".rubocop.yml"
160
162
  - ".ruby-version"
161
- - ".travis.yml"
162
163
  - Gemfile
163
164
  - LICENSE
164
165
  - README.md
@@ -168,12 +169,18 @@ files:
168
169
  - bin/setup
169
170
  - lib/generators/schema_serializer/install/USAGE
170
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
171
176
  - lib/generators/schema_serializer/install/templates/schema.yml
172
177
  - lib/generators/schema_serializer/install/templates/schema_serializer.rb
173
178
  - lib/generators/schema_serializer/serializer/USAGE
174
179
  - lib/generators/schema_serializer/serializer/serializer_generator.rb
175
180
  - lib/generators/schema_serializer/serializer/templates/serializer.rb.erb
176
181
  - lib/schema_serializer.rb
182
+ - lib/schema_serializer/configuration.rb
183
+ - lib/schema_serializer/constantizer.rb
177
184
  - lib/schema_serializer/definition.rb
178
185
  - lib/schema_serializer/errors.rb
179
186
  - lib/schema_serializer/railtie.rb
@@ -193,14 +200,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
193
200
  requirements:
194
201
  - - ">="
195
202
  - !ruby/object:Gem::Version
196
- version: '0'
203
+ version: '2.6'
197
204
  required_rubygems_version: !ruby/object:Gem::Requirement
198
205
  requirements:
199
206
  - - ">="
200
207
  - !ruby/object:Gem::Version
201
208
  version: '0'
202
209
  requirements: []
203
- rubygems_version: 3.0.3
210
+ rubygems_version: 3.1.4
204
211
  signing_key:
205
212
  specification_version: 4
206
213
  summary: SchemaSerializer is provide serialization from schema definition to JSON.
@@ -1,10 +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 spec
10
- - bundle exec rubocop