Class: WSDSL::Response::Element::Attribute

Inherits:
Object
  • Object
show all
Defined in:
lib/response.rb

Overview

Response element’s attribute class

Since:

  • 0.0.3

Direct Known Subclasses

MetaAttribute

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(o_params, o_extra_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

Parameters:

  • o_params (Hash, Array)
  • o_extra_params (Hash) (defaults to: {})

    A hash with extra params passed, needed to support Ruby 1.8 :(

Since:

  • 0.0.3



427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
# File 'lib/response.rb', line 427

def initialize(o_params, o_extra_params={})
  params = o_params.dup
  extra_params = o_extra_params.dup
  if params.is_a?(Hash)
    @name, @type = params.shift
    @doc  = params.delete(:doc) if params.has_key?(:doc)
    @doc  ||= extra_params.delete(:doc) if extra_params.has_key?(:doc)
    @opts = params.merge!(extra_params)
  elsif params.is_a?(Array)
    @name = params.shift
    @type = params.shift
    @doc  = params.shift
    @opts = params
  end
end

Instance Attribute Details

#docString (readonly)

Returns The documentation associated with this attribute.

Returns:

  • (String)

    The documentation associated with this attribute.

Since:

  • 0.0.3



406
407
408
# File 'lib/response.rb', line 406

def doc
  @doc
end

#nameString, #to_s (readonly) Also known as: value

Returns The attribute’s name.

Returns:

  • (String, #to_s)

    The attribute’s name.

Since:

  • 0.0.3



397
398
399
# File 'lib/response.rb', line 397

def name
  @name
end

#optsHash, ... (readonly)

Returns Could be a hash, nil or any object depending on how the attribute is created.

Returns:

  • (Hash, Nil, Object)

    Could be a hash, nil or any object depending on how the attribute is created.

See Also:

  • WSDSL::Response::Element::Attribute.{Attribute{Attribute#new}

Since:

  • 0.0.3



411
412
413
# File 'lib/response.rb', line 411

def opts
  @opts
end

#typeSymbol, ... (readonly)

Returns The attribute’s type such as boolean, string etc..

Returns:

  • (Symbol, String, #to_s)

    The attribute’s type such as boolean, string etc..

Since:

  • 0.0.3



402
403
404
# File 'lib/response.rb', line 402

def type
  @type
end