class Versionist::VersioningStrategy::Default

Implements the default version handling strategy.

Attributes

module[RW]
strategies[RW]

Public Class Methods

new(config) click to toggle source
# 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

Public Instance Methods

==(other) click to toggle source
Calls superclass method Versionist::VersioningStrategy::Base#==
# 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) click to toggle source
# File lib/versionist/versioning_strategy/default.rb, line 15
def matches?(request)
  !header_matches?(request) && !parameter_matches?(request)
end

Private Instance Methods

header_matches?(request) click to toggle source
# File lib/versionist/versioning_strategy/default.rb, line 28
def header_matches?(request)
  Versionist.configuration.header_versions && Versionist.configuration.header_versions.any? {|v| v.matches?(request)}
end
parameter_matches?(request) click to toggle source
# File lib/versionist/versioning_strategy/default.rb, line 32
def parameter_matches?(request)
  Versionist.configuration.parameter_versions && Versionist.configuration.parameter_versions.any? {|v| v.matches?(request)}
end