class NCUA::CreditUnion::Scraper
Public Class Methods
new(charter_number)
click to toggle source
This bit is as brittle as glass, as coupled as conjoined twins, and as stinky as bad cheese
# File lib/ncua/credit_union/scraper.rb, line 5 def initialize(charter_number) @charter_number = charter_number end
Public Instance Methods
scrape!()
click to toggle source
# File lib/ncua/credit_union/scraper.rb, line 9 def scrape! Hash[html_doc.at_css("table#MainContent_newDetails").css("tr").map do |tr| if tr.at_css("td.dvHeader") && tr.at_css("td.dvHeader + td") [clean_header(tr.at_css("td.dvHeader").text), clean_value(tr.at_css("td.dvHeader + td").text)] end end] end
Private Instance Methods
clean_header(text)
click to toggle source
# File lib/ncua/credit_union/scraper.rb, line 19 def clean_header(text) text.gsub(/[,:]/,""). gsub("/", " or "). gsub(" ","_"). downcase. to_sym end
clean_value(text)
click to toggle source
# File lib/ncua/credit_union/scraper.rb, line 27 def clean_value(text) text.gsub(/[\n\r]/,"").strip end
html_doc()
click to toggle source
# File lib/ncua/credit_union/scraper.rb, line 31 def html_doc Nokogiri::HTML(request.body) end
request()
click to toggle source
# File lib/ncua/credit_union/scraper.rb, line 35 def request @request ||= DetailsClient.new.get_details(@charter_number) end