Class: RSchema::Coercers::FixedHash::SymbolizeKeys

Inherits:
Object
  • Object
show all
Defined in:
lib/rschema/coercers/fixed_hash/symbolize_keys.rb

Overview

Coerces String keys into Symbols according to the attributes in a given FixedHash schema.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(fixed_hash_schema) ⇒ SymbolizeKeys

Returns a new instance of SymbolizeKeys.


19
20
21
22
# File 'lib/rschema/coercers/fixed_hash/symbolize_keys.rb', line 19

def initialize(fixed_hash_schema)
  # TODO: make fixed hash attributes frozen, and eliminate dup
  @hash_attributes = fixed_hash_schema.attributes.map(&:dup)
end

Instance Attribute Details

#hash_attributesObject (readonly)

Returns the value of attribute hash_attributes


13
14
15
# File 'lib/rschema/coercers/fixed_hash/symbolize_keys.rb', line 13

def hash_attributes
  @hash_attributes
end

Class Method Details

.build(schema) ⇒ Object


15
16
17
# File 'lib/rschema/coercers/fixed_hash/symbolize_keys.rb', line 15

def self.build(schema)
  new(schema)
end

Instance Method Details

#call(value) ⇒ Object


24
25
26
# File 'lib/rschema/coercers/fixed_hash/symbolize_keys.rb', line 24

def call(value)
  Result.success(symbolize_keys(value))
end

#will_affect?(_value) ⇒ Boolean

Returns:


28
29
30
# File 'lib/rschema/coercers/fixed_hash/symbolize_keys.rb', line 28

def will_affect?(_value)
  keys_to_symbolize(hash).any?
end