taxplorer 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +14 -0
  4. data/.travis.yml +8 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +31 -0
  8. data/Rakefile +11 -0
  9. data/bin/taxplorer +4 -0
  10. data/data/taxonomies/uk-gaap/presentation/uk-aurep-2009-09-01-presentation.xml +133 -0
  11. data/data/taxonomies/uk-gaap/presentation/uk-bus-2009-09-01-presentation.xml +614 -0
  12. data/data/taxonomies/uk-gaap/presentation/uk-countries-2009-09-01-presentation.xml +552 -0
  13. data/data/taxonomies/uk-gaap/presentation/uk-currencies-2009-09-01-presentation.xml +388 -0
  14. data/data/taxonomies/uk-gaap/presentation/uk-direp-2009-09-01-presentation.xml +550 -0
  15. data/data/taxonomies/uk-gaap/presentation/uk-exchanges-2009-09-01-presentation.xml +381 -0
  16. data/data/taxonomies/uk-gaap/presentation/uk-gaap-2009-09-01-presentation.xml +11652 -0
  17. data/data/taxonomies/uk-gaap/presentation/uk-languages-2009-09-01-presentation.xml +222 -0
  18. data/data/taxonomies/uk-gaap/xsds/uk-aurep-2009-09-01.xsd +79 -0
  19. data/data/taxonomies/uk-gaap/xsds/uk-bus-2009-09-01.xsd +460 -0
  20. data/data/taxonomies/uk-gaap/xsds/uk-cd-ref-2009-09-01.xsd +62 -0
  21. data/data/taxonomies/uk-gaap/xsds/uk-common-2009-09-01.xsd +15 -0
  22. data/data/taxonomies/uk-gaap/xsds/uk-countries-2009-09-01.xsd +299 -0
  23. data/data/taxonomies/uk-gaap/xsds/uk-currencies-2009-09-01.xsd +215 -0
  24. data/data/taxonomies/uk-gaap/xsds/uk-direp-2009-09-01.xsd +348 -0
  25. data/data/taxonomies/uk-gaap/xsds/uk-exchanges-2009-09-01.xsd +209 -0
  26. data/data/taxonomies/uk-gaap/xsds/uk-gaap-2009-09-01.xsd +7283 -0
  27. data/data/taxonomies/uk-gaap/xsds/uk-gaap-ref-2009-09-01.xsd +32 -0
  28. data/data/taxonomies/uk-gaap/xsds/uk-languages-2009-09-01.xsd +134 -0
  29. data/data/taxonomies/uk-gaap/xsds/uk-types-2009-09-01.xsd +70 -0
  30. data/lib/taxplorer/command.rb +80 -0
  31. data/lib/taxplorer/find.rb +40 -0
  32. data/lib/taxplorer/parse.rb +95 -0
  33. data/lib/taxplorer/version.rb +3 -0
  34. data/lib/taxplorer/view.rb +23 -0
  35. data/lib/taxplorer.rb +29 -0
  36. data/taxplorer.gemspec +28 -0
  37. data/test/command_test.rb +6 -0
  38. data/test/find_test.rb +50 -0
  39. data/test/parse_test.rb +46 -0
  40. data/test/taxplorer_test.rb +19 -0
  41. data/test/test_helper.rb +4 -0
  42. data/test/view_test.rb +32 -0
  43. metadata +191 -0
@@ -0,0 +1,46 @@
1
+ require 'test_helper'
2
+ require 'taxplorer'
3
+
4
+ class TestParse < Minitest::Test
5
+ @@taxonomy_file = Nokogiri::XML(File.open('data/taxonomies/uk-gaap/xsds/uk-aurep-2009-09-01.xsd'))
6
+ @@presentation_file = Nokogiri::XML(File.open('data/taxonomies/uk-gaap/presentation/uk-aurep-2009-09-01-presentation.xml'))
7
+
8
+ def setup
9
+ @mockapp = Class.new do
10
+ include Taxplorer::Parse
11
+ attr_reader :records
12
+ def initialize;@records = {"sections" => [], "elements" => []};end
13
+ def clear;end
14
+ end.new
15
+ end
16
+
17
+ def test_sections_are_added
18
+ aurep_section = {:name=>"06 - Auditor's Report", :role_uri=>"http://www.xbrl.org/uk/role/AuditorsReport", :elements=>{}}
19
+ @mockapp.send(:add_sections, @@taxonomy_file)
20
+ assert_includes @mockapp.records["sections"], aurep_section
21
+ end
22
+
23
+ def test_elements_are_added
24
+ @mockapp.send(:add_elements, @@taxonomy_file)
25
+ assert_equal @mockapp.records["elements"].count, 55
26
+ assert_equal @mockapp.records["elements"].first[:id], "uk-aurep_AuditFeesExpenses"
27
+ end
28
+
29
+ def test_element_details_are_added
30
+ @mockapp.send(:add_elements, @@taxonomy_file)
31
+ info = @mockapp.records["elements"].first[:details]
32
+ assert_equal info.keys, ["id", "name", "type", "substitutionGroup", "periodType", "balance", "nillable"]
33
+ assert_equal info["type"], "xbrli:monetaryItemType"
34
+ assert_equal info["balance"], "debit"
35
+ end
36
+
37
+ def test_tree_creation
38
+ @mockapp.send(:add_sections, @@taxonomy_file)
39
+ @mockapp.send(:create_tree, @@presentation_file)
40
+ nodes = @mockapp.records["sections"].first[:elements]
41
+ roots = nodes.values.reject {|n| n.parent}
42
+ assert_equal roots.length, 3, "the auditors report should have three root nodes"
43
+ assert_equal nodes.values.select {|n| n.parent == "uk-aurep_AuditorInformationHeading"}.count, 7, "the auditors information root should have three chilren"
44
+ assert_equal nodes["uk-aurep_OtherNon-auditServicesEntitySubsidiariesFees"].parent, "uk-aurep_OtherNon-auditServicesFees", "deep node not added to tree"
45
+ end
46
+ end
@@ -0,0 +1,19 @@
1
+ require 'test_helper'
2
+ require 'taxplorer'
3
+
4
+ class TestTaxplorer < Minitest::Test
5
+
6
+ module Taxplorer::Command
7
+ def load_shell
8
+ return true
9
+ end
10
+ end
11
+
12
+ def test_app_initialization
13
+ app = Application.new
14
+ assert_equal [], app.records["sections"]
15
+ assert_equal [], app.records["elements"]
16
+ assert app.run
17
+ assert_send [app, :load_shell], "didn't load the shell"
18
+ end
19
+ end
@@ -0,0 +1,4 @@
1
+ require 'minitest/autorun'
2
+ require 'coveralls'
3
+ Coveralls.wear!
4
+
data/test/view_test.rb ADDED
@@ -0,0 +1,32 @@
1
+ require 'test_helper'
2
+ require 'taxplorer'
3
+
4
+ class TestView < Minitest::Test
5
+ @@taxonomy_file = Nokogiri::XML(File.open('data/taxonomies/uk-gaap/xsds/uk-aurep-2009-09-01.xsd'))
6
+ @@presentation_file = Nokogiri::XML(File.open('data/taxonomies/uk-gaap/presentation/uk-aurep-2009-09-01-presentation.xml'))
7
+
8
+ def setup
9
+ @mockapp = Class.new do
10
+ include Taxplorer::Parse
11
+ include Taxplorer::View
12
+ include Taxplorer::Find
13
+ attr_reader :records
14
+ def initialize;@records = {"sections" => [], "elements" => []};end
15
+ def clear;end
16
+ end.new
17
+ @mockapp.send(:add_sections, @@taxonomy_file)
18
+ @mockapp.send(:add_elements, @@taxonomy_file)
19
+ @mockapp.send(:create_tree, @@presentation_file)
20
+ end
21
+
22
+ def test_tree_view
23
+ @mockapp.get_section("06 - Auditor's Report")
24
+ l_1 = /uk-aurep_AuditorInformationHeading/
25
+ l_2 = /uk-bus_DescriptionOrOtherInformationOnThirdPartyAgent/
26
+ l_3 = /uk-bus_EntityAccountantsOrAuditors/
27
+ l_4 = /uk-bus_TotalAgentsDefault/
28
+ l_5 = /uk-bus_JointAgent3/
29
+ matches = Regexp.union(l_1, l_2, l_3, l_4, l_5)
30
+ assert_output(matches){ @mockapp.tree_view("uk-aurep_AuditorInformationHeading") }
31
+ end
32
+ end
metadata ADDED
@@ -0,0 +1,191 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: taxplorer
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.8
5
+ platform: ruby
6
+ authors:
7
+ - Seosamh Cahill
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-05-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.7'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 5.6.1
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 5.6.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: coveralls
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: nokogiri
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 1.6.6
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 1.6.6
83
+ - !ruby/object:Gem::Dependency
84
+ name: hirb
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.7.3
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.7.3
97
+ - !ruby/object:Gem::Dependency
98
+ name: highline
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 1.7.2
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 1.7.2
111
+ description: View Taxonomy stuff.
112
+ email:
113
+ - seo.cahill@gmail.com
114
+ executables:
115
+ - taxplorer
116
+ extensions: []
117
+ extra_rdoc_files: []
118
+ files:
119
+ - ".coveralls.yml"
120
+ - ".gitignore"
121
+ - ".travis.yml"
122
+ - Gemfile
123
+ - LICENSE.txt
124
+ - README.md
125
+ - Rakefile
126
+ - bin/taxplorer
127
+ - data/taxonomies/uk-gaap/presentation/uk-aurep-2009-09-01-presentation.xml
128
+ - data/taxonomies/uk-gaap/presentation/uk-bus-2009-09-01-presentation.xml
129
+ - data/taxonomies/uk-gaap/presentation/uk-countries-2009-09-01-presentation.xml
130
+ - data/taxonomies/uk-gaap/presentation/uk-currencies-2009-09-01-presentation.xml
131
+ - data/taxonomies/uk-gaap/presentation/uk-direp-2009-09-01-presentation.xml
132
+ - data/taxonomies/uk-gaap/presentation/uk-exchanges-2009-09-01-presentation.xml
133
+ - data/taxonomies/uk-gaap/presentation/uk-gaap-2009-09-01-presentation.xml
134
+ - data/taxonomies/uk-gaap/presentation/uk-languages-2009-09-01-presentation.xml
135
+ - data/taxonomies/uk-gaap/xsds/uk-aurep-2009-09-01.xsd
136
+ - data/taxonomies/uk-gaap/xsds/uk-bus-2009-09-01.xsd
137
+ - data/taxonomies/uk-gaap/xsds/uk-cd-ref-2009-09-01.xsd
138
+ - data/taxonomies/uk-gaap/xsds/uk-common-2009-09-01.xsd
139
+ - data/taxonomies/uk-gaap/xsds/uk-countries-2009-09-01.xsd
140
+ - data/taxonomies/uk-gaap/xsds/uk-currencies-2009-09-01.xsd
141
+ - data/taxonomies/uk-gaap/xsds/uk-direp-2009-09-01.xsd
142
+ - data/taxonomies/uk-gaap/xsds/uk-exchanges-2009-09-01.xsd
143
+ - data/taxonomies/uk-gaap/xsds/uk-gaap-2009-09-01.xsd
144
+ - data/taxonomies/uk-gaap/xsds/uk-gaap-ref-2009-09-01.xsd
145
+ - data/taxonomies/uk-gaap/xsds/uk-languages-2009-09-01.xsd
146
+ - data/taxonomies/uk-gaap/xsds/uk-types-2009-09-01.xsd
147
+ - lib/taxplorer.rb
148
+ - lib/taxplorer/command.rb
149
+ - lib/taxplorer/find.rb
150
+ - lib/taxplorer/parse.rb
151
+ - lib/taxplorer/version.rb
152
+ - lib/taxplorer/view.rb
153
+ - taxplorer.gemspec
154
+ - test/command_test.rb
155
+ - test/find_test.rb
156
+ - test/parse_test.rb
157
+ - test/taxplorer_test.rb
158
+ - test/test_helper.rb
159
+ - test/view_test.rb
160
+ homepage: https://github.com/seocahill/taxplorer
161
+ licenses:
162
+ - MIT
163
+ metadata: {}
164
+ post_install_message:
165
+ rdoc_options: []
166
+ require_paths:
167
+ - lib
168
+ required_ruby_version: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ required_rubygems_version: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - ">="
176
+ - !ruby/object:Gem::Version
177
+ version: '0'
178
+ requirements: []
179
+ rubyforge_project:
180
+ rubygems_version: 2.4.5
181
+ signing_key:
182
+ specification_version: 4
183
+ summary: XBRL taxonomy parser
184
+ test_files:
185
+ - test/command_test.rb
186
+ - test/find_test.rb
187
+ - test/parse_test.rb
188
+ - test/taxplorer_test.rb
189
+ - test/test_helper.rb
190
+ - test/view_test.rb
191
+ has_rdoc: