schema_serializer 0.0.6 → 0.0.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: df1172714b5a36ea0eadbf89babe8a6b0456a0e0a6f6dcd48af8e0b694af04e6
4
- data.tar.gz: 02e019bf56afaa5372a982542a32de8137088fe1a66954dc89427589cc4e74db
3
+ metadata.gz: f85437d0cec77c7354aaafd3ea297336b090e39c4dff73161393b37ef563341b
4
+ data.tar.gz: 78fd337a070f4a75a3a100f8f1c73945162625dc45e82c38732ff80e0cdbf63a
5
5
  SHA512:
6
- metadata.gz: 1ee0372bd95705b027e93363386fbccfaa02acea6d8823b03c7375a9e8857eacb7638408c2506c3d882b3fb432df6a2200b8d58e027d619394e6fa8845928ece
7
- data.tar.gz: 47a3d27710a5970e2f2a1153d2ec1e8fe7a04693c5da393c54cc586bf30e542969f9ce92f83ac06cd6ab9ebe05fce8f215f91930a9dd6e3d8753c8428f53735b
6
+ metadata.gz: '08b9312ba7adcdb78453ec95b48764b7b589c0b7fd50eaff42308ed62dfcfcfc9220317ed451921cf4778d8f2ac4fc7ff6c65b318ab0cf885f9d6fe1d7f597d5'
7
+ data.tar.gz: 2dfe3ed4162132b25c13705b967a058eb195b4ef01909667d526490227a94259e2ea415404611bda6052945c219a1607056fb00f7d2654e06c7c9bea043c4455
data/.rubocop.yml ADDED
@@ -0,0 +1,176 @@
1
+ AllCops:
2
+ Exclude:
3
+ - "node_modules/**/*"
4
+ - "vendor/**/*"
5
+ - "db/schema.rb"
6
+
7
+ Layout/ExtraSpacing:
8
+ Exclude:
9
+ - "db/migrate/*.rb"
10
+
11
+ Layout/IndentArray:
12
+ EnforcedStyle: consistent
13
+
14
+ Layout/IndentHash:
15
+ EnforcedStyle: consistent
16
+
17
+ Layout/IndentationConsistency:
18
+ Enabled: true
19
+ EnforcedStyle: rails
20
+
21
+ Layout/MultilineMethodCallIndentation:
22
+ EnforcedStyle: indented_relative_to_receiver
23
+
24
+ Layout/SpaceInsideBlockBraces:
25
+ SpaceBeforeBlockParameters: false
26
+
27
+ Lint/AmbiguousBlockAssociation:
28
+ Exclude:
29
+ - "spec/**/*_spec.rb"
30
+
31
+ Lint/InheritException:
32
+ EnforcedStyle: standard_error
33
+
34
+ Lint/UnderscorePrefixedVariableName:
35
+ Enabled: false
36
+
37
+ Lint/UnusedMethodArgument:
38
+ Enabled: false
39
+
40
+ Metrics/AbcSize:
41
+ Max: 25
42
+
43
+ Metrics/BlockLength:
44
+ Exclude:
45
+ - "Rakefile"
46
+ - "**/*.rake"
47
+ - "spec/**/*.rb"
48
+ - "Gemfile"
49
+ - "config/environments/*.rb"
50
+ - "config/routes.rb"
51
+ - "config/routes/**/*.rb"
52
+ - "*.gemspec"
53
+
54
+ CyclomaticComplexity:
55
+ Max: 10
56
+
57
+ Metrics/LineLength:
58
+ Max: 120
59
+ Exclude:
60
+ - "db/migrate/*.rb"
61
+
62
+ Metrics/MethodLength:
63
+ Max: 20
64
+ Exclude:
65
+ - "db/migrate/*.rb"
66
+
67
+ Naming/UncommunicativeMethodParamName:
68
+ Enabled: false
69
+
70
+ Performance/Casecmp:
71
+ Enabled: false
72
+
73
+ Security/YAMLLoad:
74
+ Enabled: false
75
+
76
+ Style/Alias:
77
+ EnforcedStyle: prefer_alias_method
78
+
79
+ Style/AndOr:
80
+ EnforcedStyle: conditionals
81
+
82
+ Style/AsciiComments:
83
+ Enabled: false
84
+
85
+ Style/BlockDelimiters:
86
+ Enabled: false
87
+
88
+ Style/BracesAroundHashParameters:
89
+ Enabled: false
90
+
91
+ Style/ClassAndModuleChildren:
92
+ Enabled: false
93
+
94
+ Style/CollectionMethods:
95
+ PreferredMethods:
96
+ detect: "detect"
97
+ find: "detect"
98
+ inject: "inject"
99
+ reduce: "inject"
100
+
101
+ Style/Documentation:
102
+ Enabled: false
103
+
104
+ Style/DoubleNegation:
105
+ Enabled: false
106
+
107
+ Style/EmptyCaseCondition:
108
+ Enabled: false
109
+
110
+ Style/EmptyElse:
111
+ EnforcedStyle: empty
112
+
113
+ Style/EmptyMethod:
114
+ EnforcedStyle: expanded
115
+
116
+ Style/FormatString:
117
+ EnforcedStyle: percent
118
+
119
+ Style/FrozenStringLiteralComment:
120
+ Enabled: false
121
+
122
+ Style/HashSyntax:
123
+ Exclude:
124
+ - "**/*.rake"
125
+ - "Rakefile"
126
+
127
+ Style/MultilineBlockChain:
128
+ Enabled: false
129
+
130
+ Style/MixinUsage:
131
+ Exclude:
132
+ - "bin/setup"
133
+ - "bin/update"
134
+
135
+ Style/NumericLiterals:
136
+ MinDigits: 7
137
+ Strict: true
138
+
139
+ Style/NumericPredicate:
140
+ Enabled: false
141
+
142
+ Style/OrAssignment:
143
+ Enabled: false
144
+
145
+ Style/PreferredHashMethods:
146
+ EnforcedStyle: verbose
147
+
148
+ Style/RedundantReturn:
149
+ AllowMultipleReturnValues: true
150
+
151
+ Style/RedundantSelf:
152
+ Enabled: false
153
+
154
+ Style/RescueStandardError:
155
+ EnforcedStyle: implicit
156
+
157
+ Style/StringLiterals:
158
+ EnforcedStyle: double_quotes
159
+
160
+ Style/StringLiteralsInInterpolation:
161
+ EnforcedStyle: double_quotes
162
+
163
+ Style/TernaryParentheses:
164
+ EnforcedStyle: require_parentheses_when_complex
165
+
166
+ Style/TrailingCommaInArguments:
167
+ EnforcedStyleForMultiline: comma
168
+
169
+ Style/TrailingCommaInArrayLiteral:
170
+ EnforcedStyleForMultiline: comma
171
+
172
+ Style/TrailingCommaInHashLiteral:
173
+ EnforcedStyleForMultiline: comma
174
+
175
+ Style/YodaCondition:
176
+ EnforcedStyle: equality_operators_only
data/Rakefile CHANGED
@@ -7,4 +7,4 @@ Rake::TestTask.new(:test) do |t|
7
7
  t.test_files = FileList["test/**/*_test.rb"]
8
8
  end
9
9
 
10
- task :default => :test
10
+ task default: :test
@@ -12,9 +12,7 @@ class SchemaSerializer
12
12
  attr_reader :object
13
13
 
14
14
  class << self
15
- def definition
16
- @definition
17
- end
15
+ attr_reader :definition
18
16
 
19
17
  def definition=(define)
20
18
  define = SchemaSerializer::Definition.new(define) unless define.is_a?(SchemaSerializer::Definition)
@@ -22,16 +20,16 @@ class SchemaSerializer
22
20
  end
23
21
  end
24
22
 
25
- def initialize(object, options = {})
23
+ def initialize(object, _options = {})
26
24
  @object = object
27
25
  end
28
26
 
29
- def as_json(options = nil)
27
+ def as_json(_options = nil)
30
28
  schema.serialize(self)
31
29
  end
32
30
 
33
31
  def schema
34
- self.class.definition.schema(schema_name)
32
+ ::SchemaSerializer.definition.schema(schema_name)
35
33
  end
36
34
 
37
35
  def schema_name
@@ -48,7 +46,7 @@ class SchemaSerializer
48
46
  object.public_send(name, *args, &block)
49
47
  end
50
48
 
51
- def respond_to_missing?(name, include_private = false)
49
+ def respond_to_missing?(name, _include_private = false)
52
50
  object.respond_to?(name)
53
51
  end
54
52
  end
@@ -3,8 +3,8 @@ class SchemaSerializer
3
3
  attr_reader :schemas
4
4
 
5
5
  def initialize(hash)
6
- @schemas = hash.each_with_object({}) { |(name, hash), obj|
7
- obj[name.to_s] = Schema.new(hash)
6
+ @schemas = hash.each_with_object({}) {|(name, schema), obj|
7
+ obj[name.to_s] = Schema.new(schema)
8
8
  }
9
9
  end
10
10
 
@@ -10,7 +10,7 @@ class SchemaSerializer::Definition
10
10
  private
11
11
 
12
12
  def schemas_to_hash(schemas)
13
- schemas.each_with_object({}) { |(name, node), obj|
13
+ schemas.each_with_object({}) {|(name, node), obj|
14
14
  obj[name.to_s] = node_to_hash(node)
15
15
  }
16
16
  end
@@ -22,8 +22,8 @@ class SchemaSerializer::Definition
22
22
  obj["items"] = node_to_hash(node.items)
23
23
  when nil
24
24
  obj["required"] = node.required.node_data
25
- obj["properties"] = node.properties.each_with_object({}) { |(name, node), obj|
26
- obj[name.to_s] = node_to_hash(node)
25
+ obj["properties"] = node.properties.each_with_object({}) {|(name, property), properties|
26
+ properties[name.to_s] = node_to_hash(property)
27
27
  }
28
28
  end
29
29
  obj
@@ -4,15 +4,15 @@ class SchemaSerializer
4
4
 
5
5
  def initialize(hash = {})
6
6
  @type = hash["type"]
7
- @nullable = !!hash["nullable"]
7
+ @nullable = !hash["nullable"].nil?
8
8
 
9
9
  case type
10
10
  when "array"
11
11
  @items = self.class.new(hash.fetch("items"))
12
12
  when "object", nil
13
13
  @required = hash["required"] || []
14
- @properties = hash.fetch("properties").each_with_object({}) { |(column, _hash), obj|
15
- obj[column] = self.class.new(_hash)
14
+ @properties = hash.fetch("properties").each_with_object({}) {|(column, property), obj|
15
+ obj[column] = self.class.new(property)
16
16
  }
17
17
  end
18
18
  end
@@ -28,13 +28,13 @@ class SchemaSerializer
28
28
  when "string"
29
29
  object.to_s
30
30
  when "boolean"
31
- !!object
31
+ !object.nil?
32
32
  when "array"
33
- object.map { |item| items.serialize(item) }
33
+ object.map {|item| items.serialize(item) }
34
34
  else
35
35
  not_enough_columns = required - properties.keys
36
36
  raise RequiredNotDefined, not_enough_columns.join(", ") unless not_enough_columns.empty?
37
- properties.each_with_object({}) { |(column, schema), obj|
37
+ properties.each_with_object({}) {|(column, schema), obj|
38
38
  obj[column] = schema.serialize(get_value(object, column))
39
39
  }
40
40
  end
@@ -1,3 +1,3 @@
1
1
  class SchemaSerializer
2
- VERSION = "0.0.6".freeze
2
+ VERSION = "0.0.7".freeze
3
3
  end
@@ -1,5 +1,4 @@
1
-
2
- lib = File.expand_path("../lib", __FILE__)
1
+ lib = File.expand_path("lib", __dir__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require "schema_serializer/version"
5
4
 
@@ -9,8 +8,8 @@ Gem::Specification.new do |spec|
9
8
  spec.authors = ["i2bskn"]
10
9
  spec.email = ["i2bskn@gmail.com"]
11
10
 
12
- spec.summary = %q{SchemaSerializer is provide serialization from schema definition to JSON.}
13
- spec.description = %q{SchemaSerializer is provide serialization from schema definition to JSON.}
11
+ spec.summary = "SchemaSerializer is provide serialization from schema definition to JSON."
12
+ spec.description = "SchemaSerializer is provide serialization from schema definition to JSON."
14
13
  spec.homepage = "https://github.com/i2bskn/schema_serializer"
15
14
  spec.license = "MIT"
16
15
 
@@ -18,16 +17,17 @@ Gem::Specification.new do |spec|
18
17
  f.match(%r{^(test|spec|features)/})
19
18
  end
20
19
  spec.bindir = "exe"
21
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ spec.executables = spec.files.grep(%r{^exe/}) {|f| File.basename(f) }
22
21
  spec.require_paths = ["lib"]
23
22
 
24
23
  spec.add_dependency "activesupport"
25
24
 
25
+ spec.add_development_dependency "activerecord"
26
26
  spec.add_development_dependency "bundler", "~> 1.16"
27
- spec.add_development_dependency "rake", "~> 10.0"
28
27
  spec.add_development_dependency "minitest", "~> 5.0"
29
- spec.add_development_dependency "pry"
30
28
  spec.add_development_dependency "openapi3_parser"
31
- spec.add_development_dependency "activerecord"
29
+ spec.add_development_dependency "pry"
30
+ spec.add_development_dependency "rake", "~> 10.0"
31
+ spec.add_development_dependency "rubocop"
32
32
  spec.add_development_dependency "sqlite3"
33
33
  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.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - i2bskn
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-07-29 00:00:00.000000000 Z
11
+ date: 2018-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -25,33 +25,33 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: bundler
28
+ name: activerecord
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '1.16'
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '1.16'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rake
42
+ name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: '1.16'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '10.0'
54
+ version: '1.16'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: minitest
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '5.0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: pry
70
+ name: openapi3_parser
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: openapi3_parser
84
+ name: pry
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -95,7 +95,21 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: activerecord
98
+ name: rake
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '10.0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '10.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rubocop
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
115
  - - ">="
@@ -130,6 +144,7 @@ extensions: []
130
144
  extra_rdoc_files: []
131
145
  files:
132
146
  - ".gitignore"
147
+ - ".rubocop.yml"
133
148
  - ".travis.yml"
134
149
  - Gemfile
135
150
  - LICENSE