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.
145 146 147 148 |
# File 'lib/rubber/instance.rb', line 145 def initialize(name, ={}) @name = name @options = || {} end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
106 107 108 |
# File 'lib/rubber/instance.rb', line 106 def name @name end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
106 107 108 |
# File 'lib/rubber/instance.rb', line 106 def @options end |
Class Method Details
.expand_role_dependencies(roles, dependency_map, expanded = []) ⇒ Object
108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/rubber/instance.rb', line 108 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
120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
# File 'lib/rubber/instance.rb', line 120 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
159 160 161 |
# File 'lib/rubber/instance.rb', line 159 def <=>(rhs) return @name <=> rhs.name end |
#eql?(rhs) ⇒ Boolean Also known as: ==
150 151 152 |
# File 'lib/rubber/instance.rb', line 150 def eql?(rhs) rhs && @name == rhs.name && @options == rhs. end |
#hash ⇒ Object
155 156 157 |
# File 'lib/rubber/instance.rb', line 155 def hash() @name.hash end |
#to_s ⇒ Object
136 137 138 139 140 141 142 143 |
# File 'lib/rubber/instance.rb', line 136 def to_s str = @name @options.each_with_index do |kv, i| str += (i == 0 ? ':' : ';') str += "#{kv[0]}=#{kv[1]}" end return str end |