Class: Jess::ExtensionAttributes

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/jess/extension_attributes.rb

Overview

A Hash-like wrapper around the extension attributes that facilitates easy key/value access.

Instance Method Summary collapse

Constructor Details

#initialize(json) ⇒ ExtensionAttributes

Returns a new instance of ExtensionAttributes.



10
11
12
13
14
15
# File 'lib/jess/extension_attributes.rb', line 10

def initialize(json)
  @values = json.each_with_object({}) do |attr, hash|
    hash[attr.name] = attr.value
  end
  @values.freeze
end

Instance Method Details

#to_hashObject

Explicitly delegate instead of using def_delegators in order to be compatible with awesome_print. The original Hash#to_hash method is implemented in C, which means it has an arity of -1. This confuses awesome_print.



21
22
23
# File 'lib/jess/extension_attributes.rb', line 21

def to_hash
  @values.to_hash
end