sober_swag 0.14.0 → 0.19.0
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 +4 -4
- data/.github/dependabot.yml +15 -0
- data/.github/workflows/lint.yml +41 -9
- data/.github/workflows/ruby.yml +1 -5
- data/.gitignore +2 -0
- data/.rubocop.yml +50 -5
- data/CHANGELOG.md +34 -0
- data/README.md +155 -4
- data/bin/console +36 -0
- data/bin/rspec +29 -0
- data/docs/serializers.md +74 -9
- data/example/Gemfile +2 -2
- data/example/app/controllers/application_controller.rb +5 -0
- data/example/app/controllers/people_controller.rb +4 -0
- data/example/app/controllers/posts_controller.rb +5 -0
- data/lib/sober_swag.rb +1 -0
- data/lib/sober_swag/compiler.rb +1 -0
- data/lib/sober_swag/compiler/path.rb +7 -0
- data/lib/sober_swag/compiler/primitive.rb +77 -0
- data/lib/sober_swag/compiler/type.rb +57 -96
- data/lib/sober_swag/controller.rb +3 -9
- data/lib/sober_swag/controller/route.rb +30 -8
- data/lib/sober_swag/input_object.rb +36 -3
- data/lib/sober_swag/nodes/attribute.rb +8 -7
- data/lib/sober_swag/nodes/enum.rb +2 -2
- data/lib/sober_swag/nodes/primitive.rb +1 -1
- data/lib/sober_swag/output_object/definition.rb +14 -2
- data/lib/sober_swag/output_object/field_syntax.rb +16 -0
- data/lib/sober_swag/parser.rb +10 -5
- data/lib/sober_swag/serializer/base.rb +2 -0
- data/lib/sober_swag/serializer/meta.rb +3 -1
- data/lib/sober_swag/server.rb +22 -10
- data/lib/sober_swag/type.rb +7 -0
- data/lib/sober_swag/type/named.rb +35 -0
- data/lib/sober_swag/types.rb +2 -0
- data/lib/sober_swag/types/comma_array.rb +17 -0
- data/lib/sober_swag/version.rb +1 -1
- data/sober_swag.gemspec +2 -2
- metadata +18 -10
data/lib/sober_swag/types.rb
CHANGED
@@ -0,0 +1,17 @@
|
|
1
|
+
module SoberSwag
|
2
|
+
class Types
|
3
|
+
##
|
4
|
+
# An array that will be parsed from comma-separated values in a string, if given a string.
|
5
|
+
module CommaArray
|
6
|
+
def self.of(other)
|
7
|
+
SoberSwag::Types::Array.of(other).constructor { |val|
|
8
|
+
if val.is_a?(::String)
|
9
|
+
val.split(',').map(&:strip)
|
10
|
+
else
|
11
|
+
val
|
12
|
+
end
|
13
|
+
}.meta(style: :form, explode: false)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/sober_swag/version.rb
CHANGED
data/sober_swag.gemspec
CHANGED
@@ -39,7 +39,7 @@ Gem::Specification.new do |spec|
|
|
39
39
|
spec.add_development_dependency 'pry-byebug'
|
40
40
|
spec.add_development_dependency 'rake', '~> 13.0'
|
41
41
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
42
|
-
spec.add_development_dependency 'rubocop'
|
43
|
-
spec.add_development_dependency 'rubocop-rspec'
|
42
|
+
spec.add_development_dependency 'rubocop', '~> 0.93.1'
|
43
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 1.44.1'
|
44
44
|
spec.add_development_dependency 'simplecov'
|
45
45
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sober_swag
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.19.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anthony Super
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -126,30 +126,30 @@ dependencies:
|
|
126
126
|
name: rubocop
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - "
|
129
|
+
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
131
|
+
version: 0.93.1
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- - "
|
136
|
+
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
138
|
+
version: 0.93.1
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: rubocop-rspec
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- - "
|
143
|
+
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
145
|
+
version: 1.44.1
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- - "
|
150
|
+
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
152
|
+
version: 1.44.1
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: simplecov
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -172,6 +172,7 @@ extensions: []
|
|
172
172
|
extra_rdoc_files: []
|
173
173
|
files:
|
174
174
|
- ".github/config/rubocop_linter_action.yml"
|
175
|
+
- ".github/dependabot.yml"
|
175
176
|
- ".github/workflows/lint.yml"
|
176
177
|
- ".github/workflows/ruby.yml"
|
177
178
|
- ".gitignore"
|
@@ -179,10 +180,13 @@ files:
|
|
179
180
|
- ".rubocop.yml"
|
180
181
|
- ".ruby-version"
|
181
182
|
- ".travis.yml"
|
183
|
+
- CHANGELOG.md
|
182
184
|
- Gemfile
|
183
185
|
- LICENSE.txt
|
184
186
|
- README.md
|
185
187
|
- Rakefile
|
188
|
+
- bin/console
|
189
|
+
- bin/rspec
|
186
190
|
- bin/setup
|
187
191
|
- docs/serializers.md
|
188
192
|
- example/.gitignore
|
@@ -248,6 +252,7 @@ files:
|
|
248
252
|
- lib/sober_swag/compiler/error.rb
|
249
253
|
- lib/sober_swag/compiler/path.rb
|
250
254
|
- lib/sober_swag/compiler/paths.rb
|
255
|
+
- lib/sober_swag/compiler/primitive.rb
|
251
256
|
- lib/sober_swag/compiler/type.rb
|
252
257
|
- lib/sober_swag/controller.rb
|
253
258
|
- lib/sober_swag/controller/route.rb
|
@@ -283,7 +288,10 @@ files:
|
|
283
288
|
- lib/sober_swag/serializer/optional.rb
|
284
289
|
- lib/sober_swag/serializer/primitive.rb
|
285
290
|
- lib/sober_swag/server.rb
|
291
|
+
- lib/sober_swag/type.rb
|
292
|
+
- lib/sober_swag/type/named.rb
|
286
293
|
- lib/sober_swag/types.rb
|
294
|
+
- lib/sober_swag/types/comma_array.rb
|
287
295
|
- lib/sober_swag/version.rb
|
288
296
|
- sober_swag.gemspec
|
289
297
|
homepage: https://github.com/SonderMindOrg/sober_swag
|