Class: Ticketbai::Operation
- Inherits:
-
Object
- Object
- Ticketbai::Operation
- Defined in:
- lib/ticketbai/operation.rb
Direct Known Subclasses
Ticketbai::Operations::Annulment, Ticketbai::Operations::Issuance
Instance Attribute Summary collapse
-
#company_cert ⇒ Object
Returns the value of attribute company_cert.
Instance Method Summary collapse
- #build_document ⇒ Object
-
#create ⇒ Hash
Creates the Ticketbai operation by doing the following: 1.
-
#initialize(args) ⇒ Operation
constructor
A new instance of Operation.
Constructor Details
#initialize(args) ⇒ Operation
Returns a new instance of Operation.
5 6 7 8 9 10 11 |
# File 'lib/ticketbai/operation.rb', line 5 def initialize(args) self.class::ATTRIBUTES.each do |p| instance_variable_set "@#{p}", args[p] end @company_cert = Ticketbai.config.certificates[args[:company_cert]] end |
Instance Attribute Details
#company_cert ⇒ Object
Returns the value of attribute company_cert.
3 4 5 |
# File 'lib/ticketbai/operation.rb', line 3 def company_cert @company_cert end |
Instance Method Details
#build_document ⇒ Object
33 34 35 |
# File 'lib/ticketbai/operation.rb', line 33 def build_document raise NotImplementedError, 'Must implement this method' end |
#create ⇒ Hash
Creates the Ticketbai operation by doing the following:
-
Build the document
-
Sign the document
-
Validate the signed document
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/ticketbai/operation.rb', line 21 def create document = build_document signed_document = sign_document(document) validate_document(signed_document) signature_value = read_signature_value(signed_document)[0..99] { xml_doc: signed_document, signature_value: signature_value } end |