module SignHost::PayloadCreator
Public Class Methods
create(hash)
click to toggle source
# File lib/sign_host/payload_creator.rb, line 3 def self.create(hash) build_hash(hash) end
Private Class Methods
build_hash(hash)
click to toggle source
# File lib/sign_host/payload_creator.rb, line 9 def self.build_hash(hash) hash.assert_valid_keys(:file, :seal, :signers, :reference, :postback_url, :send_email_notifications) hash.require_keys(:file, :signers) hash[:file].assert_valid_keys(:name) hash[:file].require_keys(:name) { File: {Name: hash[:file][:name]}, Seal: hash[:seal], Signers: inject_signers(hash[:signers]), Reference: hash[:reference], PostbackUrl: hash[:postback_url], SendEmailNotifications: hash[:send_email_notifications] }.reject{|k,v| v.nil?} end
inject_signers(signers)
click to toggle source
# File lib/sign_host/payload_creator.rb, line 25 def self.inject_signers(signers) signers.collect do |hash| hash.assert_valid_keys(:email, :mobile, :require_scribble, :require_sms_verification, :send_sign_request, :sign_request_message, :language, :reference, :return_url) hash.require_keys(:email) hash.require_keys(:sign_request_message) if hash[:send_sign_request] { Email: hash[:email], Mobile: hash[:mobile], RequireScribble: hash[:require_scribble], RequireSmsVerification: hash[:require_sms_verification], SendSignRequest: hash[:send_sign_request], SignRequestMessage: hash[:sign_request_message], Language: hash[:language], Reference: hash[:reference], ReturnUrl: hash[:return_url] }.reject{|k,v| v.nil?} end end