Class: VersionCake::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/versioncake/configuration.rb

Constant Summary collapse

SUPPORTED_VERSIONS_DEFAULT =
(1..10)
VERSION_KEY_DEFAULT =
'api_version'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



13
14
15
16
17
# File 'lib/versioncake/configuration.rb', line 13

def initialize
  @version_key                   = VERSION_KEY_DEFAULT
  self.supported_version_numbers = SUPPORTED_VERSIONS_DEFAULT
  self.extraction_strategy       = :query_parameter
end

Instance Attribute Details

#default_versionObject

Returns the value of attribute default_version.



11
12
13
# File 'lib/versioncake/configuration.rb', line 11

def default_version
  @default_version
end

#extraction_strategiesObject (readonly)

Returns the value of attribute extraction_strategies.



10
11
12
# File 'lib/versioncake/configuration.rb', line 10

def extraction_strategies
  @extraction_strategies
end

#supported_version_numbersObject

Returns the value of attribute supported_version_numbers.



10
11
12
# File 'lib/versioncake/configuration.rb', line 10

def supported_version_numbers
  @supported_version_numbers
end

#version_keyObject

Returns the value of attribute version_key.



11
12
13
# File 'lib/versioncake/configuration.rb', line 11

def version_key
  @version_key
end

Instance Method Details

#extraction_strategy=(val) ⇒ Object



19
20
21
22
23
24
# File 'lib/versioncake/configuration.rb', line 19

def extraction_strategy=(val)
  @extraction_strategies = []
  Array.wrap(val).each do |configured_strategy|
    @extraction_strategies << VersionCake::ExtractionStrategy.lookup(configured_strategy)
  end
end

#latest_versionObject



43
44
45
# File 'lib/versioncake/configuration.rb', line 43

def latest_version
  @supported_version_numbers.first
end

#supported_versions(requested_version_number = nil) ⇒ Object



31
32
33
34
35
36
37
# File 'lib/versioncake/configuration.rb', line 31

def supported_versions(requested_version_number=nil)
  @supported_version_numbers.collect do |supported_version_number|
    if requested_version_number.nil? || supported_version_number <= requested_version_number
      :"v#{supported_version_number}"
    end
  end
end

#supports_version?(version) ⇒ Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/versioncake/configuration.rb', line 39

def supports_version?(version)
  @supported_version_numbers.include? version
end