Sha256: cb34746fccf97032dfbb04c3974e5ed2174cf80eda29845ffa2e6e00956698a6

Contents?: true

Size: 668 Bytes

Versions: 3

Compression:

Stored size: 668 Bytes

Contents

module RpiMarca
  class Ncl
    attr_reader :number, :edition, :goods_services

    def initialize(number:, edition:, goods_services:)
      fail ParseError, "NCL class #{number} out of range (1-45)" unless
        (1..45).include?(number.to_i)

      @number = number
      @edition = edition if edition > 0
      @goods_services = goods_services
    end

    def self.parse(el)
      return unless el

      new(
        number: Helpers.get_attribute_value(el, 'codigo'),
        edition: Helpers.get_attribute_value(el, 'edicao').to_i,
        goods_services: Helpers.get_element_value(
          el.at_xpath('.//especificacao')
        )
      )
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rpi_marca-0.0.3 lib/rpi_marca/ncl.rb
rpi_marca-0.0.2 lib/rpi_marca/ncl.rb
rpi_marca-0.0.1 lib/rpi_marca/ncl.rb