Class: Interpol::Configuration
Overview
Public: Defines interpol configuration.
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
#bad_deserialized_yaml, #deserialized_hash_from
Constructor Details
#initialize {|_self| ... } ⇒ Configuration
Returns a new instance of Configuration.
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/interpol/configuration.rb', line 39
def initialize
self.endpoint_definition_files = []
self.endpoint_definition_merge_key_files = []
self.documentation_title = "API Documentation Provided by Interpol"
register_default_callbacks
register_built_in_param_parsers
@filter_example_data_blocks = []
yield self if block_given?
end
|
Instance Attribute Details
#documentation_title ⇒ Object
Returns the value of attribute documentation_title.
37
38
39
|
# File 'lib/interpol/configuration.rb', line 37
def documentation_title
@documentation_title
end
|
#endpoint_definition_files ⇒ Object
Returns the value of attribute endpoint_definition_files.
36
37
38
|
# File 'lib/interpol/configuration.rb', line 36
def endpoint_definition_files
@endpoint_definition_files
end
|
#endpoint_definition_merge_key_files ⇒ Object
Returns the value of attribute endpoint_definition_merge_key_files.
37
38
39
|
# File 'lib/interpol/configuration.rb', line 37
def endpoint_definition_merge_key_files
@endpoint_definition_merge_key_files
end
|
#endpoints ⇒ Object
Returns the value of attribute endpoints.
36
37
38
|
# File 'lib/interpol/configuration.rb', line 36
def endpoints
@endpoints
end
|
#filter_example_data_blocks ⇒ Object
Returns the value of attribute filter_example_data_blocks.
36
37
38
|
# File 'lib/interpol/configuration.rb', line 36
def filter_example_data_blocks
@filter_example_data_blocks
end
|
#validation_mode ⇒ Object
Returns the value of attribute validation_mode.
37
38
39
|
# File 'lib/interpol/configuration.rb', line 37
def validation_mode
@validation_mode
end
|
Class Method Details
.default ⇒ Object
159
160
161
|
# File 'lib/interpol/configuration.rb', line 159
def self.default
@default ||= Configuration.new
end
|
Instance Method Details
#api_version(version = nil, &block) ⇒ Object
78
79
80
81
82
83
84
85
|
# File 'lib/interpol/configuration.rb', line 78
def api_version(version=nil, &block)
warn "WARNING: Interpol's #api_version config option is deprecated. " +
"Instead, use separate #request_version and #response_version " +
"config options."
request_version(version, &block)
response_version(version, &block)
end
|
#customized_duplicate(&block) ⇒ Object
163
164
165
166
|
# File 'lib/interpol/configuration.rb', line 163
def customized_duplicate(&block)
block ||= lambda { |c| }
dup.tap(&block)
end
|
#define_request_param_parser(type, options = {}, &block) ⇒ Object
168
169
170
171
172
173
|
# File 'lib/interpol/configuration.rb', line 168
def define_request_param_parser(type, options = {}, &block)
ParamParser.new(type, options, &block).tap do |parser|
param_parsers[type].unshift parser
end
end
|
#example_response_for(endpoint_def, env) ⇒ Object
154
155
156
157
|
# File 'lib/interpol/configuration.rb', line 154
def example_response_for(endpoint_def, env)
selector = named_example_selectors[endpoint_def.endpoint_name]
selector.call(endpoint_def, env)
end
|
#filter_example_data(&block) ⇒ Object
142
143
144
|
# File 'lib/interpol/configuration.rb', line 142
def filter_example_data(&block)
filter_example_data_blocks << block
end
|
#on_invalid_request_body(&block) ⇒ Object
134
135
136
|
# File 'lib/interpol/configuration.rb', line 134
def on_invalid_request_body(&block)
@invalid_request_body_block = block
end
|
#on_invalid_sinatra_request_params(&block) ⇒ Object
126
127
128
|
# File 'lib/interpol/configuration.rb', line 126
def on_invalid_sinatra_request_params(&block)
@invalid_sinatra_request_params_block = block
end
|
#on_unavailable_request_version(&block) ⇒ Object
118
119
120
|
# File 'lib/interpol/configuration.rb', line 118
def on_unavailable_request_version(&block)
@unavailable_request_version_block = block
end
|
#on_unavailable_sinatra_request_version(&block) ⇒ Object
110
111
112
|
# File 'lib/interpol/configuration.rb', line 110
def on_unavailable_sinatra_request_version(&block)
@unavailable_sinatra_request_version_block = block
end
|
#param_parser_for(type, options) ⇒ Object
175
176
177
178
179
180
181
182
183
|
# File 'lib/interpol/configuration.rb', line 175
def param_parser_for(type, options)
match = param_parsers[type].find do |parser|
parser.matches_options?(options)
end
return match if match
raise UnsupportedTypeError.new(type, options)
end
|
#request_body_invalid(*args) ⇒ Object
138
139
140
|
# File 'lib/interpol/configuration.rb', line 138
def request_body_invalid(*args)
@invalid_request_body_block.call(*args)
end
|
#request_version_unavailable(*args) ⇒ Object
122
123
124
|
# File 'lib/interpol/configuration.rb', line 122
def request_version_unavailable(*args)
@unavailable_request_version_block.call(*args)
end
|
#select_example_response(endpoint_name = nil, &block) ⇒ Object
146
147
148
149
150
151
152
|
# File 'lib/interpol/configuration.rb', line 146
def select_example_response(endpoint_name = nil, &block)
if endpoint_name
named_example_selectors[endpoint_name] = block
else
named_example_selectors.default = block
end
end
|
#sinatra_request_params_invalid(execution_context, *args) ⇒ Object
130
131
132
|
# File 'lib/interpol/configuration.rb', line 130
def sinatra_request_params_invalid(execution_context, *args)
execution_context.instance_exec(*args, &@invalid_sinatra_request_params_block)
end
|
#sinatra_request_version_unavailable(execution_context, *args) ⇒ Object
114
115
116
|
# File 'lib/interpol/configuration.rb', line 114
def sinatra_request_version_unavailable(execution_context, *args)
execution_context.instance_exec(*args, &@unavailable_sinatra_request_version_block)
end
|
#validate_if(&block) ⇒ Object
95
96
97
98
99
100
|
# File 'lib/interpol/configuration.rb', line 95
def validate_if(&block)
warn "WARNING: Interpol's #validate_if config option is deprecated. " +
"Instead, use #validate_response_if."
validate_response_if(&block)
end
|
#validate_request?(env) ⇒ Boolean
102
103
104
|
# File 'lib/interpol/configuration.rb', line 102
def validate_request?(env)
@validate_request_if_block.call(env)
end
|
#validate_request_if(&block) ⇒ Object
106
107
108
|
# File 'lib/interpol/configuration.rb', line 106
def validate_request_if(&block)
@validate_request_if_block = block
end
|
#validate_response?(*args) ⇒ Boolean
91
92
93
|
# File 'lib/interpol/configuration.rb', line 91
def validate_response?(*args)
@validate_response_if_block.call(*args)
end
|
#validate_response_if(&block) ⇒ Object
87
88
89
|
# File 'lib/interpol/configuration.rb', line 87
def validate_response_if(&block)
@validate_response_if_block = block
end
|