rename xml_elements to enriched_properties

This commit is contained in:
Benjamin Neff 2016-12-27 11:15:15 +01:00
parent bc7f0219c8
commit 3e8534c5c4
12 changed files with 28 additions and 23 deletions

View file

@ -151,11 +151,11 @@ module DiasporaFederation
# if the signatures are not there yet and if the keys are available.
#
# @return [Hash] sorted xml elements with updated signatures
def xml_elements
xml_data = super.merge(additional_xml_elements)
signature_order.map {|element| [element, xml_data[element] || ""] }.to_h.tap do |xml_elements|
xml_elements[:author_signature] = author_signature || sign_with_author
xml_elements[:parent_author_signature] = parent_author_signature || sign_with_parent_author_if_available.to_s
def enriched_properties
data = super.merge(additional_xml_elements)
signature_order.map {|element| [element, data[element] || ""] }.to_h.tap do |hash|
hash[:author_signature] = author_signature || sign_with_author
hash[:parent_author_signature] = parent_author_signature || sign_with_parent_author_if_available.to_s
end
end
@ -172,7 +172,7 @@ module DiasporaFederation
# @return [String] signature data string
def signature_data
data = to_h.merge(additional_xml_elements)
data = normalized_properties.merge(additional_xml_elements)
signature_order.map {|name| data[name] }.join(";")
end

View file

@ -83,11 +83,11 @@ module DiasporaFederation
# if the signatures are not there yet and if the keys are available.
#
# @return [Hash] xml elements with updated signatures
def xml_elements
def enriched_properties
privkey = DiasporaFederation.callbacks.trigger(:fetch_private_key, author)
super.tap do |xml_elements|
fill_required_signature(privkey, xml_elements) unless privkey.nil?
super.tap do |hash|
fill_required_signature(privkey, hash) unless privkey.nil?
end
end

View file

@ -68,9 +68,9 @@ module DiasporaFederation
# if the signatures are not there yet and if the keys are available.
#
# @return [Hash] xml elements with updated signatures
def xml_elements
super.tap do |xml_elements|
xml_elements[:target_author_signature] = target_author_signature || sign_with_author.to_s
def enriched_properties
super.tap do |hash|
hash[:target_author_signature] = target_author_signature || sign_with_author.to_s
end
end

View file

@ -96,7 +96,7 @@ module DiasporaFederation
def to_xml
doc = Nokogiri::XML::DocumentFragment.new(Nokogiri::XML::Document.new)
Nokogiri::XML::Element.new(self.class.entity_name, doc).tap do |root_element|
xml_elements.each do |name, value|
enriched_properties.each do |name, value|
add_property_to_xml(doc, root_element, name, value)
end
end
@ -215,10 +215,15 @@ module DiasporaFederation
end
end
def xml_elements
def normalized_properties
properties.map {|name, value| [name, self.class.class_props[name] == String ? value.to_s : value] }.to_h
end
# default: nothing to enrich
def enriched_properties
normalized_properties
end
def add_property_to_xml(doc, root_element, name, value)
if value.is_a? String
root_element << simple_node(doc, name, value)

View file

@ -4,7 +4,7 @@ module DiasporaFederation
let(:parent_entity) { FactoryGirl.build(:related_entity, author: bob.diaspora_id) }
let(:data) {
FactoryGirl.build(:comment_entity, author: alice.diaspora_id, parent_guid: parent.guid, parent: parent_entity)
.send(:xml_elements).merge(created_at: Time.now.utc, parent: parent_entity)
.send(:enriched_properties).merge(created_at: Time.now.utc, parent: parent_entity)
}
let(:xml) { <<-XML }

View file

@ -4,11 +4,11 @@ module DiasporaFederation
let(:parent_entity) { FactoryGirl.build(:related_entity, author: bob.diaspora_id) }
let(:signed_msg1) {
FactoryGirl.build(:message_entity, author: bob.diaspora_id, parent_guid: parent.guid, parent: parent_entity)
.send(:xml_elements).merge(parent: parent_entity)
.send(:enriched_properties).merge(parent: parent_entity)
}
let(:signed_msg2) {
FactoryGirl.build(:message_entity, author: bob.diaspora_id, parent_guid: parent.guid, parent: parent_entity)
.send(:xml_elements).merge(parent: parent_entity)
.send(:enriched_properties).merge(parent: parent_entity)
}
let(:data) {
FactoryGirl.attributes_for(:conversation_entity).merge!(

View file

@ -9,7 +9,7 @@ module DiasporaFederation
parent_guid: parent.guid,
parent_type: parent.entity_type,
parent: parent_entity
).send(:xml_elements).merge(parent: parent_entity)
).send(:enriched_properties).merge(parent: parent_entity)
}
let(:xml) { <<-XML }

View file

@ -4,7 +4,7 @@ module DiasporaFederation
let(:parent_entity) { FactoryGirl.build(:related_entity, author: bob.diaspora_id) }
let(:data) {
FactoryGirl.build(:message_entity, author: alice.diaspora_id, parent_guid: parent.guid, parent: parent_entity)
.send(:xml_elements).merge(parent: parent_entity)
.send(:enriched_properties).merge(parent: parent_entity)
}
let(:xml) { <<-XML }

View file

@ -9,7 +9,7 @@ module DiasporaFederation
parent_guid: parent.guid,
parent_type: parent.entity_type,
parent: parent_entity
).send(:xml_elements).merge(parent: parent_entity)
).send(:enriched_properties).merge(parent: parent_entity)
}
let(:xml) { <<-XML }

View file

@ -8,7 +8,7 @@ module DiasporaFederation
author: alice.diaspora_id,
parent_guid: parent.guid,
parent: parent_entity
).send(:xml_elements).merge(parent: parent_entity)
).send(:enriched_properties).merge(parent: parent_entity)
}
let(:xml) { <<-XML }

View file

@ -15,7 +15,7 @@ module DiasporaFederation
target_guid: target.guid,
target_type: target.entity_type,
target: target_entity
).send(:xml_elements).tap do |data|
).send(:enriched_properties).tap do |data|
data[:target_author_signature] = nil
data[:target] = target_entity
end

View file

@ -9,7 +9,7 @@ module DiasporaFederation
target_guid: target.guid,
target_type: target.entity_type,
target: target_entity
).send(:xml_elements).merge(target: target_entity)
).send(:enriched_properties).merge(target: target_entity)
}
let(:xml) { <<-XML }