lib/litexbrl/utils.rb in litexbrl-0.0.3 vs lib/litexbrl/utils.rb in litexbrl-0.1.0
- old
+ new
@@ -1,8 +1,12 @@
module LiteXBRL
module Utils
+ SECURITIES_CODE = /([\d|0-9]{4})/
+ CONSOLIDATED = "Consolidated"
+ NON_CONSOLIDATED = "NonConsolidated"
+
def hash_with_default(default, hash)
hash.default = default
hash
end
@@ -10,11 +14,11 @@
# 証券コードを取得します
#
def to_securities_code(elm_code)
raise StandardError.new("証券コードを取得できません。") unless elm_code
- elm_code.content.slice(0, 4).tr("0-9", "0-9")
+ SECURITIES_CODE =~ elm_code.content && $1.tr("0-9", "0-9")
end
#
# 決算年を取得します
#
@@ -32,10 +36,24 @@
elm_end.content.split('-')[1].to_i
end
#
+ # 連結・非連結を取得します
+ #
+ def to_consolidation(consolidation)
+ case consolidation
+ when CONSOLIDATED
+ 1
+ when NON_CONSOLIDATED
+ 0
+ else
+ raise StandardError.new("連結・非連結を取得できません。")
+ end
+ end
+
+ #
# 単位を100万円にします
#
def to_mill(val)
val.to_i / (1000 * 1000) if present? val
end
@@ -51,10 +69,10 @@
def percent_to_f(val)
(to_f(val) / 100).round(3) if present? val
end
def present?(val)
- val && val != ""
+ !!(val && val != "")
end
end
end
\ No newline at end of file