class Fiscalizer::SecurityCodeGenerator
Attributes
invoice[R]
private_key[R]
Public Class Methods
new(invoice, private_key)
click to toggle source
# File lib/fiscalizer/services/security_code_generator.rb, line 3 def initialize(invoice, private_key) @invoice = invoice @private_key = private_key end
Public Instance Methods
call()
click to toggle source
# File lib/fiscalizer/services/security_code_generator.rb, line 10 def call invoice.security_code = md5_digest end
Private Instance Methods
md5_digest()
click to toggle source
# File lib/fiscalizer/services/security_code_generator.rb, line 16 def md5_digest Digest::MD5.hexdigest(signed_code) end
signed_code()
click to toggle source
# File lib/fiscalizer/services/security_code_generator.rb, line 20 def signed_code OpenSSL::PKey::RSA.new(private_key).sign(OpenSSL::Digest::SHA1.new, unsigned_code) end
unsigned_code()
click to toggle source
# File lib/fiscalizer/services/security_code_generator.rb, line 24 def unsigned_code invoice.pin + invoice.time_issued_str(' ') + invoice.issued_number.to_s + invoice.issued_office.to_s + invoice.issued_machine.to_s + invoice.summed_total_str end