Class: Jsapi::Meta::Base

Inherits:
Object
  • Object
show all
Extended by:
Attributes::ClassMethods
Defined in:
lib/jsapi/meta/base.rb

Overview

The base meta model class.

Instance Method Summary collapse

Methods included from Attributes::ClassMethods

attribute, attribute_names

Constructor Details

#initialize(keywords = {}) ⇒ Base

Creates a new meta model. Raises an ArgumentError if at least one keyword is not supported.



11
12
13
14
15
16
17
18
19
# File 'lib/jsapi/meta/base.rb', line 11

def initialize(keywords = {})
  keywords.each do |key, value|
    if respond_to?(method = "#{key}=")
      public_send(method, value)
    else
      raise ArgumentError, "unsupported keyword: #{key}"
    end
  end
end

Instance Method Details

#inspectObject

:nodoc:



21
22
23
24
25
26
27
28
# File 'lib/jsapi/meta/base.rb', line 21

def inspect # :nodoc:
  klass = self.class
  "#<#{klass.name} #{
    klass.attribute_names.map do |name|
      "#{name}: #{send(name).inspect}"
    end.join(', ')
  }>"
end

#reference?Boolean

Returns true if and only if this is a reference.

Returns:

  • (Boolean)


31
32
33
# File 'lib/jsapi/meta/base.rb', line 31

def reference?
  false
end

#resolveObject

Returns itself.



36
37
38
# File 'lib/jsapi/meta/base.rb', line 36

def resolve(*)
  self
end