Sha256: 9241fb21bc4feca69f62d70fb3b462105295620857af49ac5f77e0c7cf283ccf

Contents?: true

Size: 717 Bytes

Versions: 2

Compression:

Stored size: 717 Bytes

Contents

class Cik

  require 'open-uri'
  require 'nokogiri'

  class << self

    def lookup(symbol)
      doc = Nokogiri::HTML(open(edgar_lookup_url(symbol)))
      md = /(.+)\sCIK#:\s(\d{10})/.match(company_info(doc))
      if md
        {
          cik: md[2],
          name: md[1],
          sic: sic(doc)
        }
      else
        nil
      end
    end

    def edgar_lookup_url(symbol)
      "http://www.sec.gov/cgi-bin/browse-edgar?CIK=#{symbol}&action=getcompany"
    end

    def company_info(doc)
      doc.css("div.companyInfo").css("span.companyName").text
    end

    def sic(doc)
      doc.css("p.identInfo a")[0].text
    end

  end

  private_class_method :edgar_lookup_url, :edgar_lookup_url, :sic

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cik-1.0.1 lib/cik/cik.rb
cik-1.0.0 lib/cik/cik.rb