Module: DiasporaFederation::Entities::Relayable::Parsing
- Defined in:
- lib/diaspora_federation/entities/relayable.rb
Overview
Override class methods from DiasporaFederation::Entity to parse serialized data
Instance Method Summary collapse
-
#from_hash(properties_hash, property_order) ⇒ Object
Does the same job as Entity.from_hash except of the following differences: 1) unknown properties from the properties_hash are stored to additional_data of the relayable instance 2) parent entity fetch is attempted 3) signatures verification is performed; property_order is used as the order in which properties are composed to compute signatures 4) unknown properties’ keys must be of String type.
Instance Method Details
#from_hash(properties_hash, property_order) ⇒ Object
Does the same job as Entity.from_hash except of the following differences: 1) unknown properties from the properties_hash are stored to additional_data of the relayable instance 2) parent entity fetch is attempted 3) signatures verification is performed; property_order is used as the order in which properties are composed to compute signatures 4) unknown properties’ keys must be of String type
176 177 178 179 180 181 182 183 184 |
# File 'lib/diaspora_federation/entities/relayable.rb', line 176 def from_hash(properties_hash, property_order) # Use all known properties to build the Entity (entity_data). All additional elements # are respected and attached to a hash as string (additional_data). This is needed # to support receiving objects from the future versions of diaspora*, where new elements may have been added. additional_data = properties_hash.reject {|key, _| class_props.has_key?(key) } fetch_parent(properties_hash) new(properties_hash, property_order, additional_data).tap(&:verify_signature) end |