module LiteXBRL::TDnet

Public Class Methods

parse(path) click to toggle source
# File lib/litexbrl/tdnet.rb, line 18
def parse(path)
  doc = File.open(path) {|f| Nokogiri::XML f }
  read doc
end
parse_cash_flow(str) click to toggle source
# File lib/litexbrl/tdnet.rb, line 28
def parse_cash_flow(str)
  doc = Nokogiri::XML str
  CashFlow2.read doc
end
parse_string(str) click to toggle source
# File lib/litexbrl/tdnet.rb, line 23
def parse_string(str)
  doc = Nokogiri::XML str
  read doc
end

Private Class Methods

find_reader(doc) click to toggle source
# File lib/litexbrl/tdnet.rb, line 41
def find_reader(doc)
  namespaces = doc.namespaces

  # TODO 委嬢する?
  if summary? namespaces
    Summary
  elsif summary2? namespaces
    Summary2
  elsif results_forecast? namespaces
    ResultsForecast
  elsif results_forecast2? namespaces
    ResultsForecast2
  else
    raise StandardError.new "ドキュメントがありません"
  end
end
read(doc) click to toggle source
# File lib/litexbrl/tdnet.rb, line 35
def read(doc)
  document = find_reader doc

  document.read doc
end
results_forecast2?(namespaces) click to toggle source
# File lib/litexbrl/tdnet.rb, line 70
def results_forecast2?(namespaces)
  namespaces.keys.any? {|ns| /tse-rvfc/ =~ ns }
end
results_forecast?(namespaces) click to toggle source
# File lib/litexbrl/tdnet.rb, line 66
def results_forecast?(namespaces)
  namespaces.keys.any? {|ns| /tdnet-rvfc/ =~ ns }
end
summary2?(namespaces) click to toggle source
# File lib/litexbrl/tdnet.rb, line 62
def summary2?(namespaces)
  namespaces.keys.any? {|ns| /tse-.+(jpsm|ussm|ifsm)/ =~ ns }
end
summary?(namespaces) click to toggle source
# File lib/litexbrl/tdnet.rb, line 58
def summary?(namespaces)
  namespaces.keys.any? {|ns| /tdnet-.+(jpsm|ussm|ifsm)/ =~ ns }
end