Class: Versionist::VersioningStrategy::Default

Inherits:
Base
  • Object
show all
Defined in:
lib/versionist/versioning_strategy/default.rb

Overview

Implements the default version handling strategy.

Instance Attribute Summary collapse

Attributes inherited from Base

#config

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Default

Returns a new instance of Default.

Raises:

  • (ArgumentError)


8
9
10
11
12
13
# File 'lib/versionist/versioning_strategy/default.rb', line 8

def initialize(config)
  super
  @module = config[:module]
  raise ArgumentError, "[VERSIONIST] attempt to set more than one default api version" if !Versionist.configuration.default_version.nil? && Versionist.configuration.default_version != self
  Versionist.configuration.default_version = self
end

Instance Attribute Details

#moduleObject

Returns the value of attribute module.



6
7
8
# File 'lib/versionist/versioning_strategy/default.rb', line 6

def module
  @module
end

#strategiesObject

Returns the value of attribute strategies.



5
6
7
# File 'lib/versionist/versioning_strategy/default.rb', line 5

def strategies
  @strategies
end

Instance Method Details

#==(other) ⇒ Object



19
20
21
22
23
# File 'lib/versionist/versioning_strategy/default.rb', line 19

def ==(other)
  super
  return false if !other.is_a?(Versionist::VersioningStrategy::Default)
  return self.module == other.module
end

#matches?(request) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/versionist/versioning_strategy/default.rb', line 15

def matches?(request)
  !header_matches?(request) && !parameter_matches?(request)
end