Class: JSONAPI::Serializable::Link
- Inherits:
-
Object
- Object
- JSONAPI::Serializable::Link
- Defined in:
- lib/jsonapi/serializable/link.rb
Class Method Summary collapse
Instance Method Summary collapse
- #as_jsonapi ⇒ Object
- #href(value = nil, &block) ⇒ Object
-
#initialize(exposures = {}, &block) ⇒ Link
constructor
A new instance of Link.
- #meta(value = nil, &block) ⇒ Object
Constructor Details
#initialize(exposures = {}, &block) ⇒ Link
Returns a new instance of Link.
8 9 10 11 12 |
# File 'lib/jsonapi/serializable/link.rb', line 8 def initialize(exposures = {}, &block) exposures.each { |k, v| instance_variable_set("@#{k}", v) } static_value = instance_eval(&block) @_href = static_value if static_value.is_a?(String) end |
Class Method Details
.as_jsonapi(exposures = {}, &block) ⇒ Object
4 5 6 |
# File 'lib/jsonapi/serializable/link.rb', line 4 def self.as_jsonapi(exposures = {}, &block) new(exposures, &block).as_jsonapi end |
Instance Method Details
#as_jsonapi ⇒ Object
51 52 53 54 55 56 57 58 |
# File 'lib/jsonapi/serializable/link.rb', line 51 def as_jsonapi @_hash ||= if @_meta.nil? @_href else { href: @_href, meta: @_meta } end end |
#href(value) ⇒ Object #href(&block) ⇒ Object
29 30 31 |
# File 'lib/jsonapi/serializable/link.rb', line 29 def href(value = nil, &block) @_href = block.nil? ? value : instance_eval(&block) end |
#meta(value) ⇒ Object #meta(&block) ⇒ Object
47 48 49 |
# File 'lib/jsonapi/serializable/link.rb', line 47 def (value = nil, &block) @_meta = block.nil? ? value : instance_eval(&block) end |