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
18
19
# File 'lib/versioncake/configuration.rb', line 13

def initialize
  @versioned_resources           = []
  @version_key                   = VERSION_KEY_DEFAULT
  @rails_view_versioning         = true
  self.supported_version_numbers = SUPPORTED_VERSIONS_DEFAULT
  self.extraction_strategy       = :query_parameter
end

Instance Attribute Details

#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

#missing_versionObject

Returns the value of attribute missing_version.



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

def missing_version
  @missing_version
end

#rails_view_versioningObject

Returns the value of attribute rails_view_versioning.



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

def rails_view_versioning
  @rails_view_versioning
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

#versioned_resourcesObject (readonly)

Returns the value of attribute versioned_resources.



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

def versioned_resources
  @versioned_resources
end

Instance Method Details

#extraction_strategy=(val) ⇒ Object



21
22
23
24
25
26
# File 'lib/versioncake/configuration.rb', line 21

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

#latest_versionObject



45
46
47
# File 'lib/versioncake/configuration.rb', line 45

def latest_version
  @supported_version_numbers.first
end

#resources {|builder| ... } ⇒ Object

Yields:

  • (builder)


49
50
51
52
53
# File 'lib/versioncake/configuration.rb', line 49

def resources
  builder = ResourceBuilder.new
  yield builder
  @versioned_resources = builder.resources
end

#supported_versions(requested_version_number = nil) ⇒ Object



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

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)


41
42
43
# File 'lib/versioncake/configuration.rb', line 41

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