class Justicecz::Html::ResultLine
Public Class Methods
line(result_line)
click to toggle source
# File lib/justicecz/html/result_line.rb, line 9 def self.line(result_line) new(result_line).line end
new(result_line)
click to toggle source
# File lib/justicecz/html/result_line.rb, line 4 def initialize(result_line) @result_line = result_line @company = ::Justicecz::Entities::Company.new end
Public Instance Methods
line()
click to toggle source
# File lib/justicecz/html/result_line.rb, line 13 def line return nil if headers.empty? parse_line @company end
Private Instance Methods
headers()
click to toggle source
# File lib/justicecz/html/result_line.rb, line 42 def headers @result_line.search('th') end
parse_line()
click to toggle source
# File lib/justicecz/html/result_line.rb, line 21 def parse_line headers.each_with_index do |element, index| header = to_header(element) key = ::Justicecz::Misc::ParamsLookup.by_value(header) data = element.next_element @company.public_send("#{key}=", to_data(data)) end end
to_data(element)
click to toggle source
# File lib/justicecz/html/result_line.rb, line 34 def to_data(element) data = element.children.map(&:text).map do |text| text.gsub(/\t|\n/, '').strip end.reject(&:empty?) @company.misc = data.slice(1..-1).join(', ') if data.slice(1..-1).count.positive? data.first end
to_header(element)
click to toggle source
# File lib/justicecz/html/result_line.rb, line 30 def to_header(element) element.children.text.gsub(/:$/, '') end