class RpiMarca::Receipt
Constants
- IPAS_RECEIPT_NOT_REQUIRED
Attributes
agent[R]
applicant[R]
assignee[R]
assignor[R]
date[R]
number[R]
service_code[R]
Public Class Methods
new(number:, date:, service_code: nil, agent: nil, applicant: nil, assignor: nil, assignee: nil)
click to toggle source
# File lib/rpi_marca/receipt.rb, line 12 def initialize(number:, date:, service_code: nil, agent: nil, applicant: nil, assignor: nil, assignee: nil) @number = number @date = date @service_code = format_service_code(service_code) @agent = agent @applicant = applicant @assignor = assignor @assignee = assignee end
parse(el)
click to toggle source
# File lib/rpi_marca/receipt.rb, line 23 def self.parse(el) return if el.nil? number = Helpers.get_attribute_value(el, 'numero') or fail ParseError, 'Receipt number is required' date = Helpers.get_attribute_value(el, 'data') or fail ParseError, 'Receipt date is required' new( number: number, date: Helpers.parse_date(date), **optional_params(el) ) end
Private Class Methods
optional_params(el)
click to toggle source
# File lib/rpi_marca/receipt.rb, line 38 def self.optional_params(el) { service_code: Helpers.get_attribute_value(el, 'codigoServico'), agent: Helpers.get_element_value(el.at_xpath('procurador')), applicant: Owner.parse(el.at_xpath('requerente')), assignor: Owner.parse(el.at_xpath('cedente')), assignee: Owner.parse(el.at_xpath('cessionario')) } end
Private Instance Methods
format_service_code(code)
click to toggle source
# File lib/rpi_marca/receipt.rb, line 52 def format_service_code(code) "#{code[0...3]}.#{code[3..-1]}".chomp('.') if code end