Class: Librato::Rails::VersionSpecifier

Inherits:
Object
  • Object
show all
Defined in:
lib/librato/rails/version_specifier.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ VersionSpecifier

Returns a new instance of VersionSpecifier.



8
9
10
# File 'lib/librato/rails/version_specifier.rb', line 8

def initialize(env)
  @env = env
end

Class Method Details

.supported(opts = {}, &block) ⇒ Object



4
5
6
# File 'lib/librato/rails/version_specifier.rb', line 4

def self.supported(opts={}, &block)
  new(::Rails).supported(opts, &block)
end

Instance Method Details

#supported(opts = {}, &block) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/librato/rails/version_specifier.rb', line 12

def supported(opts={}, &block)
  unless block_given?
    raise VersionSpecifierError, 'version specific block required'
  end

  if !opts.key?(:min) && !opts.key?(:max)
    raise VersionSpecifierError, ':min and/or :max arguments required'
  end

  yield if is_supported?(opts)
end