skooma 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +22 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +125 -0
  5. data/data/oas-3.1/dialect/base.json +25 -0
  6. data/data/oas-3.1/meta/base.json +96 -0
  7. data/data/oas-3.1/schema/2022-10-07.json +1441 -0
  8. data/data/oas-3.1/schema-base/2022-10-07.json +23 -0
  9. data/lib/skooma/body_parsers.rb +31 -0
  10. data/lib/skooma/dialects/oas_3_1.rb +41 -0
  11. data/lib/skooma/inflector.rb +19 -0
  12. data/lib/skooma/instance.rb +112 -0
  13. data/lib/skooma/keywords/oas_3_1/dialect/discriminator.rb +13 -0
  14. data/lib/skooma/keywords/oas_3_1/dialect/example.rb +13 -0
  15. data/lib/skooma/keywords/oas_3_1/dialect/external_docs.rb +13 -0
  16. data/lib/skooma/keywords/oas_3_1/dialect/xml.rb +13 -0
  17. data/lib/skooma/keywords/oas_3_1/schema.rb +32 -0
  18. data/lib/skooma/keywords/oas_3_1.rb +22 -0
  19. data/lib/skooma/objects/base/keywords/deprecated.rb +13 -0
  20. data/lib/skooma/objects/base/keywords/description.rb +13 -0
  21. data/lib/skooma/objects/base/keywords/security.rb +13 -0
  22. data/lib/skooma/objects/base/keywords/servers.rb +13 -0
  23. data/lib/skooma/objects/base/keywords/summary.rb +13 -0
  24. data/lib/skooma/objects/base/keywords/tags.rb +13 -0
  25. data/lib/skooma/objects/base.rb +33 -0
  26. data/lib/skooma/objects/callback.rb +12 -0
  27. data/lib/skooma/objects/components.rb +30 -0
  28. data/lib/skooma/objects/header/keywords/content.rb +50 -0
  29. data/lib/skooma/objects/header/keywords/example.rb +13 -0
  30. data/lib/skooma/objects/header/keywords/examples.rb +13 -0
  31. data/lib/skooma/objects/header/keywords/explode.rb +13 -0
  32. data/lib/skooma/objects/header/keywords/required.rb +19 -0
  33. data/lib/skooma/objects/header/keywords/schema.rb +19 -0
  34. data/lib/skooma/objects/header/keywords/style.rb +13 -0
  35. data/lib/skooma/objects/header.rb +23 -0
  36. data/lib/skooma/objects/media_type.rb +14 -0
  37. data/lib/skooma/objects/openapi/keywords/components.rb +23 -0
  38. data/lib/skooma/objects/openapi/keywords/info.rb +13 -0
  39. data/lib/skooma/objects/openapi/keywords/json_schema_dialect.rb +21 -0
  40. data/lib/skooma/objects/openapi/keywords/openapi.rb +24 -0
  41. data/lib/skooma/objects/openapi/keywords/paths.rb +62 -0
  42. data/lib/skooma/objects/openapi/keywords/security.rb +13 -0
  43. data/lib/skooma/objects/openapi/keywords/webhooks.rb +15 -0
  44. data/lib/skooma/objects/openapi.rb +39 -0
  45. data/lib/skooma/objects/operation/keywords/callbacks.rb +13 -0
  46. data/lib/skooma/objects/operation/keywords/operation_id.rb +13 -0
  47. data/lib/skooma/objects/operation/keywords/parameters.rb +53 -0
  48. data/lib/skooma/objects/operation/keywords/request_body.rb +21 -0
  49. data/lib/skooma/objects/operation/keywords/responses.rb +48 -0
  50. data/lib/skooma/objects/operation.rb +31 -0
  51. data/lib/skooma/objects/parameter/keywords/allow_empty_value.rb +13 -0
  52. data/lib/skooma/objects/parameter/keywords/allow_reserved.rb +13 -0
  53. data/lib/skooma/objects/parameter/keywords/content.rb +21 -0
  54. data/lib/skooma/objects/parameter/keywords/in.rb +13 -0
  55. data/lib/skooma/objects/parameter/keywords/name.rb +13 -0
  56. data/lib/skooma/objects/parameter/keywords/required.rb +19 -0
  57. data/lib/skooma/objects/parameter/keywords/schema.rb +21 -0
  58. data/lib/skooma/objects/parameter/keywords/value_parser.rb +80 -0
  59. data/lib/skooma/objects/parameter.rb +27 -0
  60. data/lib/skooma/objects/path_item/keywords/base_operation.rb +25 -0
  61. data/lib/skooma/objects/path_item/keywords/delete.rb +16 -0
  62. data/lib/skooma/objects/path_item/keywords/get.rb +16 -0
  63. data/lib/skooma/objects/path_item/keywords/head.rb +16 -0
  64. data/lib/skooma/objects/path_item/keywords/options.rb +16 -0
  65. data/lib/skooma/objects/path_item/keywords/parameters.rb +19 -0
  66. data/lib/skooma/objects/path_item/keywords/patch.rb +16 -0
  67. data/lib/skooma/objects/path_item/keywords/post.rb +16 -0
  68. data/lib/skooma/objects/path_item/keywords/put.rb +16 -0
  69. data/lib/skooma/objects/path_item/keywords/trace.rb +16 -0
  70. data/lib/skooma/objects/path_item.rb +28 -0
  71. data/lib/skooma/objects/ref_base.rb +33 -0
  72. data/lib/skooma/objects/request_body/keywords/required.rb +19 -0
  73. data/lib/skooma/objects/request_body.rb +17 -0
  74. data/lib/skooma/objects/response/keywords/content.rb +51 -0
  75. data/lib/skooma/objects/response/keywords/headers.rb +37 -0
  76. data/lib/skooma/objects/response/keywords/links.rb +13 -0
  77. data/lib/skooma/objects/response.rb +18 -0
  78. data/lib/skooma/output_format.rb +35 -0
  79. data/lib/skooma/rspec.rb +166 -0
  80. data/lib/skooma/validators/double.rb +13 -0
  81. data/lib/skooma/validators/float.rb +13 -0
  82. data/lib/skooma/validators/int_32.rb +15 -0
  83. data/lib/skooma/validators/int_64.rb +15 -0
  84. data/lib/skooma/version.rb +5 -0
  85. data/lib/skooma.rb +26 -0
  86. metadata +161 -0
metadata ADDED
@@ -0,0 +1,161 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: skooma
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Svyatoslav Kryukov
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-09-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: zeitwerk
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.6'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: json_skooma
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.1'
41
+ description: I bring some sugar for your APIs.
42
+ email:
43
+ - s.g.kryukov@yandex.ru
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - CHANGELOG.md
49
+ - LICENSE.txt
50
+ - README.md
51
+ - data/oas-3.1/dialect/base.json
52
+ - data/oas-3.1/meta/base.json
53
+ - data/oas-3.1/schema-base/2022-10-07.json
54
+ - data/oas-3.1/schema/2022-10-07.json
55
+ - lib/skooma.rb
56
+ - lib/skooma/body_parsers.rb
57
+ - lib/skooma/dialects/oas_3_1.rb
58
+ - lib/skooma/inflector.rb
59
+ - lib/skooma/instance.rb
60
+ - lib/skooma/keywords/oas_3_1.rb
61
+ - lib/skooma/keywords/oas_3_1/dialect/discriminator.rb
62
+ - lib/skooma/keywords/oas_3_1/dialect/example.rb
63
+ - lib/skooma/keywords/oas_3_1/dialect/external_docs.rb
64
+ - lib/skooma/keywords/oas_3_1/dialect/xml.rb
65
+ - lib/skooma/keywords/oas_3_1/schema.rb
66
+ - lib/skooma/objects/base.rb
67
+ - lib/skooma/objects/base/keywords/deprecated.rb
68
+ - lib/skooma/objects/base/keywords/description.rb
69
+ - lib/skooma/objects/base/keywords/security.rb
70
+ - lib/skooma/objects/base/keywords/servers.rb
71
+ - lib/skooma/objects/base/keywords/summary.rb
72
+ - lib/skooma/objects/base/keywords/tags.rb
73
+ - lib/skooma/objects/callback.rb
74
+ - lib/skooma/objects/components.rb
75
+ - lib/skooma/objects/header.rb
76
+ - lib/skooma/objects/header/keywords/content.rb
77
+ - lib/skooma/objects/header/keywords/example.rb
78
+ - lib/skooma/objects/header/keywords/examples.rb
79
+ - lib/skooma/objects/header/keywords/explode.rb
80
+ - lib/skooma/objects/header/keywords/required.rb
81
+ - lib/skooma/objects/header/keywords/schema.rb
82
+ - lib/skooma/objects/header/keywords/style.rb
83
+ - lib/skooma/objects/media_type.rb
84
+ - lib/skooma/objects/openapi.rb
85
+ - lib/skooma/objects/openapi/keywords/components.rb
86
+ - lib/skooma/objects/openapi/keywords/info.rb
87
+ - lib/skooma/objects/openapi/keywords/json_schema_dialect.rb
88
+ - lib/skooma/objects/openapi/keywords/openapi.rb
89
+ - lib/skooma/objects/openapi/keywords/paths.rb
90
+ - lib/skooma/objects/openapi/keywords/security.rb
91
+ - lib/skooma/objects/openapi/keywords/webhooks.rb
92
+ - lib/skooma/objects/operation.rb
93
+ - lib/skooma/objects/operation/keywords/callbacks.rb
94
+ - lib/skooma/objects/operation/keywords/operation_id.rb
95
+ - lib/skooma/objects/operation/keywords/parameters.rb
96
+ - lib/skooma/objects/operation/keywords/request_body.rb
97
+ - lib/skooma/objects/operation/keywords/responses.rb
98
+ - lib/skooma/objects/parameter.rb
99
+ - lib/skooma/objects/parameter/keywords/allow_empty_value.rb
100
+ - lib/skooma/objects/parameter/keywords/allow_reserved.rb
101
+ - lib/skooma/objects/parameter/keywords/content.rb
102
+ - lib/skooma/objects/parameter/keywords/in.rb
103
+ - lib/skooma/objects/parameter/keywords/name.rb
104
+ - lib/skooma/objects/parameter/keywords/required.rb
105
+ - lib/skooma/objects/parameter/keywords/schema.rb
106
+ - lib/skooma/objects/parameter/keywords/value_parser.rb
107
+ - lib/skooma/objects/path_item.rb
108
+ - lib/skooma/objects/path_item/keywords/base_operation.rb
109
+ - lib/skooma/objects/path_item/keywords/delete.rb
110
+ - lib/skooma/objects/path_item/keywords/get.rb
111
+ - lib/skooma/objects/path_item/keywords/head.rb
112
+ - lib/skooma/objects/path_item/keywords/options.rb
113
+ - lib/skooma/objects/path_item/keywords/parameters.rb
114
+ - lib/skooma/objects/path_item/keywords/patch.rb
115
+ - lib/skooma/objects/path_item/keywords/post.rb
116
+ - lib/skooma/objects/path_item/keywords/put.rb
117
+ - lib/skooma/objects/path_item/keywords/trace.rb
118
+ - lib/skooma/objects/ref_base.rb
119
+ - lib/skooma/objects/request_body.rb
120
+ - lib/skooma/objects/request_body/keywords/required.rb
121
+ - lib/skooma/objects/response.rb
122
+ - lib/skooma/objects/response/keywords/content.rb
123
+ - lib/skooma/objects/response/keywords/headers.rb
124
+ - lib/skooma/objects/response/keywords/links.rb
125
+ - lib/skooma/output_format.rb
126
+ - lib/skooma/rspec.rb
127
+ - lib/skooma/validators/double.rb
128
+ - lib/skooma/validators/float.rb
129
+ - lib/skooma/validators/int_32.rb
130
+ - lib/skooma/validators/int_64.rb
131
+ - lib/skooma/version.rb
132
+ homepage: https://github.com/skryukov/skooma
133
+ licenses:
134
+ - MIT
135
+ metadata:
136
+ bug_tracker_uri: https://github.com/skryukov/skooma/issues
137
+ changelog_uri: https://github.com/skryukov/skooma/blob/main/CHANGELOG.md
138
+ documentation_uri: https://github.com/skryukov/skooma/blob/main/README.md
139
+ homepage_uri: https://github.com/skryukov/skooma
140
+ source_code_uri: https://github.com/skryukov/skooma
141
+ rubygems_mfa_required: 'true'
142
+ post_install_message:
143
+ rdoc_options: []
144
+ require_paths:
145
+ - lib
146
+ required_ruby_version: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: 2.6.0
151
+ required_rubygems_version: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ version: '0'
156
+ requirements: []
157
+ rubygems_version: 3.3.7
158
+ signing_key:
159
+ specification_version: 4
160
+ summary: I bring some sugar for your APIs.
161
+ test_files: []