Class: WSDSL::Response::Element::Attribute
- Inherits:
-
Object
- Object
- WSDSL::Response::Element::Attribute
- Defined in:
- lib/response.rb
Overview
Response element’s attribute class
Instance Attribute Summary collapse
-
#doc ⇒ String
readonly
The documentation associated with this attribute.
-
#name ⇒ String, #to_s
readonly
The attribute’s name.
-
#opts ⇒ Hash, ...
readonly
Could be a hash, nil or any object depending on how the attribute is created.
-
#type ⇒ Symbol, ...
readonly
The attribute’s type such as boolean, string etc..
Instance Method Summary collapse
-
#initialize(o_params) ⇒ Attribute
constructor
Takes a Hash or an Array and extract the attribute name, type doc and extra options.
Constructor Details
#initialize(o_params) ⇒ Attribute
Takes a Hash or an Array and extract the attribute name, type doc and extra options. If the passed objects is a Hash, the name will be extract from the first key and the type for the first value. An entry keyed by :doc will be used for the doc and the rest will go as extra options.
If an Array is passed, the elements will be ‘shifted’ in this order: name, type, doc, type
222 223 224 225 226 227 228 229 230 231 232 233 234 |
# File 'lib/response.rb', line 222 def initialize(o_params) params = o_params.dup if params.is_a?(Hash) @name, @type = params.shift @doc = params.delete(:doc) if params.has_key?(:doc) @opts = params elsif params.is_a?(Array) @name = params.shift @type = params.shift @doc = params.shift @opts = params end end |
Instance Attribute Details
#doc ⇒ String (readonly)
Returns The documentation associated with this attribute.
202 203 204 |
# File 'lib/response.rb', line 202 def doc @doc end |
#name ⇒ String, #to_s (readonly)
Returns The attribute’s name.
194 195 196 |
# File 'lib/response.rb', line 194 def name @name end |
#opts ⇒ Hash, ... (readonly)
Returns Could be a hash, nil or any object depending on how the attribute is created.
207 208 209 |
# File 'lib/response.rb', line 207 def opts @opts end |
#type ⇒ Symbol, ... (readonly)
Returns The attribute’s type such as boolean, string etc..
198 199 200 |
# File 'lib/response.rb', line 198 def type @type end |