meta_reports 0.0.1

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.
Files changed (111) hide show
  1. checksums.yaml +7 -0
  2. data/Guardfile +15 -0
  3. data/LICENSE +20 -0
  4. data/README.md +146 -0
  5. data/Rakefile +29 -0
  6. data/app/assets/images/meta_reports/print.png +0 -0
  7. data/app/assets/images/meta_reports/spreadsheet.png +0 -0
  8. data/app/assets/javascripts/meta_reports/reports.js +2 -0
  9. data/app/controllers/meta_reports/application_controller.rb +4 -0
  10. data/app/controllers/meta_reports/reports_controller.rb +91 -0
  11. data/app/helpers/meta_reports/reports_helper.rb +140 -0
  12. data/app/models/meta_reports/base.rb +90 -0
  13. data/app/models/meta_reports/data.rb +34 -0
  14. data/app/models/meta_reports/table.rb +80 -0
  15. data/config/routes.rb +9 -0
  16. data/db/migrate/20130801071213_create_meta_reports_reports.rb +17 -0
  17. data/lib/generators/meta_reports/install_generator.rb +40 -0
  18. data/lib/generators/meta_reports/templates/models/report.rb +30 -0
  19. data/lib/generators/meta_reports/templates/views/_form.html.erb +45 -0
  20. data/lib/generators/meta_reports/templates/views/edit.html.erb +6 -0
  21. data/lib/generators/meta_reports/templates/views/forms/_form_example.html.erb +1 -0
  22. data/lib/generators/meta_reports/templates/views/forms/form.html.erb +17 -0
  23. data/lib/generators/meta_reports/templates/views/index.html.erb +36 -0
  24. data/lib/generators/meta_reports/templates/views/new.html.erb +5 -0
  25. data/lib/generators/meta_reports/templates/views/templates/_default.html.erb +26 -0
  26. data/lib/generators/meta_reports/templates/views/templates/_default_footer.pdf.prawn +12 -0
  27. data/lib/generators/meta_reports/templates/views/templates/_default_header.pdf.prawn +14 -0
  28. data/lib/generators/meta_reports/templates/views/templates/_default_header.xlsx.axlsx +20 -0
  29. data/lib/generators/meta_reports/templates/views/templates/_default_table.html.erb +24 -0
  30. data/lib/generators/meta_reports/templates/views/templates/_default_table.pdf.prawn +29 -0
  31. data/lib/generators/meta_reports/templates/views/templates/default.html.erb +1 -0
  32. data/lib/generators/meta_reports/templates/views/templates/default.pdf.prawn +26 -0
  33. data/lib/generators/meta_reports/templates/views/templates/default.xlsx.axlsx +43 -0
  34. data/lib/meta_reports.rb +4 -0
  35. data/lib/meta_reports/engine.rb +15 -0
  36. data/lib/meta_reports/version.rb +3 -0
  37. data/lib/tasks/meta_reports_tasks.rake +4 -0
  38. data/spec/dummy/README.rdoc +261 -0
  39. data/spec/dummy/Rakefile +7 -0
  40. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  41. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  42. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  43. data/spec/dummy/app/controllers/home_controller.rb +4 -0
  44. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  45. data/spec/dummy/app/models/meta_reports/report.rb +30 -0
  46. data/spec/dummy/app/views/home/index.html.erb +4 -0
  47. data/spec/dummy/app/views/layouts/application.html.erb +16 -0
  48. data/spec/dummy/app/views/meta_reports/reports/_form.html.erb +45 -0
  49. data/spec/dummy/app/views/meta_reports/reports/edit.html.erb +6 -0
  50. data/spec/dummy/app/views/meta_reports/reports/forms/_form_moo.html.erb +1 -0
  51. data/spec/dummy/app/views/meta_reports/reports/forms/form.html.erb +17 -0
  52. data/spec/dummy/app/views/meta_reports/reports/index.html.erb +36 -0
  53. data/spec/dummy/app/views/meta_reports/reports/new.html.erb +5 -0
  54. data/spec/dummy/app/views/meta_reports/reports/templates/_default.html.erb +26 -0
  55. data/spec/dummy/app/views/meta_reports/reports/templates/_default_footer.pdf.prawn +12 -0
  56. data/spec/dummy/app/views/meta_reports/reports/templates/_default_header.pdf.prawn +14 -0
  57. data/spec/dummy/app/views/meta_reports/reports/templates/_default_header.xlsx.axlsx +20 -0
  58. data/spec/dummy/app/views/meta_reports/reports/templates/_default_table.html.erb +24 -0
  59. data/spec/dummy/app/views/meta_reports/reports/templates/_default_table.pdf.prawn +29 -0
  60. data/spec/dummy/app/views/meta_reports/reports/templates/default.html.erb +1 -0
  61. data/spec/dummy/app/views/meta_reports/reports/templates/default.pdf.prawn +26 -0
  62. data/spec/dummy/app/views/meta_reports/reports/templates/default.xlsx.axlsx +43 -0
  63. data/spec/dummy/config.ru +4 -0
  64. data/spec/dummy/config/application.rb +65 -0
  65. data/spec/dummy/config/boot.rb +10 -0
  66. data/spec/dummy/config/database.yml +25 -0
  67. data/spec/dummy/config/environment.rb +5 -0
  68. data/spec/dummy/config/environments/development.rb +37 -0
  69. data/spec/dummy/config/environments/production.rb +67 -0
  70. data/spec/dummy/config/environments/test.rb +37 -0
  71. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  72. data/spec/dummy/config/initializers/inflections.rb +15 -0
  73. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  74. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  75. data/spec/dummy/config/initializers/session_store.rb +8 -0
  76. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  77. data/spec/dummy/config/locales/en.yml +5 -0
  78. data/spec/dummy/config/routes.rb +4 -0
  79. data/spec/dummy/config/routes_empty.rb +3 -0
  80. data/spec/dummy/config/routes_original.rb +4 -0
  81. data/spec/dummy/db/development.sqlite3 +0 -0
  82. data/spec/dummy/db/schema.rb +31 -0
  83. data/spec/dummy/log/development.log +22317 -0
  84. data/spec/dummy/public/404.html +26 -0
  85. data/spec/dummy/public/422.html +26 -0
  86. data/spec/dummy/public/500.html +25 -0
  87. data/spec/dummy/public/favicon.ico +0 -0
  88. data/spec/dummy/script/rails +6 -0
  89. data/spec/dummy/tmp/cache/assets/C9B/140/sprockets%2F805babf865ce32228222420a522c7b36 +0 -0
  90. data/spec/dummy/tmp/cache/assets/CBD/2B0/sprockets%2F9e22e937dd267c81a146665f15471b8e +0 -0
  91. data/spec/dummy/tmp/cache/assets/CD0/810/sprockets%2Fe858c95fa595e319dac0065d49982967 +0 -0
  92. data/spec/dummy/tmp/cache/assets/CD0/AC0/sprockets%2F1d341d7a2fc1328567d4b23e0809b2e2 +0 -0
  93. data/spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  94. data/spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  95. data/spec/dummy/tmp/cache/assets/D3D/EB0/sprockets%2F2d47bd3108d9abbb12c0497e36d9674d +0 -0
  96. data/spec/dummy/tmp/cache/assets/D40/8F0/sprockets%2F290aea2004dfecfc76f42e48970f1484 +0 -0
  97. data/spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  98. data/spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  99. data/spec/dummy/tmp/cache/assets/D61/310/sprockets%2Fc168b1c9be3e38ac1c8403a3074b5b8c +0 -0
  100. data/spec/dummy/tmp/cache/assets/D74/AE0/sprockets%2F9ad0425db5cfa16a9426f7b1a7958d7d +0 -0
  101. data/spec/dummy/tmp/cache/assets/D98/270/sprockets%2F0b7ba158ff62bbbb378d6bea80680c63 +0 -0
  102. data/spec/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  103. data/spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  104. data/spec/dummy/tmp/cache/assets/E5A/EF0/sprockets%2Fb0d5af721ea37c98fd4bccd8e1e5c6ab +0 -0
  105. data/spec/dummy/tmp/pids/server.pid +1 -0
  106. data/spec/features/dummy_spec.rb +42 -0
  107. data/spec/generators/install_spec.rb +51 -0
  108. data/spec/models/data_spec.rb +45 -0
  109. data/spec/models/table_spec.rb +78 -0
  110. data/spec/spec_helper.rb +41 -0
  111. metadata +454 -0
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/404.html -->
21
+ <div class="dialog">
22
+ <h1>The page you were looking for doesn't exist.</h1>
23
+ <p>You may have mistyped the address or the page may have moved.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/422.html -->
21
+ <div class="dialog">
22
+ <h1>The change you wanted was rejected.</h1>
23
+ <p>Maybe you tried to change something you didn't have access to.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/500.html -->
21
+ <div class="dialog">
22
+ <h1>We're sorry, but something went wrong.</h1>
23
+ </div>
24
+ </body>
25
+ </html>
File without changes
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1 @@
1
+ 42491
@@ -0,0 +1,42 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'MetaReports dummy app' do
4
+ before :all do
5
+ MetaReports::Report.delete_all
6
+ @report_moo = MetaReports::Report.create(name: 'moo', description: 'Moo, eh?', title: 'Le Moo', group: 'moo', formats_mask: 7)
7
+ end
8
+
9
+ it "displays the index" do
10
+ visit '/'
11
+ page.should have_content "This page is only to see if the dummy app runs."
12
+ end
13
+
14
+ it "routes to the reports page" do
15
+ visit '/meta_reports'
16
+ page.should have_content "Le Moo"
17
+ page.should have_content "Moo, eh?"
18
+ end
19
+
20
+ it "shows report using html" do
21
+ visit "/meta_reports/#{@report_moo.id}"
22
+ page.should have_content "Ode to Moo"
23
+ end
24
+
25
+ it "downloads report using pdf" do
26
+ visit "/meta_reports/#{@report_moo.id}.pdf"
27
+ response_headers["Content-Type"].should == "application/pdf; charset=utf-8"
28
+ output = PDF::Inspector::Text.analyze(page.source)
29
+ output.strings.should == ["Company Name", "1234 Address", "City, ST 12345", "(123) 456-7890", "Le Moo", "Ahem", "The Big Moo", "Number", "Title", "Hey", "1", "Ode to Moo", "Ow", "2", "Odious Moo", "Eww", "3", "Moo", "No Way!", "Page 1 of 1"]
30
+ end
31
+
32
+ it "downloads report using xlsx" do
33
+ visit "/meta_reports/#{@report_moo.id}.xlsx"
34
+ page.response_headers['Content-Type'].should == Mime::XLSX.to_s + "; charset=utf-8"
35
+ File.open('/tmp/meta_reports.xlsx', 'w') {|f| f.write(page.source) }
36
+ wb = nil
37
+ expect{ wb = Excelx.new('/tmp/meta_reports.xlsx') }.to_not raise_error
38
+ wb.cell(3,1).should == 'Le Moo'
39
+ wb.cell(6,1).should == 'The Big Moo'
40
+ wb.cell(9,2).should == 'Odious Moo'
41
+ end
42
+ end
@@ -0,0 +1,51 @@
1
+ require 'spec_helper'
2
+ require 'fileutils'
3
+
4
+ describe 'meta_reports:install', disabled: true do
5
+ before :all do
6
+ Dir.chdir(Rails.root) do
7
+ FileUtils.cp "config/routes_empty.rb", "config/routes.rb"
8
+ Dir.glob("db/migrate/*create_meta_reports_reports.meta_reports.rb").each do |migration|
9
+ File.unlink(migration)
10
+ end
11
+ end
12
+ end
13
+
14
+ after :all do
15
+ Dir.chdir(Rails.root) do
16
+ FileUtils.cp "config/routes_original.rb", "config/routes.rb"
17
+ migrations = Dir.glob("db/migrate/*create_meta_reports_reports.meta_reports.rb")
18
+ migrations.length.should == 1
19
+ migrations.each {|m| File.unlink(m) }
20
+ end
21
+ end
22
+
23
+ it "should generate model" do
24
+ subject.should generate("app/models/meta_reports/report.rb")
25
+ end
26
+
27
+ it "should modify the routes file" do
28
+ Dir.chdir(Rails.root) do
29
+ open("config/routes.rb").grep(/MetaReports::Engine/).should be
30
+ end
31
+ end
32
+
33
+ it "should generate views" do
34
+ subject.should generate("app/views/meta_reports/reports")
35
+ subject.should generate("app/views/meta_reports/reports/forms")
36
+ subject.should generate("app/views/meta_reports/reports/forms/form.html.erb")
37
+ subject.should generate("app/views/meta_reports/reports/forms/_form_example.html.erb")
38
+ subject.should generate("app/views/meta_reports/reports/templates")
39
+ subject.should generate("app/views/meta_reports/reports/templates/_default.html.erb")
40
+ subject.should generate("app/views/meta_reports/reports/templates/_default_footer.pdf.prawn")
41
+ subject.should generate("app/views/meta_reports/reports/templates/_default_table.html.erb")
42
+ subject.should generate("app/views/meta_reports/reports/templates/_default_table.pdf.prawn")
43
+ subject.should generate("app/views/meta_reports/reports/templates/default.html.erb")
44
+ subject.should generate("app/views/meta_reports/reports/templates/default.pdf.prawn")
45
+ subject.should generate("app/views/meta_reports/reports/templates/default.xlsx.axlsx")
46
+ subject.should generate("app/views/meta_reports/reports/_form.html.erb")
47
+ subject.should generate("app/views/meta_reports/reports/edit.html.erb")
48
+ subject.should generate("app/views/meta_reports/reports/index.html.erb")
49
+ subject.should generate("app/views/meta_reports/reports/new.html.erb")
50
+ end
51
+ end
@@ -0,0 +1,45 @@
1
+ require 'spec_helper'
2
+ describe MetaReports::Data do
3
+ it 'can be created' do
4
+ MetaReports::Data.new.should be
5
+ end
6
+
7
+ it 'returns the hash' do
8
+ data = MetaReports::Data.new
9
+ data.to_h.class.name.should == 'Hash'
10
+ end
11
+
12
+ it 'stores unknown methods in hash' do
13
+ data = MetaReports::Data.new
14
+ data.foo = "moo"
15
+ data.to_h[:foo].should == "moo"
16
+ data[:bar] = "boo"
17
+ data.to_h[:bar].should == "boo"
18
+ end
19
+
20
+ it 'returns hash values' do
21
+ data = MetaReports::Data.new
22
+ data.foo = "bar"
23
+ data.foo.should == "bar"
24
+ end
25
+
26
+ it 'returns nil or val for [] methods' do
27
+ data = MetaReports::Data.new
28
+ data[:foo].should == nil
29
+ data[:foo] = "bar"
30
+ data[:foo].should == "bar"
31
+ end
32
+
33
+ it 'passes methods to hash if not a key' do
34
+ data = MetaReports::Data.new
35
+ data.foo = "bar"
36
+ data.to_a.should match_array([[:foo, "bar"], [:tables, {}]])
37
+ end
38
+
39
+ it 'works with a block' do
40
+ data = MetaReports::Data.new do |d|
41
+ d.foo = "bar"
42
+ end
43
+ data.foo.should == 'bar'
44
+ end
45
+ end
@@ -0,0 +1,78 @@
1
+ require 'spec_helper'
2
+ describe MetaReports::Table do
3
+ it 'can be created' do
4
+ MetaReports::Table.new.should be
5
+ end
6
+
7
+ it 'returns the table' do
8
+ table = MetaReports::Table.new
9
+ table.to_a.class.name.should == 'Array'
10
+ end
11
+
12
+ it 'stores unknown methods in options' do
13
+ table = MetaReports::Table.new
14
+ table.foo = "moo"
15
+ table.options[:foo].should == "moo"
16
+ table[:bar] = "boo"
17
+ table.options[:bar].should == "boo"
18
+ end
19
+
20
+ it 'returns option values' do
21
+ table = MetaReports::Table.new
22
+ table.foo = "bar"
23
+ table.foo.should == "bar"
24
+ end
25
+
26
+ it 'returns nil or val for [] methods' do
27
+ table = MetaReports::Table.new
28
+ table[:foo].should == nil
29
+ table[:foo] = "bar"
30
+ table[:foo].should == "bar"
31
+ end
32
+
33
+ it 'adds to data array' do
34
+ table = MetaReports::Table.new
35
+ table << [:foo, "bar"]
36
+ table.to_a.should match_array([[:foo, 'bar']])
37
+ # alias
38
+ table.data.should match_array([[:foo, 'bar']])
39
+ end
40
+
41
+ it 'returns length' do
42
+ table = MetaReports::Table.new
43
+ table << [:foo, "bar"]
44
+ table.length.should == 1
45
+ end
46
+
47
+ it 'adds to data array' do
48
+ table = MetaReports::Table.new
49
+ table << [:foo, "bar"]
50
+ table.to_a.should match_array([[:foo, 'bar']])
51
+ end
52
+
53
+ it 'adds row_classes directly' do
54
+ table = MetaReports::Table.new
55
+ table.row_classes[5] = 'zoop'
56
+ table.options[:row_classes].should == {5 => 'zoop'}
57
+ end
58
+
59
+ it 'works with a block' do
60
+ table = MetaReports::Table.new do |d|
61
+ d.foo = "bar"
62
+ end
63
+ table.options[:foo].should == 'bar'
64
+ end
65
+
66
+ it 'passes array functions to data' do
67
+ table = MetaReports::Table.new
68
+ table.push [:foo, "bar"]
69
+ table.to_a.should match_array([[:foo, 'bar']])
70
+ table.unshift [:baz, "moo"]
71
+ table.to_a.should match_array([[:baz, "moo"],[:foo, 'bar']])
72
+ table.first.should == [:baz, "moo"]
73
+ table.last.should == [:foo, 'bar']
74
+ table.shift.should == [:baz, "moo"]
75
+ table.pop.should == [:foo, 'bar']
76
+ table.to_a.should == []
77
+ end
78
+ end
@@ -0,0 +1,41 @@
1
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
2
+ ENV["RAILS_ENV"] ||= 'test'
3
+ require File.expand_path("../dummy/config/environment", __FILE__)
4
+ require 'rspec/rails'
5
+ require 'rspec/autorun'
6
+
7
+ # Requires supporting ruby files with custom matchers and macros, etc,
8
+ # in spec/support/ and its subdirectories.
9
+ Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
10
+
11
+ RSpec.configure do |config|
12
+ config.color_enabled = true
13
+ config.filter_run_excluding disabled: true
14
+
15
+ # ## Mock Framework
16
+ #
17
+ # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
18
+ #
19
+ # config.mock_with :mocha
20
+ # config.mock_with :flexmock
21
+ # config.mock_with :rr
22
+
23
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
24
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
25
+
26
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
27
+ # examples within a transaction, remove the following line or assign false
28
+ # instead of true.
29
+ config.use_transactional_fixtures = true
30
+
31
+ # If true, the base class of anonymous controllers will be inferred
32
+ # automatically. This will be the default behavior in future versions of
33
+ # rspec-rails.
34
+ config.infer_base_class_for_anonymous_controllers = false
35
+
36
+ # Run specs in random order to surface order dependencies. If you find an
37
+ # order dependency and want to debug it, you can fix the order by providing
38
+ # the seed, which is printed after each run.
39
+ # --seed 1234
40
+ config.order = "random"
41
+ end
metadata ADDED
@@ -0,0 +1,454 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: meta_reports
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Noel Peden
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-09-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 3.2.14
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 3.2.14
27
+ - !ruby/object:Gem::Dependency
28
+ name: axlsx_rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: prawn_rails
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '1.3'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '1.3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec-rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: guard-rspec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: capybara
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: roo
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '='
130
+ - !ruby/object:Gem::Version
131
+ version: 1.10.1
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '='
137
+ - !ruby/object:Gem::Version
138
+ version: 1.10.1
139
+ - !ruby/object:Gem::Dependency
140
+ name: sqlite3
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: growl
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: rb-fsevent
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - '>='
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: pry-rails
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - '>='
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - '>='
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: pry-debugger
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - '>='
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - '>='
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: genspec
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - '>='
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - '>='
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: pdf-inspector
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ~>
228
+ - !ruby/object:Gem::Version
229
+ version: 1.1.0
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ~>
235
+ - !ruby/object:Gem::Version
236
+ version: 1.1.0
237
+ description: Meta Reports provides a meta language and data structure to create a
238
+ 'meta' report. This report can then be exported into any format desired. MR provides
239
+ HTML, PDF, and XLSX exports built in.
240
+ email:
241
+ - noel@peden.biz
242
+ executables: []
243
+ extensions: []
244
+ extra_rdoc_files: []
245
+ files:
246
+ - app/assets/images/meta_reports/print.png
247
+ - app/assets/images/meta_reports/spreadsheet.png
248
+ - app/assets/javascripts/meta_reports/reports.js
249
+ - app/controllers/meta_reports/application_controller.rb
250
+ - app/controllers/meta_reports/reports_controller.rb
251
+ - app/helpers/meta_reports/reports_helper.rb
252
+ - app/models/meta_reports/base.rb
253
+ - app/models/meta_reports/data.rb
254
+ - app/models/meta_reports/table.rb
255
+ - config/routes.rb
256
+ - db/migrate/20130801071213_create_meta_reports_reports.rb
257
+ - lib/generators/meta_reports/install_generator.rb
258
+ - lib/generators/meta_reports/templates/models/report.rb
259
+ - lib/generators/meta_reports/templates/views/_form.html.erb
260
+ - lib/generators/meta_reports/templates/views/edit.html.erb
261
+ - lib/generators/meta_reports/templates/views/forms/_form_example.html.erb
262
+ - lib/generators/meta_reports/templates/views/forms/form.html.erb
263
+ - lib/generators/meta_reports/templates/views/index.html.erb
264
+ - lib/generators/meta_reports/templates/views/new.html.erb
265
+ - lib/generators/meta_reports/templates/views/templates/_default.html.erb
266
+ - lib/generators/meta_reports/templates/views/templates/_default_footer.pdf.prawn
267
+ - lib/generators/meta_reports/templates/views/templates/_default_header.pdf.prawn
268
+ - lib/generators/meta_reports/templates/views/templates/_default_header.xlsx.axlsx
269
+ - lib/generators/meta_reports/templates/views/templates/_default_table.html.erb
270
+ - lib/generators/meta_reports/templates/views/templates/_default_table.pdf.prawn
271
+ - lib/generators/meta_reports/templates/views/templates/default.html.erb
272
+ - lib/generators/meta_reports/templates/views/templates/default.pdf.prawn
273
+ - lib/generators/meta_reports/templates/views/templates/default.xlsx.axlsx
274
+ - lib/meta_reports/engine.rb
275
+ - lib/meta_reports/version.rb
276
+ - lib/meta_reports.rb
277
+ - lib/tasks/meta_reports_tasks.rake
278
+ - LICENSE
279
+ - Rakefile
280
+ - README.md
281
+ - spec/dummy/app/assets/javascripts/application.js
282
+ - spec/dummy/app/assets/stylesheets/application.css
283
+ - spec/dummy/app/controllers/application_controller.rb
284
+ - spec/dummy/app/controllers/home_controller.rb
285
+ - spec/dummy/app/helpers/application_helper.rb
286
+ - spec/dummy/app/models/meta_reports/report.rb
287
+ - spec/dummy/app/views/home/index.html.erb
288
+ - spec/dummy/app/views/layouts/application.html.erb
289
+ - spec/dummy/app/views/meta_reports/reports/_form.html.erb
290
+ - spec/dummy/app/views/meta_reports/reports/edit.html.erb
291
+ - spec/dummy/app/views/meta_reports/reports/forms/_form_moo.html.erb
292
+ - spec/dummy/app/views/meta_reports/reports/forms/form.html.erb
293
+ - spec/dummy/app/views/meta_reports/reports/index.html.erb
294
+ - spec/dummy/app/views/meta_reports/reports/new.html.erb
295
+ - spec/dummy/app/views/meta_reports/reports/templates/_default.html.erb
296
+ - spec/dummy/app/views/meta_reports/reports/templates/_default_footer.pdf.prawn
297
+ - spec/dummy/app/views/meta_reports/reports/templates/_default_header.pdf.prawn
298
+ - spec/dummy/app/views/meta_reports/reports/templates/_default_header.xlsx.axlsx
299
+ - spec/dummy/app/views/meta_reports/reports/templates/_default_table.html.erb
300
+ - spec/dummy/app/views/meta_reports/reports/templates/_default_table.pdf.prawn
301
+ - spec/dummy/app/views/meta_reports/reports/templates/default.html.erb
302
+ - spec/dummy/app/views/meta_reports/reports/templates/default.pdf.prawn
303
+ - spec/dummy/app/views/meta_reports/reports/templates/default.xlsx.axlsx
304
+ - spec/dummy/config/application.rb
305
+ - spec/dummy/config/boot.rb
306
+ - spec/dummy/config/database.yml
307
+ - spec/dummy/config/environment.rb
308
+ - spec/dummy/config/environments/development.rb
309
+ - spec/dummy/config/environments/production.rb
310
+ - spec/dummy/config/environments/test.rb
311
+ - spec/dummy/config/initializers/backtrace_silencers.rb
312
+ - spec/dummy/config/initializers/inflections.rb
313
+ - spec/dummy/config/initializers/mime_types.rb
314
+ - spec/dummy/config/initializers/secret_token.rb
315
+ - spec/dummy/config/initializers/session_store.rb
316
+ - spec/dummy/config/initializers/wrap_parameters.rb
317
+ - spec/dummy/config/locales/en.yml
318
+ - spec/dummy/config/routes.rb
319
+ - spec/dummy/config/routes_empty.rb
320
+ - spec/dummy/config/routes_original.rb
321
+ - spec/dummy/config.ru
322
+ - spec/dummy/db/development.sqlite3
323
+ - spec/dummy/db/schema.rb
324
+ - spec/dummy/log/development.log
325
+ - spec/dummy/public/404.html
326
+ - spec/dummy/public/422.html
327
+ - spec/dummy/public/500.html
328
+ - spec/dummy/public/favicon.ico
329
+ - spec/dummy/Rakefile
330
+ - spec/dummy/README.rdoc
331
+ - spec/dummy/script/rails
332
+ - spec/dummy/tmp/cache/assets/C9B/140/sprockets%2F805babf865ce32228222420a522c7b36
333
+ - spec/dummy/tmp/cache/assets/CBD/2B0/sprockets%2F9e22e937dd267c81a146665f15471b8e
334
+ - spec/dummy/tmp/cache/assets/CD0/810/sprockets%2Fe858c95fa595e319dac0065d49982967
335
+ - spec/dummy/tmp/cache/assets/CD0/AC0/sprockets%2F1d341d7a2fc1328567d4b23e0809b2e2
336
+ - spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
337
+ - spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
338
+ - spec/dummy/tmp/cache/assets/D3D/EB0/sprockets%2F2d47bd3108d9abbb12c0497e36d9674d
339
+ - spec/dummy/tmp/cache/assets/D40/8F0/sprockets%2F290aea2004dfecfc76f42e48970f1484
340
+ - spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
341
+ - spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
342
+ - spec/dummy/tmp/cache/assets/D61/310/sprockets%2Fc168b1c9be3e38ac1c8403a3074b5b8c
343
+ - spec/dummy/tmp/cache/assets/D74/AE0/sprockets%2F9ad0425db5cfa16a9426f7b1a7958d7d
344
+ - spec/dummy/tmp/cache/assets/D98/270/sprockets%2F0b7ba158ff62bbbb378d6bea80680c63
345
+ - spec/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
346
+ - spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
347
+ - spec/dummy/tmp/cache/assets/E5A/EF0/sprockets%2Fb0d5af721ea37c98fd4bccd8e1e5c6ab
348
+ - spec/dummy/tmp/pids/server.pid
349
+ - spec/features/dummy_spec.rb
350
+ - spec/generators/install_spec.rb
351
+ - spec/models/data_spec.rb
352
+ - spec/models/table_spec.rb
353
+ - spec/spec_helper.rb
354
+ - Guardfile
355
+ homepage: http://github.com/straydogstudio/meta_reports
356
+ licenses:
357
+ - MIT
358
+ metadata: {}
359
+ post_install_message:
360
+ rdoc_options: []
361
+ require_paths:
362
+ - lib
363
+ required_ruby_version: !ruby/object:Gem::Requirement
364
+ requirements:
365
+ - - '>='
366
+ - !ruby/object:Gem::Version
367
+ version: '0'
368
+ required_rubygems_version: !ruby/object:Gem::Requirement
369
+ requirements:
370
+ - - '>='
371
+ - !ruby/object:Gem::Version
372
+ version: '0'
373
+ requirements: []
374
+ rubyforge_project:
375
+ rubygems_version: 2.0.3
376
+ signing_key:
377
+ specification_version: 4
378
+ summary: A meta report structure independent of any format, that can then be exported
379
+ to multiple formats.
380
+ test_files:
381
+ - spec/dummy/app/assets/javascripts/application.js
382
+ - spec/dummy/app/assets/stylesheets/application.css
383
+ - spec/dummy/app/controllers/application_controller.rb
384
+ - spec/dummy/app/controllers/home_controller.rb
385
+ - spec/dummy/app/helpers/application_helper.rb
386
+ - spec/dummy/app/models/meta_reports/report.rb
387
+ - spec/dummy/app/views/home/index.html.erb
388
+ - spec/dummy/app/views/layouts/application.html.erb
389
+ - spec/dummy/app/views/meta_reports/reports/_form.html.erb
390
+ - spec/dummy/app/views/meta_reports/reports/edit.html.erb
391
+ - spec/dummy/app/views/meta_reports/reports/forms/_form_moo.html.erb
392
+ - spec/dummy/app/views/meta_reports/reports/forms/form.html.erb
393
+ - spec/dummy/app/views/meta_reports/reports/index.html.erb
394
+ - spec/dummy/app/views/meta_reports/reports/new.html.erb
395
+ - spec/dummy/app/views/meta_reports/reports/templates/_default.html.erb
396
+ - spec/dummy/app/views/meta_reports/reports/templates/_default_footer.pdf.prawn
397
+ - spec/dummy/app/views/meta_reports/reports/templates/_default_header.pdf.prawn
398
+ - spec/dummy/app/views/meta_reports/reports/templates/_default_header.xlsx.axlsx
399
+ - spec/dummy/app/views/meta_reports/reports/templates/_default_table.html.erb
400
+ - spec/dummy/app/views/meta_reports/reports/templates/_default_table.pdf.prawn
401
+ - spec/dummy/app/views/meta_reports/reports/templates/default.html.erb
402
+ - spec/dummy/app/views/meta_reports/reports/templates/default.pdf.prawn
403
+ - spec/dummy/app/views/meta_reports/reports/templates/default.xlsx.axlsx
404
+ - spec/dummy/config/application.rb
405
+ - spec/dummy/config/boot.rb
406
+ - spec/dummy/config/database.yml
407
+ - spec/dummy/config/environment.rb
408
+ - spec/dummy/config/environments/development.rb
409
+ - spec/dummy/config/environments/production.rb
410
+ - spec/dummy/config/environments/test.rb
411
+ - spec/dummy/config/initializers/backtrace_silencers.rb
412
+ - spec/dummy/config/initializers/inflections.rb
413
+ - spec/dummy/config/initializers/mime_types.rb
414
+ - spec/dummy/config/initializers/secret_token.rb
415
+ - spec/dummy/config/initializers/session_store.rb
416
+ - spec/dummy/config/initializers/wrap_parameters.rb
417
+ - spec/dummy/config/locales/en.yml
418
+ - spec/dummy/config/routes.rb
419
+ - spec/dummy/config/routes_empty.rb
420
+ - spec/dummy/config/routes_original.rb
421
+ - spec/dummy/config.ru
422
+ - spec/dummy/db/development.sqlite3
423
+ - spec/dummy/db/schema.rb
424
+ - spec/dummy/log/development.log
425
+ - spec/dummy/public/404.html
426
+ - spec/dummy/public/422.html
427
+ - spec/dummy/public/500.html
428
+ - spec/dummy/public/favicon.ico
429
+ - spec/dummy/Rakefile
430
+ - spec/dummy/README.rdoc
431
+ - spec/dummy/script/rails
432
+ - spec/dummy/tmp/cache/assets/C9B/140/sprockets%2F805babf865ce32228222420a522c7b36
433
+ - spec/dummy/tmp/cache/assets/CBD/2B0/sprockets%2F9e22e937dd267c81a146665f15471b8e
434
+ - spec/dummy/tmp/cache/assets/CD0/810/sprockets%2Fe858c95fa595e319dac0065d49982967
435
+ - spec/dummy/tmp/cache/assets/CD0/AC0/sprockets%2F1d341d7a2fc1328567d4b23e0809b2e2
436
+ - spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
437
+ - spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
438
+ - spec/dummy/tmp/cache/assets/D3D/EB0/sprockets%2F2d47bd3108d9abbb12c0497e36d9674d
439
+ - spec/dummy/tmp/cache/assets/D40/8F0/sprockets%2F290aea2004dfecfc76f42e48970f1484
440
+ - spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
441
+ - spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
442
+ - spec/dummy/tmp/cache/assets/D61/310/sprockets%2Fc168b1c9be3e38ac1c8403a3074b5b8c
443
+ - spec/dummy/tmp/cache/assets/D74/AE0/sprockets%2F9ad0425db5cfa16a9426f7b1a7958d7d
444
+ - spec/dummy/tmp/cache/assets/D98/270/sprockets%2F0b7ba158ff62bbbb378d6bea80680c63
445
+ - spec/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
446
+ - spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
447
+ - spec/dummy/tmp/cache/assets/E5A/EF0/sprockets%2Fb0d5af721ea37c98fd4bccd8e1e5c6ab
448
+ - spec/dummy/tmp/pids/server.pid
449
+ - spec/features/dummy_spec.rb
450
+ - spec/generators/install_spec.rb
451
+ - spec/models/data_spec.rb
452
+ - spec/models/table_spec.rb
453
+ - spec/spec_helper.rb
454
+ - Guardfile