Class: EY::Serverside::Adapter::Option
- Inherits:
-
Object
- Object
- EY::Serverside::Adapter::Option
- Defined in:
- lib/engineyard-serverside-adapter/option.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
Instance Method Summary collapse
-
#include? ⇒ Boolean
Check if the option should always be included.
-
#initialize(name, type, options = {:required => false}) ⇒ Option
constructor
A new instance of Option.
- #on_version?(serverside_version) ⇒ Boolean
- #required_on_version?(serverside_version) ⇒ Boolean
- #to_switch ⇒ Object
Constructor Details
#initialize(name, type, options = {:required => false}) ⇒ Option
Returns a new instance of Option.
7 8 9 10 11 |
# File 'lib/engineyard-serverside-adapter/option.rb', line 7 def initialize(name, type, ={:required => false}) @name, @type = name, type @version_requirement = Gem::Requirement.create([:version]) if [:version] = end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
5 6 7 |
# File 'lib/engineyard-serverside-adapter/option.rb', line 5 def name @name end |
#type ⇒ Object (readonly)
Returns the value of attribute type.
5 6 7 |
# File 'lib/engineyard-serverside-adapter/option.rb', line 5 def type @type end |
Instance Method Details
#include? ⇒ Boolean
Check if the option should always be included.
Returns a boolean.
24 25 26 |
# File 'lib/engineyard-serverside-adapter/option.rb', line 24 def include? [:include] end |
#on_version?(serverside_version) ⇒ Boolean
17 18 19 |
# 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) ⇒ Boolean
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/engineyard-serverside-adapter/option.rb', line 28 def required_on_version?(serverside_version) unless on_version?(serverside_version) return false end case [:required] when true true when String requirement = Gem::Requirement.create([:required]) requirement.satisfied_by?(serverside_version) else false end end |
#to_switch ⇒ Object
13 14 15 |
# File 'lib/engineyard-serverside-adapter/option.rb', line 13 def to_switch "--#{@name}".gsub(/_/, '-') end |