Class: VersionCake::Configuration

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

Constant Summary collapse

VERSION_KEY_DEFAULT =
'api_version'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/versioncake/configuration.rb', line 12

def initialize
  @versioned_resources           = []
  @version_key                   = VERSION_KEY_DEFAULT
  @rails_view_versioning         = true
  @missing_version_use_unversioned_template = true
  @default_version = nil
  self.extraction_strategy       = [
      :http_accept_parameter,
      :http_header,
      :request_parameter,
      :path_parameter,
      :query_parameter
  ]
  self.response_strategy         = []
end

Instance Attribute Details

#default_versionObject (readonly)

Returns the value of attribute default_version.



8
9
10
# File 'lib/versioncake/configuration.rb', line 8

def default_version
  @default_version
end

#extraction_strategiesObject (readonly)

Returns the value of attribute extraction_strategies.



8
9
10
# File 'lib/versioncake/configuration.rb', line 8

def extraction_strategies
  @extraction_strategies
end

#missing_versionObject

Returns the value of attribute missing_version.



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

def missing_version
  @missing_version
end

#missing_version_use_unversioned_templateObject (readonly)

Returns the value of attribute missing_version_use_unversioned_template.



8
9
10
# File 'lib/versioncake/configuration.rb', line 8

def missing_version_use_unversioned_template
  @missing_version_use_unversioned_template
end

#rails_view_versioningObject

Returns the value of attribute rails_view_versioning.



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

def rails_view_versioning
  @rails_view_versioning
end

#response_strategiesObject (readonly)

Returns the value of attribute response_strategies.



8
9
10
# File 'lib/versioncake/configuration.rb', line 8

def response_strategies
  @response_strategies
end

#version_keyObject

Returns the value of attribute version_key.



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

def version_key
  @version_key
end

#versioned_resourcesObject (readonly)

Returns the value of attribute versioned_resources.



8
9
10
# File 'lib/versioncake/configuration.rb', line 8

def versioned_resources
  @versioned_resources
end

Instance Method Details

#extraction_strategy=(val) ⇒ Object



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

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

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

Yields:

  • (builder)


53
54
55
56
57
# File 'lib/versioncake/configuration.rb', line 53

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

#response_strategy=(val) ⇒ Object



46
47
48
49
50
51
# File 'lib/versioncake/configuration.rb', line 46

def response_strategy=(val)
  @response_strategies = []
  Array.wrap(val).each do |configured_strategy|
    @response_strategies << VersionCake::ResponseStrategy::Base.lookup(configured_strategy)
  end
end