Sha256: 12d698ba0b965e1c3ef04168a4008b45cd7ddc47fad5fe801ab80effc833bd92
Contents?: true
Size: 1.32 KB
Versions: 2
Compression:
Stored size: 1.32 KB
Contents
module RpiMarca class Rule attr_reader :ipas, :description, :receipt, :complement, :complementary_receipts # 850130127025 de 02/07/2013, 850130131596 de 08/07/2013 COMPLEMENTARY_RECEIPTS = %r{ (?<receipt>[0-9]{12,}) # 850130127025 \s # space de \s (?<data>[0-9]{2}/[0-9]{2}/[0-9]{4}) # 02/07/2013 }x def initialize(ipas:, description:, complement:, receipt:) @ipas = ipas or fail ParseError @description = description or fail ParseError @complement = complement @receipt = receipt @complementary_receipts = [] parse_complementary_text if @complement end def self.parse(el) ipas = Helpers.get_attribute_value(el, 'codigo') new( ipas: ipas, description: Helpers.get_attribute_value(el, 'nome'), receipt: Receipt.parse(el.at_xpath('protocolo'), ipas), complement: Helpers.get_element_value( el.at_xpath('texto-complementar') ) ) end private def parse_complementary_text @complementary_receipts = @complement.scan(COMPLEMENTARY_RECEIPTS).map do |number, date| Receipt.new( number: number, date: Helpers.parse_date(date) ) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rpi_marca-0.0.2 | lib/rpi_marca/rule.rb |
rpi_marca-0.0.1 | lib/rpi_marca/rule.rb |