Class: Rubber::Configuration::RoleItem
- Inherits:
-
Object
- Object
- Rubber::Configuration::RoleItem
- Defined in:
- lib/rubber/instance.rb
Overview
The configuration for a single role contained in the list of roles in InstanceItem
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Class Method Summary collapse
Instance Method Summary collapse
- #<=>(rhs) ⇒ Object
- #eql?(rhs) ⇒ Boolean (also: #==)
- #hash ⇒ Object
-
#initialize(name, options = {}) ⇒ RoleItem
constructor
A new instance of RoleItem.
- #to_s ⇒ Object
Constructor Details
#initialize(name, options = {}) ⇒ RoleItem
Returns a new instance of RoleItem.
155 156 157 158 |
# File 'lib/rubber/instance.rb', line 155 def initialize(name, ={}) @name = name @options = || {} end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
116 117 118 |
# File 'lib/rubber/instance.rb', line 116 def name @name end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
116 117 118 |
# File 'lib/rubber/instance.rb', line 116 def @options end |
Class Method Details
.expand_role_dependencies(roles, dependency_map, expanded = []) ⇒ Object
118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/rubber/instance.rb', line 118 def self.(roles, dependency_map, =[]) roles = Array(roles) roles.each do |role| unless .include?(role) << role needed = dependency_map[role] (needed, dependency_map, ) end end return end |
.parse(str) ⇒ Object
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
# File 'lib/rubber/instance.rb', line 130 def self.parse(str) data = str.split(':'); role = Rubber::Configuration::RoleItem.new(data[0]) if data[1] data[1].split(';').each do |pair| p = pair.split('=') val = case p[1] when 'true' then true when 'false' then false else p[1] end role.[p[0]] = val end end return role end |
Instance Method Details
#<=>(rhs) ⇒ Object
169 170 171 |
# File 'lib/rubber/instance.rb', line 169 def <=>(rhs) return @name <=> rhs.name end |
#eql?(rhs) ⇒ Boolean Also known as: ==
160 161 162 |
# File 'lib/rubber/instance.rb', line 160 def eql?(rhs) rhs && @name == rhs.name && @options == rhs. end |
#hash ⇒ Object
165 166 167 |
# File 'lib/rubber/instance.rb', line 165 def hash() @name.hash end |
#to_s ⇒ Object
146 147 148 149 150 151 152 153 |
# File 'lib/rubber/instance.rb', line 146 def to_s str = @name @options.each_with_index do |kv, i| str += (i == 0 ? ':' : ';') str += "#{kv[0]}=#{kv[1]}" end return str end |