class EY::Serverside::Adapter::Option

Attributes

name[R]
type[R]

Public Class Methods

new(name, type, options={:required => false}) click to toggle source
# File lib/engineyard-serverside-adapter/option.rb, line 7
def initialize(name, type, options={:required => false})
  @name, @type = name, type
  @version_requirement = Gem::Requirement.create(options[:version]) if options[:version]
  @options = options
end

Public Instance Methods

include?() click to toggle source

Check if the option should always be included.

Returns a boolean.

# File lib/engineyard-serverside-adapter/option.rb, line 24
def include?
  @options[:include]
end
on_version?(serverside_version) click to toggle source
# File lib/engineyard-serverside-adapter/option.rb, line 17
def on_version?(serverside_version)
  !@version_requirement or @version_requirement.satisfied_by?(serverside_version)
end
required_on_version?(serverside_version) click to toggle source
# File lib/engineyard-serverside-adapter/option.rb, line 28
def required_on_version?(serverside_version)
  unless on_version?(serverside_version)
    return false
  end

  case @options[:required]
  when true
    true
  when String
    requirement = Gem::Requirement.create(@options[:required])
    requirement.satisfied_by?(serverside_version)
  else
    false
  end
end
to_switch() click to toggle source
# File lib/engineyard-serverside-adapter/option.rb, line 13
def to_switch
  "--#{@name}".gsub(/_/, '-')
end