interpol 0.7.3 → 0.8.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.
data/Gemfile CHANGED
@@ -17,3 +17,4 @@ gem 'sinatra', '>= 1.3.2', '< 2.0.0'
17
17
 
18
18
  gem 'cane', '~> 2.0', :platform => 'ruby_19'
19
19
 
20
+ gem 'rspec-fire', :git => 'git://github.com/xaviershay/rspec-fire.git', :branch => 'fix_use_of_should'
data/Rakefile CHANGED
@@ -18,6 +18,7 @@ if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'ruby' # MRI only
18
18
 
19
19
  cane.abc_exclude = %w[
20
20
  Interpol::StubApp::Builder#initialize
21
+ Interpol::EndpointDefinition#initialize
21
22
  ]
22
23
 
23
24
  cane.style_exclude = %w[
@@ -153,21 +153,22 @@ module Interpol
153
153
  class EndpointDefinition
154
154
  include HashFetcher
155
155
  attr_reader :endpoint, :message_type, :version, :schema,
156
- :path_params, :query_params, :examples
156
+ :path_params, :query_params, :examples, :custom_metadata
157
157
  extend Forwardable
158
158
  def_delegators :endpoint, :route
159
159
 
160
160
  DEFAULT_PARAM_HASH = { 'type' => 'object', 'properties' => {} }
161
161
 
162
162
  def initialize(endpoint, version, message_type, definition)
163
- @endpoint = endpoint
164
- @message_type = message_type
165
- @status_codes = StatusCodeMatcher.new(definition['status_codes'])
166
- @version = version
167
- @schema = fetch_from(definition, 'schema')
168
- @path_params = definition.fetch('path_params', DEFAULT_PARAM_HASH.dup)
169
- @query_params = definition.fetch('query_params', DEFAULT_PARAM_HASH.dup)
170
- @examples = extract_examples_from(definition)
163
+ @endpoint = endpoint
164
+ @message_type = message_type
165
+ @status_codes = StatusCodeMatcher.new(definition['status_codes'])
166
+ @version = version
167
+ @schema = fetch_from(definition, 'schema')
168
+ @path_params = definition.fetch('path_params', DEFAULT_PARAM_HASH.dup)
169
+ @query_params = definition.fetch('query_params', DEFAULT_PARAM_HASH.dup)
170
+ @examples = extract_examples_from(definition)
171
+ @custom_metadata = definition.fetch('meta') { {} }
171
172
  make_schema_strict!(@schema)
172
173
  end
173
174
 
@@ -1,3 +1,3 @@
1
1
  module Interpol
2
- VERSION = "0.7.3"
2
+ VERSION = "0.8.0"
3
3
  end
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.7.3
4
+ version: 0.8.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,168 +9,168 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-12 00:00:00.000000000 Z
12
+ date: 2013-01-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rack
16
+ prerelease: false
16
17
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
21
  version: '0'
22
+ none: false
22
23
  type: :runtime
23
- prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
25
  requirements:
27
26
  - - ! '>='
28
27
  - !ruby/object:Gem::Version
29
28
  version: '0'
29
+ none: false
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: json-schema
32
+ prerelease: false
32
33
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
34
  requirements:
35
35
  - - ~>
36
36
  - !ruby/object:Gem::Version
37
37
  version: 1.0.10
38
+ none: false
38
39
  type: :runtime
39
- prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
41
  requirements:
43
42
  - - ~>
44
43
  - !ruby/object:Gem::Version
45
44
  version: 1.0.10
45
+ none: false
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: nokogiri
48
+ prerelease: false
48
49
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
50
  requirements:
51
51
  - - ~>
52
52
  - !ruby/object:Gem::Version
53
53
  version: '1.5'
54
+ none: false
54
55
  type: :runtime
55
- prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
57
  requirements:
59
58
  - - ~>
60
59
  - !ruby/object:Gem::Version
61
60
  version: '1.5'
61
+ none: false
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: rspec
64
+ prerelease: false
64
65
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
66
  requirements:
67
67
  - - ~>
68
68
  - !ruby/object:Gem::Version
69
- version: '2.9'
69
+ version: '2.11'
70
+ none: false
70
71
  type: :development
71
- prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
73
  requirements:
75
74
  - - ~>
76
75
  - !ruby/object:Gem::Version
77
- version: '2.9'
76
+ version: '2.11'
77
+ none: false
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: rspec-fire
80
+ prerelease: false
80
81
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
82
  requirements:
83
83
  - - ~>
84
84
  - !ruby/object:Gem::Version
85
85
  version: '0.4'
86
+ none: false
86
87
  type: :development
87
- prerelease: false
88
88
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
89
  requirements:
91
90
  - - ~>
92
91
  - !ruby/object:Gem::Version
93
92
  version: '0.4'
93
+ none: false
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: simplecov
96
+ prerelease: false
96
97
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
98
  requirements:
99
99
  - - ~>
100
100
  - !ruby/object:Gem::Version
101
101
  version: '0.6'
102
+ none: false
102
103
  type: :development
103
- prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
105
  requirements:
107
106
  - - ~>
108
107
  - !ruby/object:Gem::Version
109
108
  version: '0.6'
109
+ none: false
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: tailor
112
+ prerelease: false
112
113
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
114
  requirements:
115
115
  - - ~>
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
+ none: false
118
119
  type: :development
119
- prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
121
  requirements:
123
122
  - - ~>
124
123
  - !ruby/object:Gem::Version
125
124
  version: '0'
125
+ none: false
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: rake
128
+ prerelease: false
128
129
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
130
  requirements:
131
131
  - - ~>
132
132
  - !ruby/object:Gem::Version
133
133
  version: 0.9.2.2
134
+ none: false
134
135
  type: :development
135
- prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
137
  requirements:
139
138
  - - ~>
140
139
  - !ruby/object:Gem::Version
141
140
  version: 0.9.2.2
141
+ none: false
142
142
  - !ruby/object:Gem::Dependency
143
143
  name: rack-test
144
+ prerelease: false
144
145
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
146
  requirements:
147
147
  - - '='
148
148
  - !ruby/object:Gem::Version
149
149
  version: 0.6.1
150
+ none: false
150
151
  type: :development
151
- prerelease: false
152
152
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
153
  requirements:
155
154
  - - '='
156
155
  - !ruby/object:Gem::Version
157
156
  version: 0.6.1
157
+ none: false
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: hashie
160
+ prerelease: false
160
161
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
162
  requirements:
163
163
  - - ~>
164
164
  - !ruby/object:Gem::Version
165
165
  version: '1.2'
166
+ none: false
166
167
  type: :development
167
- prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
169
  requirements:
171
170
  - - ~>
172
171
  - !ruby/object:Gem::Version
173
172
  version: '1.2'
173
+ none: false
174
174
  description: Interpol is a toolkit for working with API endpoint definition files,
175
175
  giving you a stub app, a schema validation middleware, and browsable documentation.
176
176
  email:
@@ -234,17 +234,17 @@ rdoc_options: []
234
234
  require_paths:
235
235
  - lib
236
236
  required_ruby_version: !ruby/object:Gem::Requirement
237
- none: false
238
237
  requirements:
239
238
  - - ! '>='
240
239
  - !ruby/object:Gem::Version
241
240
  version: '0'
242
- required_rubygems_version: !ruby/object:Gem::Requirement
243
241
  none: false
242
+ required_rubygems_version: !ruby/object:Gem::Requirement
244
243
  requirements:
245
244
  - - ! '>='
246
245
  - !ruby/object:Gem::Version
247
246
  version: '0'
247
+ none: false
248
248
  requirements: []
249
249
  rubyforge_project:
250
250
  rubygems_version: 1.8.24