svelte 0.1.5 → 0.2.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 +5 -5
- data/.gitignore +2 -0
- data/.rubocop.yml +1 -1
- data/.ruby-version +1 -1
- data/.travis.yml +2 -3
- data/Gemfile +2 -0
- data/README.md +37 -1
- data/Rakefile +2 -0
- data/bin/console +1 -0
- data/lib/svelte.rb +9 -0
- data/lib/svelte/configuration.rb +4 -1
- data/lib/svelte/errors.rb +2 -0
- data/lib/svelte/errors/http_error.rb +3 -1
- data/lib/svelte/errors/json_error.rb +2 -0
- data/lib/svelte/errors/parameter_error.rb +2 -0
- data/lib/svelte/errors/version_error.rb +2 -0
- data/lib/svelte/generic_operation.rb +14 -4
- data/lib/svelte/model_factory.rb +4 -0
- data/lib/svelte/model_factory/parameter.rb +4 -1
- data/lib/svelte/operation.rb +2 -0
- data/lib/svelte/operation_builder.rb +5 -1
- data/lib/svelte/path.rb +3 -1
- data/lib/svelte/path_builder.rb +2 -0
- data/lib/svelte/rest_client.rb +3 -1
- data/lib/svelte/service.rb +38 -4
- data/lib/svelte/string_manipulator.rb +5 -5
- data/lib/svelte/swagger_builder.rb +14 -11
- data/lib/svelte/version.rb +3 -1
- data/svelte.gemspec +9 -8
- metadata +30 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a8aabcb7e5bafe83a0ad58ec737e2714afc5b2a6cb11264755dda73d2fd23a41
|
4
|
+
data.tar.gz: 96215b0581084eb9d196838ab9ef329030ec6e1cb80103a6b6e9ae0c15627ffd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2324bc8a06b283b780e6cff3f711609de82c0e1f06e504baaad12cf0200ef2a31ccf05c0027e785f1a00f9b542d5a8dfa2f868385cd6758928463a96eae4aca3
|
7
|
+
data.tar.gz: 92d72d2a0538d3aee9eb6e27826812dc489e0fb6ff3c200a2cb543e817d146a7756d833131c50c2df678ce42505d59c795b897e3e27b89c6269b4e951f9d8af7
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
AllCops:
|
2
|
-
TargetRubyVersion: 2.
|
2
|
+
TargetRubyVersion: 2.6
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.6.0
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -6,6 +6,8 @@ It reads a Swagger specification file in JSON, and automatically generates Resou
|
|
6
6
|
|
7
7
|
[](http://travis-ci.org/notonthehighstreet/svelte)
|
8
8
|
[](https://codeclimate.com/github/notonthehighstreet/svelte)
|
9
|
+
[](https://depfu.com/github/notonthehighstreet/svelte?project_id=6754)
|
10
|
+
[](https://depfu.com/github/notonthehighstreet/svelte?project_id=6754)
|
9
11
|
|
10
12
|
## Installation
|
11
13
|
|
@@ -184,7 +186,41 @@ view.valid? # true
|
|
184
186
|
view.as_json # {:currencyCode=>"GBP", :amount=>40.0}
|
185
187
|
```
|
186
188
|
|
187
|
-
### Options
|
189
|
+
### Service Options
|
190
|
+
|
191
|
+
When creating a client from the API spec, you can pass an `options` hash that will determine how the HTTP client interacts with your service.
|
192
|
+
|
193
|
+
```ruby
|
194
|
+
Svelte::Service.create(
|
195
|
+
url: "http://path/to/swagger/spec/resource.json",
|
196
|
+
module_name: 'PetStore',
|
197
|
+
options: {
|
198
|
+
host: 'somehost.com',
|
199
|
+
base_path: '/api/v1',
|
200
|
+
protocol: 'https',
|
201
|
+
auth: {
|
202
|
+
basic: {
|
203
|
+
username: "user",
|
204
|
+
password: "pass"
|
205
|
+
}
|
206
|
+
},
|
207
|
+
headers: {
|
208
|
+
runas: 'otheruser'
|
209
|
+
}
|
210
|
+
})
|
211
|
+
```
|
212
|
+
|
213
|
+
The available options are:
|
214
|
+
- `host` : overrides the `host` value found in the Swagger API spec, used when making API requests
|
215
|
+
- `base_path` : overrides the `basePath` value found in the Swagger API spec, used when making API requests
|
216
|
+
- `protocol` : overrides the network protocol used (default value is "http" when not present)
|
217
|
+
- `auth` : sets optional authorization headers. Possible values:
|
218
|
+
- `{ basic: { username: "value", password: "value" } }` : sets basic authentication credentials
|
219
|
+
- `{ token: "Bearer 12345" }` : sets a generic Authorization header (in this case a Bearer token `12345`)
|
220
|
+
- `headers` : a collection of arbitrary key/value pairs converted to HTTP request headers included with each outgoing request
|
221
|
+
|
222
|
+
|
223
|
+
### Request Options
|
188
224
|
|
189
225
|
You can specify a timeout option on a per request basis. If the request times out a `Svelte::TimeoutError` exception
|
190
226
|
will be raised.
|
data/Rakefile
CHANGED
data/bin/console
CHANGED
data/lib/svelte.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'json'
|
2
4
|
require 'svelte/version'
|
3
5
|
require 'svelte/string_manipulator'
|
@@ -29,6 +31,13 @@ module Svelte
|
|
29
31
|
# @param json [String] the entire Swagger spec as a String
|
30
32
|
# @param module_name [String] constant name where you want Svelte to build
|
31
33
|
# the new functionality on top of
|
34
|
+
# @param options [Hash] configuration options when making HTTP requests
|
35
|
+
# Supported values are:
|
36
|
+
# :auth [Hash] either { token: "value" } or { basic: { username: "value", password: "value" }}
|
37
|
+
# :headers [Hash] HTTP request headers
|
38
|
+
# :host [String] overrides the "host" value in the Swagger spec
|
39
|
+
# :base_path [String] overrides the "basePath" value in the Swagger spec
|
40
|
+
# :protocol [String] overrides the network protocol used (defaults to "http")
|
32
41
|
# @note Either `url` or `json` need to be provided. `url` will take
|
33
42
|
# precedence over `json`
|
34
43
|
def self.create(url: nil, json: nil, module_name:, options: {})
|
data/lib/svelte/configuration.rb
CHANGED
@@ -1,14 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Svelte
|
2
4
|
# Holds miscelanious configuration options for the current
|
3
5
|
# Swagger API specification
|
4
6
|
class Configuration
|
5
|
-
attr_reader :host, :base_path, :protocol
|
7
|
+
attr_reader :host, :base_path, :protocol, :headers
|
6
8
|
# Creates a new Configuration instance
|
7
9
|
# @param options [Hash] configuration options
|
8
10
|
def initialize(options:)
|
9
11
|
@host = options[:host]
|
10
12
|
@base_path = options[:base_path]
|
11
13
|
@protocol = options[:protocol] || default_protocol
|
14
|
+
@headers = options[:headers]
|
12
15
|
end
|
13
16
|
|
14
17
|
private
|
data/lib/svelte/errors.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Svelte
|
2
4
|
# Svelte error class to represent networking errors
|
3
5
|
# It can be customized by passing a specific errror message and
|
@@ -11,7 +13,7 @@ module Svelte
|
|
11
13
|
# @param parent the parent exception
|
12
14
|
def initialize(message: nil, parent: nil)
|
13
15
|
@parent = parent
|
14
|
-
super(message || (parent
|
16
|
+
super(message || (parent&.message))
|
15
17
|
end
|
16
18
|
end
|
17
19
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Svelte
|
2
4
|
# Class that handles the actual execution of dynamically generated operations
|
3
5
|
# Each created operation will eventually call this class in order to make the
|
@@ -17,10 +19,12 @@ module Svelte
|
|
17
19
|
parameters: parameters)
|
18
20
|
request_parameters = clean_parameters(path: path,
|
19
21
|
parameters: parameters)
|
22
|
+
request_options = build_request_options(configuration: configuration,
|
23
|
+
options: options)
|
20
24
|
RestClient.call(verb: verb,
|
21
25
|
url: url,
|
22
26
|
params: request_parameters,
|
23
|
-
options:
|
27
|
+
options: request_options)
|
24
28
|
end
|
25
29
|
|
26
30
|
private
|
@@ -30,9 +34,7 @@ module Svelte
|
|
30
34
|
protocol = configuration.protocol
|
31
35
|
host = configuration.host
|
32
36
|
base_path = configuration.base_path
|
33
|
-
if base_path == '/'
|
34
|
-
base_path = ''
|
35
|
-
end
|
37
|
+
base_path = '' if base_path == '/'
|
36
38
|
"#{protocol}://#{host}#{base_path}#{url_path}"
|
37
39
|
end
|
38
40
|
|
@@ -55,6 +57,14 @@ module Svelte
|
|
55
57
|
end
|
56
58
|
clean_parameters
|
57
59
|
end
|
60
|
+
|
61
|
+
def build_request_options(configuration:, options:)
|
62
|
+
if configuration.headers&.any?
|
63
|
+
return (options || {}).merge(headers: configuration.headers)
|
64
|
+
end
|
65
|
+
|
66
|
+
options
|
67
|
+
end
|
58
68
|
end
|
59
69
|
end
|
60
70
|
end
|
data/lib/svelte/model_factory.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'svelte/model_factory/parameter'
|
2
4
|
|
3
5
|
module Svelte
|
@@ -11,6 +13,7 @@ module Svelte
|
|
11
13
|
# @return [Hash] A hash of model names to models created
|
12
14
|
def define_models(json)
|
13
15
|
return unless json
|
16
|
+
|
14
17
|
models = {}
|
15
18
|
model_definitions = json['definitions']
|
16
19
|
model_definitions.each do |model_name, parameters|
|
@@ -83,6 +86,7 @@ module Svelte
|
|
83
86
|
required_nested_models = nested_models.keys & required_attributes
|
84
87
|
nested_models.each do |nested_model_name, nested_model_info|
|
85
88
|
return unless required_nested_models.include?(nested_model_name)
|
89
|
+
|
86
90
|
nested_class_name = public_send("#{nested_model_name}=",
|
87
91
|
nested_model_info['$ref']
|
88
92
|
.split('/').last)
|
@@ -1,8 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Svelte
|
2
4
|
module ModelFactory
|
3
5
|
# Helper class to wrap around all parameters
|
4
6
|
class Parameter
|
5
|
-
|
6
7
|
# Constant to represent an unset parameter
|
7
8
|
UNSET = Class.new
|
8
9
|
|
@@ -83,11 +84,13 @@ module Svelte
|
|
83
84
|
def validate_required
|
84
85
|
return true unless @required
|
85
86
|
return false if unset?
|
87
|
+
|
86
88
|
true
|
87
89
|
end
|
88
90
|
|
89
91
|
def validate_value_in_enum
|
90
92
|
return true if @permitted_values.empty?
|
93
|
+
|
91
94
|
@permitted_values.include?(value)
|
92
95
|
end
|
93
96
|
|
data/lib/svelte/operation.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Svelte
|
2
4
|
# Dynamically builds Swagger API operations on top of a given module
|
3
5
|
class OperationBuilder
|
@@ -15,7 +17,8 @@ module Svelte
|
|
15
17
|
path: operation.path,
|
16
18
|
configuration: configuration,
|
17
19
|
parameters: builder.request_parameters(full_parameters: parameters),
|
18
|
-
options: builder.options(full_parameters: parameters)
|
20
|
+
options: builder.options(full_parameters: parameters)
|
21
|
+
)
|
19
22
|
end
|
20
23
|
end
|
21
24
|
|
@@ -28,6 +31,7 @@ module Svelte
|
|
28
31
|
# @note All keys will be transformed from `Symbol` to `String`
|
29
32
|
def request_parameters(full_parameters:)
|
30
33
|
return {} if full_parameters.compact.empty?
|
34
|
+
|
31
35
|
full_parameters.first.inject({}) do |memo, (k, v)|
|
32
36
|
memo.merge!(k.to_s => v)
|
33
37
|
end
|
data/lib/svelte/path.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Svelte
|
2
4
|
# Describes a Swagger API Path
|
3
5
|
class Path
|
@@ -34,7 +36,7 @@ module Svelte
|
|
34
36
|
|
35
37
|
def validate_operations
|
36
38
|
unless @raw_operations.is_a?(Hash)
|
37
|
-
raise JSONError,
|
39
|
+
raise JSONError, 'Expected the path to contain a list of operations'
|
38
40
|
end
|
39
41
|
end
|
40
42
|
end
|
data/lib/svelte/path_builder.rb
CHANGED
data/lib/svelte/rest_client.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'faraday'
|
2
4
|
require 'faraday_middleware'
|
3
5
|
require 'typhoeus'
|
@@ -7,7 +9,6 @@ module Svelte
|
|
7
9
|
# Rest client to make requests to the service endpoints
|
8
10
|
class RestClient
|
9
11
|
class << self
|
10
|
-
|
11
12
|
# Makes an http call to a given REST endpoint
|
12
13
|
# @param verb [String] http verb to use for the request
|
13
14
|
# (`get`, `post`, `put`, etc.)
|
@@ -21,6 +22,7 @@ module Svelte
|
|
21
22
|
def call(verb:, url:, params: {}, options: {})
|
22
23
|
connection.send verb, url, params do |request|
|
23
24
|
request.options.timeout = options[:timeout] if options[:timeout]
|
25
|
+
options[:headers]&.each { |key, value| request.headers[key] = value }
|
24
26
|
end
|
25
27
|
rescue Faraday::TimeoutError => e
|
26
28
|
raise HTTPError.new(parent: e)
|
data/lib/svelte/service.rb
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'base64'
|
4
|
+
|
1
5
|
module Svelte
|
2
6
|
# Dynamically generates a client to consume a Swagger API
|
3
7
|
class Service
|
@@ -7,6 +11,9 @@ module Svelte
|
|
7
11
|
# @param json [String] full Swagger API spec as a String
|
8
12
|
# @param module_name [String] constant name where Svelte will
|
9
13
|
# build the functionality on top of
|
14
|
+
# @param options [Hash] options passed as configuration to the
|
15
|
+
# generated Swagger objects. :auth options will also be
|
16
|
+
# used here when making the initial Swagger spec request.
|
10
17
|
# @return [Module] A newly created `Module` with the
|
11
18
|
# module hierarchy and methods to consume the Swagger API
|
12
19
|
# The new module will be built on top of `Svelte::Service` and will
|
@@ -17,22 +24,49 @@ module Svelte
|
|
17
24
|
# @note Either `url` or `json` need to be provided. `url` will take
|
18
25
|
# precedence over `json`
|
19
26
|
def create(url: nil, json: nil, module_name:, options: {})
|
20
|
-
|
27
|
+
headers = build_headers(options: options)
|
28
|
+
json = get_json(url: url, headers: headers) if url
|
29
|
+
|
21
30
|
SwaggerBuilder.new(raw_hash: JSON.parse(json.to_s),
|
22
31
|
module_name: module_name,
|
23
|
-
options: options
|
32
|
+
options: options,
|
33
|
+
headers: headers).make_resource
|
24
34
|
end
|
25
35
|
|
26
36
|
private
|
27
37
|
|
28
|
-
def get_json(url:)
|
29
|
-
Faraday.
|
38
|
+
def get_json(url:, headers:)
|
39
|
+
connection = Faraday.new(url: url)
|
40
|
+
headers.each { |key, value| connection.headers[key] = value }
|
41
|
+
connection.get.body
|
30
42
|
rescue Faraday::ClientError => e
|
31
43
|
raise HTTPError.new(
|
32
44
|
message: "Could not get API json from #{url}",
|
33
45
|
parent: e
|
34
46
|
)
|
35
47
|
end
|
48
|
+
|
49
|
+
def build_headers(options:)
|
50
|
+
headers = options[:headers].is_a?(Hash) ? options[:headers].clone : {}
|
51
|
+
|
52
|
+
if options[:auth]
|
53
|
+
basic = options[:auth][:basic]
|
54
|
+
token = options[:auth][:token]
|
55
|
+
|
56
|
+
if basic
|
57
|
+
credentials = Base64.encode64([
|
58
|
+
basic[:username],
|
59
|
+
basic[:password]
|
60
|
+
].join(':')).chomp
|
61
|
+
|
62
|
+
headers['Authorization'] = "Basic #{credentials}"
|
63
|
+
elsif token
|
64
|
+
headers['Authorization'] = token
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
headers
|
69
|
+
end
|
36
70
|
end
|
37
71
|
end
|
38
72
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Svelte
|
2
4
|
# Provides helper methods to manipulate strings in order to generate
|
3
5
|
# valid constant and method names from them
|
@@ -43,9 +45,7 @@ module Svelte
|
|
43
45
|
|
44
46
|
def pascalize(string)
|
45
47
|
string.split('-').map do |dash|
|
46
|
-
dash.split('_').map
|
47
|
-
underscore.split
|
48
|
-
end.flatten
|
48
|
+
dash.split('_').map(&:split).flatten
|
49
49
|
end.flatten.map(&method(:capitalize_first_char)).join
|
50
50
|
end
|
51
51
|
|
@@ -54,8 +54,8 @@ module Svelte
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def snakify(string)
|
57
|
-
string.gsub(/\s+/, '_')
|
58
|
-
|
57
|
+
string.gsub(/\s+/, '_')
|
58
|
+
.gsub('-', '_').
|
59
59
|
# This first regex handles the case of a string ending in an acroynm
|
60
60
|
gsub(/([a-z])([A-Z]+)\z/, '\1_\2').
|
61
61
|
# This regex then handles acronyms in other places, including at
|
@@ -1,17 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Svelte
|
2
4
|
# Dynamically builds Swagger API paths and operations on top of a given module
|
3
5
|
class SwaggerBuilder
|
4
|
-
attr_reader :raw_hash, :module_name, :configuration
|
6
|
+
attr_reader :raw_hash, :module_name, :configuration, :headers
|
5
7
|
|
6
8
|
# Creates a new SwaggerBuilder
|
7
9
|
# @param raw_hash [Hash] Swagger API definition
|
8
10
|
# @param module_name [String] name of the constant you want built
|
9
11
|
# @param options [Hash] Swagger API options. It will be used to build the
|
10
|
-
# [Configuration].
|
11
|
-
|
12
|
+
# [Configuration]. Supported values: ":host", ":base_path", ":protocol"
|
13
|
+
# @param headers [Hash] REST client HTTP request headers
|
14
|
+
def initialize(raw_hash:, module_name:, options:, headers:)
|
12
15
|
@raw_hash = raw_hash
|
13
16
|
@module_name = module_name
|
14
|
-
@configuration = build_configuration(options)
|
17
|
+
@configuration = build_configuration(options, headers)
|
18
|
+
@headers = headers
|
15
19
|
validate
|
16
20
|
end
|
17
21
|
|
@@ -51,11 +55,12 @@ module Svelte
|
|
51
55
|
|
52
56
|
private
|
53
57
|
|
54
|
-
def build_configuration(_options)
|
58
|
+
def build_configuration(_options, headers)
|
55
59
|
options = {
|
56
|
-
|
57
|
-
|
58
|
-
|
60
|
+
host: _options[:host] || host,
|
61
|
+
base_path: _options[:base_path] || base_path,
|
62
|
+
protocol: _options[:protocol],
|
63
|
+
headers: headers || {}
|
59
64
|
}
|
60
65
|
Configuration.new(options: options)
|
61
66
|
end
|
@@ -68,9 +73,7 @@ module Svelte
|
|
68
73
|
end
|
69
74
|
|
70
75
|
def validate_version
|
71
|
-
if raw_hash['swagger'] != '2.0'
|
72
|
-
raise VersionError
|
73
|
-
end
|
76
|
+
raise VersionError if raw_hash['swagger'] != '2.0'
|
74
77
|
end
|
75
78
|
|
76
79
|
def validate_paths
|
data/lib/svelte/version.rb
CHANGED
data/svelte.gemspec
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
-
#
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'svelte/version'
|
5
6
|
|
@@ -17,18 +18,18 @@ Gem::Specification.new do |spec|
|
|
17
18
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
18
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
20
|
spec.require_paths = ['lib']
|
20
|
-
spec.required_ruby_version = '~> 2.
|
21
|
+
spec.required_ruby_version = '~> 2.4'
|
21
22
|
|
22
23
|
spec.add_dependency 'faraday', '~> 0.9'
|
23
24
|
spec.add_dependency 'faraday_middleware', '~> 0.10'
|
24
25
|
spec.add_dependency 'typhoeus', '~> 1.0'
|
25
26
|
|
26
|
-
spec.add_development_dependency '
|
27
|
+
spec.add_development_dependency 'codeclimate-test-reporter'
|
28
|
+
spec.add_development_dependency 'rake', '~> 12.3'
|
27
29
|
spec.add_development_dependency 'redcarpet', '~> 3.3'
|
28
30
|
spec.add_development_dependency 'rspec', '~> 3.4'
|
31
|
+
spec.add_development_dependency 'rubocop'
|
29
32
|
spec.add_development_dependency 'simplecov', '~> 0.11'
|
30
|
-
spec.add_development_dependency 'webmock', '~>
|
31
|
-
spec.add_development_dependency 'yard'
|
32
|
-
spec.add_development_dependency 'rubocop', '~> 0.36'
|
33
|
-
spec.add_development_dependency 'codeclimate-test-reporter'
|
33
|
+
spec.add_development_dependency 'webmock', '~> 3.6'
|
34
|
+
spec.add_development_dependency 'yard'
|
34
35
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: svelte
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- notonthehighstreet.com
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-07-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -53,105 +53,105 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: codeclimate-test-reporter
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '12.3'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '12.3'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: redcarpet
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '3.
|
89
|
+
version: '3.3'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '3.
|
96
|
+
version: '3.3'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: rspec
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
103
|
+
version: '3.4'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
110
|
+
version: '3.4'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: rubocop
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
117
|
+
version: '0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "
|
122
|
+
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
124
|
+
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: simplecov
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: '0.
|
131
|
+
version: '0.11'
|
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: '0.
|
138
|
+
version: '0.11'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
140
|
+
name: webmock
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
143
|
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
145
|
+
version: '3.6'
|
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: '3.6'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
154
|
+
name: yard
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
157
|
- - ">="
|
@@ -217,15 +217,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
217
217
|
requirements:
|
218
218
|
- - "~>"
|
219
219
|
- !ruby/object:Gem::Version
|
220
|
-
version: '2.
|
220
|
+
version: '2.4'
|
221
221
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
222
222
|
requirements:
|
223
223
|
- - ">="
|
224
224
|
- !ruby/object:Gem::Version
|
225
225
|
version: '0'
|
226
226
|
requirements: []
|
227
|
-
|
228
|
-
rubygems_version: 2.6.14
|
227
|
+
rubygems_version: 3.0.1
|
229
228
|
signing_key:
|
230
229
|
specification_version: 4
|
231
230
|
summary: Dynamic Ruby API Client from Swagger JSON Spec
|