Class: Phenotype::AcceptHeaderStrategy

Inherits:
Object
  • Object
show all
Defined in:
lib/phenotype/strategies/accept_header_strategy.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(mime_type = 'application/vnd.rentpath.api+json') ⇒ AcceptHeaderStrategy

Returns a new instance of AcceptHeaderStrategy.



7
8
9
# File 'lib/phenotype/strategies/accept_header_strategy.rb', line 7

def initialize(mime_type = 'application/vnd.rentpath.api+json')
  @mime_type = mime_type
end

Instance Attribute Details

#mime_typeObject (readonly)

Returns the value of attribute mime_type.



5
6
7
# File 'lib/phenotype/strategies/accept_header_strategy.rb', line 5

def mime_type
  @mime_type
end

Instance Method Details

#version(env) ⇒ Object



11
12
13
14
# File 'lib/phenotype/strategies/accept_header_strategy.rb', line 11

def version(env)
  env['HTTP_ACCEPT'].to_s.match(/#{Regexp.quote(mime_type)};version=(?<version>\d+)/) { |match| match[:version] } ||
    NullStrategy.new
end