delegate instead of denormalize
This commit is contained in:
parent
34ed07260f
commit
6dede984e9
1 changed files with 14 additions and 7 deletions
|
|
@ -4,8 +4,8 @@
|
||||||
|
|
||||||
module Salmon
|
module Salmon
|
||||||
class Slap
|
class Slap
|
||||||
attr_accessor :magic_sig, :author, :author_email, :aes_key, :iv, :parsed_data,
|
attr_accessor :magic_sig, :author, :author_email, :parsed_data
|
||||||
:data_type, :sig
|
attr_accessor :aes_key, :iv
|
||||||
|
|
||||||
def self.create(user, activity)
|
def self.create(user, activity)
|
||||||
salmon = self.new
|
salmon = self.new
|
||||||
|
|
@ -24,24 +24,31 @@ module Salmon
|
||||||
slap = self.new
|
slap = self.new
|
||||||
doc = Nokogiri::XML(xml)
|
doc = Nokogiri::XML(xml)
|
||||||
|
|
||||||
sig_doc = doc.search('entry')
|
|
||||||
|
|
||||||
### Header ##
|
### Header ##
|
||||||
header_doc = slap.salmon_header(doc, user)
|
header_doc = slap.salmon_header(doc, user)
|
||||||
slap.author_email= header_doc.search('uri').text.split("acct:").last
|
slap.author_email= header_doc.search('uri').text.split("acct:").last
|
||||||
slap.aes_key = header_doc.search('aes_key').text
|
slap.aes_key = header_doc.search('aes_key').text
|
||||||
slap.iv = header_doc.search('iv').text
|
slap.iv = header_doc.search('iv').text
|
||||||
|
|
||||||
slap.magic_sig = MagicSigEnvelope.parse sig_doc
|
slap.magic_sig = MagicSigEnvelope.parse(doc.search('entry'))
|
||||||
|
|
||||||
|
|
||||||
|
#should be in encrypted salmon only
|
||||||
key_hash = {'key' => slap.aes_key, 'iv' => slap.iv}
|
key_hash = {'key' => slap.aes_key, 'iv' => slap.iv}
|
||||||
|
|
||||||
slap.parsed_data = slap.parse_data(key_hash, user)
|
slap.parsed_data = slap.parse_data(key_hash, user)
|
||||||
slap.sig = slap.magic_sig.sig
|
|
||||||
slap.data_type = slap.magic_sig.data_type
|
|
||||||
|
|
||||||
slap
|
slap
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def sig
|
||||||
|
self.magic_sig.sig
|
||||||
|
end
|
||||||
|
|
||||||
|
def data_type
|
||||||
|
self.magic_sig.data_type
|
||||||
|
end
|
||||||
|
|
||||||
# @return [String]
|
# @return [String]
|
||||||
def self.payload(activity, user=nil, aes_key_hash=nil)
|
def self.payload(activity, user=nil, aes_key_hash=nil)
|
||||||
activity
|
activity
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue