class RpiMarca::ViennaClass
Attributes
edition[R]
subclass1[R]
subclass2[R]
subclass3[R]
subclass4[R]
subclass5[R]
Public Class Methods
new(edition:, subclass1:, subclass2: nil, subclass3: nil, subclass4: nil, subclass5: nil)
click to toggle source
# File lib/rpi_marca/vienna_class.rb, line 6 def initialize(edition:, subclass1:, subclass2: nil, subclass3: nil, subclass4: nil, subclass5: nil) @edition = edition @subclass1 = subclass1 @subclass2 = subclass2 @subclass3 = subclass3 @subclass4 = subclass4 @subclass5 = subclass5 end
parse(el)
click to toggle source
# File lib/rpi_marca/vienna_class.rb, line 26 def self.parse(el) return unless el subclasses = parse_subclasses(el) new( edition: Helpers.get_attribute_value(el, 'edicao').to_i, **subclasses ) end
Private Class Methods
parse_subclasses(el)
click to toggle source
# File lib/rpi_marca/vienna_class.rb, line 37 def self.parse_subclasses(el) subclasses = el.xpath('.//classe-vienna').map { |s| s['codigo'] } fail ParseError, "Vienna class can't have more than 5 subclasses" if subclasses.length > 5 { subclass1: subclasses[0], subclass2: subclasses[1], subclass3: subclasses[2], subclass4: subclasses[3], subclass5: subclasses[4] } end
Public Instance Methods
to_s()
click to toggle source
# File lib/rpi_marca/vienna_class.rb, line 16 def to_s [ @subclass1, @subclass2, @subclass3, @subclass4, @subclass5 ].compact.join(' / ') end