interpol 0.7.3 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
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