interpol 0.0.6 → 0.0.7
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.
- data/lib/interpol/configuration.rb +3 -1
- data/lib/interpol/endpoint.rb +8 -8
- data/lib/interpol/version.rb +1 -1
- metadata +73 -22
@@ -91,9 +91,11 @@ module Interpol
|
|
91
91
|
|
92
92
|
# 1.9 version
|
93
93
|
include Module.new {
|
94
|
+
BAD_ALIAS_ERROR = defined?(::Psych::BadAlias) ?
|
95
|
+
::Psych::BadAlias : TypeError
|
94
96
|
def deserialized_hash_from(file)
|
95
97
|
YAML.load(yaml_content_for file)
|
96
|
-
rescue
|
98
|
+
rescue BAD_ALIAS_ERROR => e
|
97
99
|
raise ConfigurationError.new \
|
98
100
|
"Received an error while loading YAML from #{file}: \"" +
|
99
101
|
"#{e.class}: #{e.message}\" If you are using YAML merge keys " +
|
data/lib/interpol/endpoint.rb
CHANGED
@@ -71,7 +71,7 @@ module Interpol
|
|
71
71
|
|
72
72
|
fetch_from(endpoint_hash, 'definitions').each do |definition|
|
73
73
|
fetch_from(definition, 'versions').each do |version|
|
74
|
-
definitions[version] = EndpointDefinition.new(
|
74
|
+
definitions[version] = EndpointDefinition.new(name, version, definition)
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
@@ -90,13 +90,13 @@ module Interpol
|
|
90
90
|
# Provides the means to validate data against that version of the schema.
|
91
91
|
class EndpointDefinition
|
92
92
|
include HashFetcher
|
93
|
-
attr_reader :
|
93
|
+
attr_reader :endpoint_name, :version, :schema, :examples
|
94
94
|
|
95
|
-
def initialize(
|
96
|
-
@
|
97
|
-
@version
|
98
|
-
@schema
|
99
|
-
@examples
|
95
|
+
def initialize(endpoint_name, version, definition)
|
96
|
+
@endpoint_name = endpoint_name
|
97
|
+
@version = version
|
98
|
+
@schema = fetch_from(definition, 'schema')
|
99
|
+
@examples = fetch_from(definition, 'examples').map { |e| EndpointExample.new(e, self) }
|
100
100
|
make_schema_strict!(@schema)
|
101
101
|
end
|
102
102
|
|
@@ -108,7 +108,7 @@ module Interpol
|
|
108
108
|
end
|
109
109
|
|
110
110
|
def description
|
111
|
-
"#{
|
111
|
+
"#{endpoint_name} (v. #{version})"
|
112
112
|
end
|
113
113
|
|
114
114
|
private
|
data/lib/interpol/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: interpol
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-05-
|
12
|
+
date: 2012-05-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json-schema
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: 1.0.5
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.0.5
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: nokogiri
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ~>
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '1.5'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '1.5'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: rspec
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ~>
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: '2.9'
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2.9'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: rspec-fire
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ~>
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: '0.4'
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0.4'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: simplecov
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ~>
|
@@ -65,10 +85,15 @@ dependencies:
|
|
65
85
|
version: '0.6'
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0.6'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: cane
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ~>
|
@@ -76,10 +101,15 @@ dependencies:
|
|
76
101
|
version: '1.2'
|
77
102
|
type: :development
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '1.2'
|
80
110
|
- !ruby/object:Gem::Dependency
|
81
111
|
name: tailor
|
82
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
83
113
|
none: false
|
84
114
|
requirements:
|
85
115
|
- - ~>
|
@@ -87,10 +117,15 @@ dependencies:
|
|
87
117
|
version: '0'
|
88
118
|
type: :development
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
91
126
|
- !ruby/object:Gem::Dependency
|
92
127
|
name: rake
|
93
|
-
requirement:
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
94
129
|
none: false
|
95
130
|
requirements:
|
96
131
|
- - ~>
|
@@ -98,18 +133,28 @@ dependencies:
|
|
98
133
|
version: 0.9.2.2
|
99
134
|
type: :development
|
100
135
|
prerelease: false
|
101
|
-
version_requirements:
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ~>
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 0.9.2.2
|
102
142
|
- !ruby/object:Gem::Dependency
|
103
143
|
name: rack-test
|
104
|
-
requirement:
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
105
145
|
none: false
|
106
146
|
requirements:
|
107
|
-
- - =
|
147
|
+
- - '='
|
108
148
|
- !ruby/object:Gem::Version
|
109
149
|
version: 0.6.1
|
110
150
|
type: :development
|
111
151
|
prerelease: false
|
112
|
-
version_requirements:
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - '='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: 0.6.1
|
113
158
|
description: Interpol is a toolkit for working with API endpoint definition files,
|
114
159
|
giving you a stub app, a schema validation middleware, and browsable documentation.
|
115
160
|
email:
|
@@ -171,15 +216,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
171
216
|
- - ! '>='
|
172
217
|
- !ruby/object:Gem::Version
|
173
218
|
version: '0'
|
219
|
+
segments:
|
220
|
+
- 0
|
221
|
+
hash: -1067555973545350731
|
174
222
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
175
223
|
none: false
|
176
224
|
requirements:
|
177
225
|
- - ! '>='
|
178
226
|
- !ruby/object:Gem::Version
|
179
227
|
version: '0'
|
228
|
+
segments:
|
229
|
+
- 0
|
230
|
+
hash: -1067555973545350731
|
180
231
|
requirements: []
|
181
232
|
rubyforge_project:
|
182
|
-
rubygems_version: 1.8.
|
233
|
+
rubygems_version: 1.8.24
|
183
234
|
signing_key:
|
184
235
|
specification_version: 3
|
185
236
|
summary: Interpol is a toolkit for policing your HTTP JSON interface.
|