class RspecApiDocumentation::Example
Attributes
configuration[R]
example[R]
Public Class Methods
new(example, configuration)
click to toggle source
# File lib/rspec_api_documentation/example.rb, line 5 def initialize(example, configuration) @example = example @configuration = configuration end
Public Instance Methods
explanation()
click to toggle source
# File lib/rspec_api_documentation/example.rb, line 53 def explanation metadata[:explanation] || nil end
has_attributes?()
click to toggle source
# File lib/rspec_api_documentation/example.rb, line 41 def has_attributes? respond_to?(:attributes) && attributes.present? end
has_parameters?()
click to toggle source
# File lib/rspec_api_documentation/example.rb, line 37 def has_parameters? respond_to?(:parameters) && parameters.present? end
has_response_fields?()
click to toggle source
# File lib/rspec_api_documentation/example.rb, line 45 def has_response_fields? respond_to?(:response_fields) && response_fields.present? end
http_method()
click to toggle source
# File lib/rspec_api_documentation/example.rb, line 22 def http_method metadata[:method].to_s.upcase end
method_missing(method_sym, *args, &block)
click to toggle source
# File lib/rspec_api_documentation/example.rb, line 10 def method_missing(method_sym, *args, &block) if example.metadata.has_key?(method_sym) example.metadata[method_sym] else example.send(method_sym, *args, &block) end end
public?()
click to toggle source
# File lib/rspec_api_documentation/example.rb, line 33 def public? metadata[:public] end
requests()
click to toggle source
# File lib/rspec_api_documentation/example.rb, line 57 def requests filter_headers(metadata[:requests]) || [] end
resource_explanation()
click to toggle source
# File lib/rspec_api_documentation/example.rb, line 49 def resource_explanation metadata[:resource_explanation] || nil end
respond_to?(method_sym, include_private = false)
click to toggle source
Calls superclass method
# File lib/rspec_api_documentation/example.rb, line 18 def respond_to?(method_sym, include_private = false) super || example.metadata.has_key?(method_sym) || example.respond_to?(method_sym, include_private) end
should_document?()
click to toggle source
# File lib/rspec_api_documentation/example.rb, line 26 def should_document? return false if pending? || !metadata[:resource_name] || !metadata[:document] return false if (Array(metadata[:document]) & Array(configuration.exclusion_filter)).length > 0 return true if (Array(metadata[:document]) & Array(configuration.filter)).length > 0 return true if configuration.filter == :all end
Private Instance Methods
filter_headers(requests)
click to toggle source
# File lib/rspec_api_documentation/example.rb, line 63 def filter_headers(requests) requests = remap_headers(requests, :request_headers, configuration.request_headers_to_include) requests = remap_headers(requests, :response_headers, configuration.response_headers_to_include) requests end
remap_headers(requests, key, headers_to_include)
click to toggle source
# File lib/rspec_api_documentation/example.rb, line 69 def remap_headers(requests, key, headers_to_include) return requests unless headers_to_include requests.each.with_index do |request_hash, index| next unless request_hash.key?(key) headers = request_hash[key] request_hash[key] = headers.select{ |key, _| headers_to_include.map(&:downcase).include?(key.downcase) } requests[index] = request_hash end end