Class: Interpol::Configuration

Inherits:
Object
  • Object
show all
Includes:
ConfigurationRuby18Extensions
Defined in:
lib/interpol/configuration.rb

Overview

Public: Defines interpol configuration.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ConfigurationRuby18Extensions

#bad_deserialized_yaml, #deserialized_hash_from

Constructor Details

#initialize {|_self| ... } ⇒ Configuration

Returns a new instance of Configuration.

Yields:

  • (_self)

Yield Parameters:



38
39
40
41
42
43
44
45
46
# File 'lib/interpol/configuration.rb', line 38

def initialize
  self.endpoint_definition_files = []
  self.endpoint_definition_merge_key_files = []
  self.documentation_title = "API Documentation Provided by Interpol"
  register_default_callbacks
  @filter_example_data_blocks = []

  yield self if block_given?
end

Instance Attribute Details

#documentation_titleObject

Returns the value of attribute documentation_title.



36
37
38
# File 'lib/interpol/configuration.rb', line 36

def documentation_title
  @documentation_title
end

#endpoint_definition_filesObject

Returns the value of attribute endpoint_definition_files.



35
36
37
# File 'lib/interpol/configuration.rb', line 35

def endpoint_definition_files
  @endpoint_definition_files
end

#endpoint_definition_merge_key_filesObject

Returns the value of attribute endpoint_definition_merge_key_files.



36
37
38
# File 'lib/interpol/configuration.rb', line 36

def endpoint_definition_merge_key_files
  @endpoint_definition_merge_key_files
end

#endpointsObject

Returns the value of attribute endpoints.



35
36
37
# File 'lib/interpol/configuration.rb', line 35

def endpoints
  @endpoints
end

#filter_example_data_blocksObject (readonly)

Returns the value of attribute filter_example_data_blocks.



35
36
37
# File 'lib/interpol/configuration.rb', line 35

def filter_example_data_blocks
  @filter_example_data_blocks
end

#validation_modeObject

Returns the value of attribute validation_mode.



36
37
38
# File 'lib/interpol/configuration.rb', line 36

def validation_mode
  @validation_mode
end

Class Method Details

.defaultObject



144
145
146
# File 'lib/interpol/configuration.rb', line 144

def self.default
  @default ||= Configuration.new
end

Instance Method Details

#api_version(version = nil, &block) ⇒ Object



76
77
78
79
80
81
82
83
# File 'lib/interpol/configuration.rb', line 76

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



148
149
150
151
# File 'lib/interpol/configuration.rb', line 148

def customized_duplicate(&block)
  block ||= lambda { |c| }
  dup.tap(&block)
end

#filter_example_data(&block) ⇒ Object



140
141
142
# File 'lib/interpol/configuration.rb', line 140

def filter_example_data(&block)
  filter_example_data_blocks << block
end

#on_invalid_request_body(&block) ⇒ Object



132
133
134
# File 'lib/interpol/configuration.rb', line 132

def on_invalid_request_body(&block)
  @invalid_request_body_block = block
end

#on_invalid_sinatra_request_params(&block) ⇒ Object



124
125
126
# File 'lib/interpol/configuration.rb', line 124

def on_invalid_sinatra_request_params(&block)
  @invalid_sinatra_request_params_block = block
end

#on_unavailable_request_version(&block) ⇒ Object



116
117
118
# File 'lib/interpol/configuration.rb', line 116

def on_unavailable_request_version(&block)
  @unavailable_request_version_block = block
end

#on_unavailable_sinatra_request_version(&block) ⇒ Object



108
109
110
# File 'lib/interpol/configuration.rb', line 108

def on_unavailable_sinatra_request_version(&block)
  @unavailable_sinatra_request_version_block = block
end

#request_body_invalid(*args) ⇒ Object



136
137
138
# File 'lib/interpol/configuration.rb', line 136

def request_body_invalid(*args)
  @invalid_request_body_block.call(*args)
end

#request_version_unavailable(*args) ⇒ Object



120
121
122
# File 'lib/interpol/configuration.rb', line 120

def request_version_unavailable(*args)
  @unavailable_request_version_block.call(*args)
end

#sinatra_request_params_invalid(execution_context, *args) ⇒ Object



128
129
130
# File 'lib/interpol/configuration.rb', line 128

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



112
113
114
# File 'lib/interpol/configuration.rb', line 112

def sinatra_request_version_unavailable(execution_context, *args)
  execution_context.instance_exec(*args, &@unavailable_sinatra_request_version_block)
end

#validate_if(&block) ⇒ Object



93
94
95
96
97
98
# File 'lib/interpol/configuration.rb', line 93

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

Returns:

  • (Boolean)


100
101
102
# File 'lib/interpol/configuration.rb', line 100

def validate_request?(env)
  @validate_request_if_block.call(env)
end

#validate_request_if(&block) ⇒ Object



104
105
106
# File 'lib/interpol/configuration.rb', line 104

def validate_request_if(&block)
  @validate_request_if_block = block
end

#validate_response?(*args) ⇒ Boolean

Returns:

  • (Boolean)


89
90
91
# File 'lib/interpol/configuration.rb', line 89

def validate_response?(*args)
  @validate_response_if_block.call(*args)
end

#validate_response_if(&block) ⇒ Object



85
86
87
# File 'lib/interpol/configuration.rb', line 85

def validate_response_if(&block)
  @validate_response_if_block = block
end