Module: Nis::Util::Assignable

Instance Method Summary collapse

Instance Method Details

#[](attr) ⇒ Any

Returns Attribute value.

Parameters:

  • attr (Symbol, String)

    Attribute name

Returns:

  • (Any)

    Attribute value



12
13
14
# File 'lib/nis/util/assignable.rb', line 12

def [](attr)
  send(attr)
end

#initialize(attributes = {}) {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:



3
4
5
6
7
8
# File 'lib/nis/util/assignable.rb', line 3

def initialize(attributes = {})
  attributes.each do |k, v|
    send("#{k.to_s}=", v) if respond_to?("#{k.to_s}=")
  end if attributes
  yield self if block_given?
end

#to_hashHash

Returns Attribute and value pairs.

Returns:

  • (Hash)

    Attribute and value pairs



17
18
19
20
21
22
# File 'lib/nis/util/assignable.rb', line 17

def to_hash
  hashed_properties = instance_variables.each_with_object({}) do |var, hash|
    hash[var.to_s.delete('@').to_sym] = instance_variable_get(var)
  end
  hashnize(hashed_properties)
end

#to_json(state = nil) ⇒ String

Returns JSON formatted structure.

Returns:

  • (String)

    JSON formatted structure



25
26
27
# File 'lib/nis/util/assignable.rb', line 25

def to_json(state = nil)
  to_hash.to_json(state)
end