xbrlware-ruby19 1.1.2.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,143 @@
1
+ #!/usr/bin/ruby
2
+ #
3
+ # Author:: xbrlware@bitstat.com
4
+ #
5
+ # Copyright:: 2009, 2010 bitstat (http://www.bitstat.com). All Rights Reserved.
6
+ #
7
+ # License:: Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
16
+ # implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+ module Xbrlware
21
+
22
+ # Class to deal with taxonomy of instance file.
23
+ class Taxonomy
24
+
25
+ attr_accessor :ignore_lablb, :ignore_deflb, :ignore_prelb, :ignore_callb
26
+
27
+ # Creates a Taxonomy.
28
+ #
29
+ # taxonomy_path:: Instance taxonomy source path.
30
+ # instance:: Instance object
31
+ def initialize(taxonomy_path, instance)
32
+ @instance=instance
33
+ @taxonomy_content=nil
34
+
35
+ @taxonomy_file_basedir=nil
36
+ unless taxonomy_path.nil?
37
+ m=Benchmark.measure do
38
+ begin
39
+ @taxonomy_content=XmlParser.xml_in(taxonomy_path, {'ForceContent' => true})
40
+ rescue Exception
41
+ @taxonomy_content=XmlParser.xml_in(File.open(taxonomy_path).read.gsub("\n", ""), {'ForceContent' => true})
42
+ end
43
+ @taxonomy_file_basedir=File.dirname(taxonomy_path)+File::Separator
44
+ end
45
+ bm("Parsing [" + taxonomy_path + "] took", m)
46
+ end
47
+
48
+ @taxonomy_def_instance=TaxonomyDefintion.new
49
+ @taxonomy_content["element"].each do |element|
50
+ MetaUtil::introduce_instance_var(@taxonomy_def_instance, element["name"].gsub(/[^a-zA-Z0-9_]/, "_"), element)
51
+ end unless @taxonomy_content.nil? || @taxonomy_content["element"].nil?
52
+
53
+ @lablb, @deflb, @prelb, @callb=nil
54
+ end
55
+
56
+ # gets taxonomy definition
57
+ def definition(name)
58
+ @taxonomy_def_instance.send(name.gsub(/[^a-zA-Z0-9_]/, "_"))
59
+ end
60
+
61
+ # initialize and returns label linkbase
62
+ def lablb(file_path=nil)
63
+ return nil if ignore_lablb
64
+ file_path=linkbase_href(Xbrlware::LBConstants::LABEL) if file_path.nil? && @lablb.nil?
65
+ return @lablb if file_path.nil?
66
+ $LOG.warn(" Label linkbase already initialized. Ignoring " + file_path) unless file_path.nil? || @lablb.nil?
67
+ @lablb = Xbrlware::Linkbase::LabelLinkbase.new(file_path) if @lablb.nil? && File.exist?(file_path)
68
+ @lablb
69
+ end
70
+
71
+ # initialize and returns definition linkbase
72
+ def deflb(file_path=nil)
73
+ return nil if ignore_deflb
74
+ file_path=linkbase_href(Xbrlware::LBConstants::DEFINITION) if file_path.nil? && @deflb.nil?
75
+ return @deflb if file_path.nil?
76
+ $LOG.warn(" Definition linkbase already initialized. Ignoring " + file_path) unless file_path.nil? || @deflb.nil?
77
+ @deflb = Xbrlware::Linkbase::DefinitionLinkbase.new(file_path, lablb()) if @deflb.nil? && File.exist?(file_path)
78
+ @deflb
79
+ end
80
+
81
+ # initialize and returns presentation linkbase
82
+ def prelb(file_path=nil)
83
+ return nil if ignore_prelb
84
+ file_path=linkbase_href(Xbrlware::LBConstants::PRESENTATION) if file_path.nil? && @prelb.nil?
85
+ return @prelb if file_path.nil?
86
+ $LOG.warn(" Presentation linkbase already initialized. Ignoring " + file_path) unless file_path.nil? || @prelb.nil?
87
+ @prelb = Xbrlware::Linkbase::PresentationLinkbase.new(file_path, @instance, deflb, lablb) if @prelb.nil? && File.exist?(file_path)
88
+ @prelb
89
+ end
90
+
91
+ # initialize and returns calculation linkbase
92
+ def callb(file_path=nil)
93
+ return nil if ignore_callb
94
+ file_path=linkbase_href(Xbrlware::LBConstants::CALCULATION) if file_path.nil? && @callb.nil?
95
+ return @callb if file_path.nil?
96
+ $LOG.warn(" Calculation linkbase already initialized. Ignoring " + file_path) unless file_path.nil? || @callb.nil?
97
+ @callb = Xbrlware::Linkbase::CalculationLinkbase.new(file_path, @instance, lablb) if @callb.nil? && File.exist?(file_path)
98
+ @callb
99
+ end
100
+
101
+ # initialize all linkbases
102
+ def init_all_lb(cal_file_path=nil, pre_file_path=nil, lab_file_path=nil, def_file_path=nil)
103
+ @lablb, @deflb, @prelb, @callb=nil
104
+ lablb(lab_file_path)
105
+ deflb(def_file_path)
106
+ prelb(pre_file_path)
107
+ callb(cal_file_path)
108
+ return
109
+ end
110
+
111
+ private
112
+ def linkbase_href(linkbase)
113
+ begin
114
+ linkbase_refs=@taxonomy_content["annotation"][0]["appinfo"][0]["linkbaseRef"]
115
+ linkbase_refs.each do |ref|
116
+ if ref["xlink:role"]==linkbase
117
+ return @taxonomy_file_basedir + ref["xlink:href"] if ref["xml:base"].nil?
118
+ return @taxonomy_file_basedir + ref["xml:base"] + ref["xlink:href"]
119
+ end
120
+ end
121
+ rescue Exception => e
122
+ end
123
+ nil
124
+ end
125
+
126
+ end
127
+
128
+ class TaxonomyDefintion
129
+
130
+ def initialize
131
+ taxonomy_module=ENV["TAXO_NAME"].to_s.sub("-", "") + ENV["TAXO_VER"].to_s
132
+ if eval("defined?(Taxonomies::#{taxonomy_module}) == 'constant' and Taxonomies::#{taxonomy_module}.class == Module")
133
+ eval("self.extend Taxonomies::#{taxonomy_module}")
134
+ else
135
+ $LOG.warn("No taxonomy found for name ["+ENV["TAXO_NAME"].to_s+"] and version ["+ENV["TAXO_VER"].to_s+"]")
136
+ end
137
+ end
138
+
139
+ def method_missing(m, *args)
140
+ nil
141
+ end
142
+ end
143
+ end
@@ -0,0 +1,43 @@
1
+ #!/usr/bin/ruby
2
+ #
3
+ # Author:: xbrlware@bitstat.com
4
+ #
5
+ # Copyright:: 2009, 2010 bitstat (http://www.bitstat.com). All Rights Reserved.
6
+ #
7
+ # License:: Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
16
+ # implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+ module Xbrlware
21
+ # This class represents each unit in the XBRL instance file.
22
+ # Look at {delaing with instance page on xbrlware wiki}[http://code.google.com/p/xbrlware/wiki/InstanceTaxonomy] for more details.
23
+ class Unit
24
+ include NSAware
25
+
26
+ attr_reader :id, :measure
27
+
28
+ def initialize(id, measure)
29
+ @id = id
30
+ @measure=measure
31
+ end
32
+
33
+ class Divide
34
+
35
+ attr_reader :numerator, :denominator
36
+
37
+ def initialize(numerator, denominator)
38
+ @numerator=numerator
39
+ @denominator=denominator
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,86 @@
1
+ #!/usr/bin/ruby
2
+ #
3
+ # Author:: xbrlware@bitstat.com
4
+ #
5
+ # Copyright:: 2009, 2010 bitstat (http://www.bitstat.com). All Rights Reserved.
6
+ #
7
+ # License:: Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
16
+ # implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+ module Xbrlware
21
+
22
+ # Method to grep xbrl file names from given dir
23
+ # File names of xbrl documents has to be in the following convention to use this method,
24
+ # calculation linkbase document must end with _cal.xml
25
+ # definition linkbase document must end with _def.xml
26
+ # presentation linkbase document must end with _pre.xml
27
+ # label linkbase document must end with _lab.xml
28
+ # taxonomy file muse end with .xsd
29
+ def self.file_grep (dir_path=".")
30
+
31
+ taxonomy_file=nil
32
+ instance_file=nil
33
+
34
+ pre_file=nil
35
+ cal_file=nil
36
+ lab_file=nil
37
+ def_file=nil
38
+ ref_file=nil
39
+
40
+ files=Dir[dir_path+File::SEPARATOR+"*"]
41
+
42
+ files.each do |file|
43
+ case
44
+ when file.end_with?(".xsd")
45
+ taxonomy_file = file
46
+ when file.end_with?("pre.xml")
47
+ pre_file = file
48
+ when file.end_with?("cal.xml")
49
+ cal_file = file
50
+ when file.end_with?("def.xml")
51
+ def_file = file
52
+ when file.end_with?("lab.xml")
53
+ lab_file = file
54
+ when file.end_with?("ref.xml")
55
+ ref_file = file
56
+ when file.end_with?(".xml")
57
+ instance_file = file
58
+ end
59
+ end
60
+
61
+ {"ins" => instance_file, "tax" => taxonomy_file, "pre" => pre_file, "cal" => cal_file, "lab" => lab_file, "def" => def_file, "ref" => ref_file}
62
+ end
63
+
64
+ # Initializes and returns an Instance.
65
+ #
66
+ # instance_string::
67
+ # XBRL Instance source. Could be one of the following:
68
+ #
69
+ # - nil: Tries to load and parse '<scriptname>.xml'.
70
+ # - filename: Tries to load and parse filename.
71
+ # - IO object: Reads from object until EOF is detected and parses result.
72
+ # - XML string: Parses string.
73
+ #
74
+ # taxonomy_string::
75
+ # optional parameter, XBRL Taxonomy source. Could be one of the following:
76
+ #
77
+ # - nil: taxonomy file specified in the instance file would be used if present.
78
+ # - filename: Tries to load and parse filename., taxonomy file specified in the instance document will be ignored
79
+ # - IO object: Reads from object until EOF is detected and parses result, taxonomy file specified in the instance document will be ignored
80
+ # - XML string: Parses string, taxonomy file specified in the instance document will be ignored
81
+ #
82
+ def self.ins(instance_string, taxonomy_string=nil)
83
+ Instance.new(instance_string, taxonomy_string=nil)
84
+ end
85
+
86
+ end
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/ruby
2
+ #
3
+ # Author:: xbrlware@bitstat.com
4
+ #
5
+ # Copyright:: 2009, 2010 bitstat (http://www.bitstat.com). All Rights Reserved.
6
+ #
7
+ # License:: Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
16
+ # implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+ module Xbrlware
21
+ VERSION = "1.1.2.19"
22
+ end
@@ -0,0 +1,142 @@
1
+ #!/usr/bin/ruby
2
+ #
3
+ # Author:: xbrlware@bitstat.com
4
+ #
5
+ # Copyright:: 2009, 2010 bitstat (http://www.bitstat.com). All Rights Reserved.
6
+ #
7
+ # License:: Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
16
+ # implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+ module Xbrlware
21
+ # Method node_to_text, collapse of XmlSimple patched to bypass entity replacement.
22
+ # XmlSimple does entity replacement (XmlSimple depends on REXML which does entity replacement
23
+ # whenever node.valus is called. see http://www.germane-software.com/software/rexml/docs/tutorial.html under "Entity Replacement")
24
+ # to check an element is a text element or not. This is causing an issue, because XBRL document has large chuck of
25
+ # HTML content as part of their text node. These HTML contents are escaped (eg, '<' to &lt;), and XmlSimple treat them
26
+ # as entities tobe replaced with actual value. This was causing huge performance degradation. Hence two methods node_to_text
27
+ # and collapse of XmlSimple is patched to bypass entity replacement.
28
+ class XmlParser < XmlSimple # :nodoc:
29
+
30
+ # Converts a document node into a String.
31
+ # If the node could not be converted into a String
32
+ # for any reason, default will be returned.
33
+ #
34
+ # node::
35
+ # Document node to be converted.
36
+ # default::
37
+ # Value to be returned, if node could not be converted.
38
+ def node_to_text(node, default = nil)
39
+ if node.instance_of?(REXML::Element)
40
+ node.texts.map { |t| CGI::unescapeHTML(t.to_s) }.join('')
41
+ elsif node.instance_of?(REXML::Attribute)
42
+ node.value.nil? ? default : node.value.strip
43
+ elsif node.instance_of?(REXML::Text)
44
+ CGI::unescapeHTML(node.to_s).strip
45
+ else
46
+ default
47
+ end
48
+ end
49
+
50
+ def XmlParser.xml_in(string = nil, options = nil)
51
+ xml_parser = XmlParser.new
52
+ xml_parser.xml_in(string, options)
53
+ end
54
+
55
+ private
56
+ # Patch to xml-simple
57
+ def has_text?(element)
58
+ rv = element.get_text
59
+ return (not rv.nil?)
60
+ end
61
+
62
+ # Converts the attributes array of a document node into a Hash.
63
+ # Adds two attributes (nspace and nspace_prefix) to all elements.
64
+ # if any attribute exist with above name, it will be overridden
65
+ #
66
+ # node::
67
+ # Document node to extract attributes from.
68
+ def get_attributes(node)
69
+ attributes = {}
70
+ if @options['attrprefix']
71
+ node.attributes.each { |n, v| attributes["@" + n] = v }
72
+ attributes["@nspace"]=node.namespace
73
+ attributes["@nspace_prefix"]=node.prefix
74
+ else
75
+ node.attributes.each { |n, v| attributes[n] = v }
76
+ attributes["nspace"]=node.namespace
77
+ attributes["nspace_prefix"]=node.prefix
78
+ end
79
+ attributes
80
+ end
81
+
82
+ public
83
+ # Actually converts an XML document element into a data structure.
84
+ #
85
+ # element::
86
+ # The document element to be collapsed.
87
+ def collapse(element)
88
+ result = @options['noattr'] ? {} : get_attributes(element)
89
+
90
+ if @options['normalisespace'] == 2
91
+ result.each { |k, v| result[k] = normalise_space(v) }
92
+ end
93
+
94
+ if element.has_elements?
95
+ element.each_element { |child|
96
+ value = collapse(child)
97
+ if empty(value) && (element.attributes.empty? || @options['noattr'])
98
+ next if @options.has_key?('suppressempty') && @options['suppressempty'] == true
99
+ end
100
+ result = merge(result, child.name, value)
101
+ }
102
+ if has_mixed_content?(element)
103
+ # normalisespace?
104
+ content = element.texts.map { |x| x.to_s }
105
+ content = content[0] if content.size == 1
106
+ result[@options['contentkey']] = content
107
+ end
108
+ elsif has_text?(element) # i.e. it has only text.
109
+ return collapse_text_node(result, element)
110
+ end
111
+
112
+ # Turn Arrays into Hashes if key fields present.
113
+ count = fold_arrays(result)
114
+
115
+ # Disintermediate grouped tags.
116
+ if @options.has_key?('grouptags')
117
+ result.each { |key, value|
118
+ next unless (value.instance_of?(Hash) && (value.size == 1))
119
+ child_key, child_value = value.to_a[0]
120
+ if @options['grouptags'][key] == child_key
121
+ result[key] = child_value
122
+ end
123
+ }
124
+ end
125
+
126
+ # Fold Hashes containing a single anonymous Array up into just the Array.
127
+ if count == 1
128
+ anonymoustag = @options['anonymoustag']
129
+ if result.has_key?(anonymoustag) && result[anonymoustag].instance_of?(Array)
130
+ return result[anonymoustag]
131
+ end
132
+ end
133
+
134
+ if result.empty? && @options.has_key?('suppressempty')
135
+ return @options['suppressempty'] == '' ? '' : nil
136
+ end
137
+
138
+ result
139
+ end
140
+
141
+ end
142
+ end
@@ -0,0 +1,73 @@
1
+ #!/usr/bin/ruby
2
+ #
3
+ # Author:: xbrlware@bitstat.com
4
+ #
5
+ # Copyright:: 2009, 2010 bitstat (http://www.bitstat.com). All Rights Reserved.
6
+ #
7
+ # License:: Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
16
+ # implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+ require 'rubygems'
21
+ #gem 'xml-simple'#, '= 1.0.12'
22
+ require 'xmlsimple'
23
+
24
+ require 'date'
25
+ require 'bigdecimal'
26
+ require 'erb'
27
+ require 'set'
28
+ require "stringio"
29
+ require 'cgi'
30
+
31
+ require 'xbrlware-ruby19/version'
32
+ require 'xbrlware-ruby19/float_patch'
33
+ require 'xbrlware-ruby19/cgi_patch'
34
+ require 'xbrlware-ruby19/meta_util'
35
+ require 'xbrlware-ruby19/hash_util'
36
+ require 'xbrlware-ruby19/date_util'
37
+ require 'xbrlware-ruby19/xml_parser'
38
+
39
+ require 'xbrlware-ruby19/constants'
40
+ require 'xbrlware-ruby19/util'
41
+
42
+ require 'xbrlware-ruby19/taxonomies/us_gaap_taxonomy_20090131'
43
+
44
+ module Xbrlware; module Taxonomies
45
+ autoload :IFRS20090401, 'xbrlware-ruby19/taxonomies/ifrs_taxonomy_20090401'
46
+ end; end;
47
+
48
+ require 'xbrlware-ruby19/taxonomy'
49
+
50
+ require 'xbrlware-ruby19/ns_aware'
51
+ require 'xbrlware-ruby19/context'
52
+ require 'xbrlware-ruby19/instance'
53
+ require 'xbrlware-ruby19/unit'
54
+ require 'xbrlware-ruby19/item'
55
+
56
+ require 'xbrlware-ruby19/linkbase/linkbase'
57
+ require 'xbrlware-ruby19/linkbase/label_linkbase'
58
+ require 'xbrlware-ruby19/linkbase/calculation_linkbase'
59
+ require 'xbrlware-ruby19/linkbase/definition_linkbase'
60
+ require 'xbrlware-ruby19/linkbase/presentation_linkbase'
61
+
62
+ require 'logger'
63
+ require 'benchmark'
64
+
65
+ ENV["TAXO_NAME"]="US-GAAP"
66
+ ENV["TAXO_VER"]="20090131"
67
+
68
+ $LOG = Logger.new($stdout)
69
+ $LOG.level = Logger::INFO
70
+
71
+ def bm(title, measure) # :nodoc:
72
+ $LOG.debug title +" [ u :"+measure.utime.to_s+", s :"+measure.stime.to_s+", t :"+measure.total.to_s+", r :"+measure.real.to_s+"]"
73
+ end
@@ -0,0 +1,27 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/xbrlware-ruby19/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["Jim Lindstrom"]
6
+ gem.email = ["jim.lindstrom@gmail.com"]
7
+ gem.description = %q{Re-packaging of xbrlware for ruby19}
8
+ gem.summary = %q{Re-packaging of xbrlware for ruby19}
9
+ gem.homepage = ""
10
+
11
+ gem.add_dependency 'xml-simple'
12
+ #gem.add_dependency 'date'
13
+ gem.add_dependency 'bigdecimal'
14
+ #gem.add_dependency 'erb'
15
+ #gem.add_dependency 'set'
16
+ #gem.add_dependency 'stringio'
17
+ #gem.add_dependency 'cgi'
18
+ gem.add_dependency 'logger'
19
+ #gem.add_dependency 'benchmark'
20
+
21
+ gem.files = `git ls-files`.split($\)
22
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
23
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
24
+ gem.name = "xbrlware-ruby19"
25
+ gem.require_paths = ["lib"]
26
+ gem.version = Xbrlware::VERSION
27
+ end
metadata ADDED
@@ -0,0 +1,109 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: xbrlware-ruby19
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.2.19
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Jim Lindstrom
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-03-31 00:00:00.000000000 -04:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: xml-simple
17
+ requirement: &75044680 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *75044680
26
+ - !ruby/object:Gem::Dependency
27
+ name: bigdecimal
28
+ requirement: &75044470 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *75044470
37
+ - !ruby/object:Gem::Dependency
38
+ name: logger
39
+ requirement: &75044260 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *75044260
48
+ description: Re-packaging of xbrlware for ruby19
49
+ email:
50
+ - jim.lindstrom@gmail.com
51
+ executables: []
52
+ extensions: []
53
+ extra_rdoc_files: []
54
+ files:
55
+ - .gitignore
56
+ - Gemfile
57
+ - LICENSE
58
+ - README.md
59
+ - Rakefile
60
+ - lib/xbrlware-ruby19.rb
61
+ - lib/xbrlware-ruby19/cgi_patch.rb
62
+ - lib/xbrlware-ruby19/constants.rb
63
+ - lib/xbrlware-ruby19/context.rb
64
+ - lib/xbrlware-ruby19/date_util.rb
65
+ - lib/xbrlware-ruby19/float_patch.rb
66
+ - lib/xbrlware-ruby19/hash_util.rb
67
+ - lib/xbrlware-ruby19/instance.rb
68
+ - lib/xbrlware-ruby19/item.rb
69
+ - lib/xbrlware-ruby19/linkbase/calculation_linkbase.rb
70
+ - lib/xbrlware-ruby19/linkbase/definition_linkbase.rb
71
+ - lib/xbrlware-ruby19/linkbase/label_linkbase.rb
72
+ - lib/xbrlware-ruby19/linkbase/linkbase.rb
73
+ - lib/xbrlware-ruby19/linkbase/presentation_linkbase.rb
74
+ - lib/xbrlware-ruby19/meta_util.rb
75
+ - lib/xbrlware-ruby19/ns_aware.rb
76
+ - lib/xbrlware-ruby19/taxonomies/ifrs_taxonomy_20090401.rb
77
+ - lib/xbrlware-ruby19/taxonomies/us_gaap_taxonomy_20090131.rb
78
+ - lib/xbrlware-ruby19/taxonomy.rb
79
+ - lib/xbrlware-ruby19/unit.rb
80
+ - lib/xbrlware-ruby19/util.rb
81
+ - lib/xbrlware-ruby19/version.rb
82
+ - lib/xbrlware-ruby19/xml_parser.rb
83
+ - xbrlware-ruby19.gemspec
84
+ has_rdoc: true
85
+ homepage: ''
86
+ licenses: []
87
+ post_install_message:
88
+ rdoc_options: []
89
+ require_paths:
90
+ - lib
91
+ required_ruby_version: !ruby/object:Gem::Requirement
92
+ none: false
93
+ requirements:
94
+ - - ! '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ required_rubygems_version: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ! '>='
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ requirements: []
104
+ rubyforge_project:
105
+ rubygems_version: 1.6.2
106
+ signing_key:
107
+ specification_version: 3
108
+ summary: Re-packaging of xbrlware for ruby19
109
+ test_files: []