meta_reports 0.0.4 → 0.0.5

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 (36) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +58 -33
  3. data/app/helpers/meta_reports/reports_helper.rb +37 -20
  4. data/app/models/meta_reports/base.rb +9 -1
  5. data/config/routes.rb +3 -1
  6. data/lib/generators/meta_reports/templates/models/report.rb +5 -17
  7. data/lib/generators/meta_reports/templates/models/report_non_activerecord.rb +5 -17
  8. data/lib/generators/meta_reports/templates/views/_form.html.erb +9 -0
  9. data/lib/generators/meta_reports/templates/views/templates/_default_header.pdf.prawn +0 -1
  10. data/lib/generators/meta_reports/templates/views/templates/_default_header.xlsx.axlsx +5 -11
  11. data/lib/generators/meta_reports/templates/views/templates/_default_table.html.erb +14 -5
  12. data/lib/generators/meta_reports/templates/views/templates/_default_table.pdf.prawn +5 -1
  13. data/lib/generators/meta_reports/templates/views/templates/default.pdf.prawn +7 -5
  14. data/lib/meta_reports/version.rb +1 -1
  15. data/lib/tasks/meta_reports_tasks.rake +9 -8
  16. data/spec/dummy/app/assets/stylesheets/lib/metareports_color_variables.scss +7 -9
  17. data/spec/dummy/app/assets/stylesheets/lib/metareports_colors.scss +7 -9
  18. data/spec/dummy/app/models/meta_reports/report.rb +5 -17
  19. data/spec/dummy/app/views/meta_reports/reports/_form.html.erb +16 -0
  20. data/spec/dummy/app/views/meta_reports/reports/templates/_default_header.pdf.prawn +0 -1
  21. data/spec/dummy/app/views/meta_reports/reports/templates/_default_header.xlsx.axlsx +5 -11
  22. data/spec/dummy/app/views/meta_reports/reports/templates/_default_table.html.erb +14 -5
  23. data/spec/dummy/app/views/meta_reports/reports/templates/_default_table.pdf.prawn +5 -1
  24. data/spec/dummy/app/views/meta_reports/reports/templates/default.pdf.prawn +1 -1
  25. data/spec/dummy/db/development.sqlite3 +0 -0
  26. data/spec/dummy/log/development.log +806 -0
  27. data/spec/dummy/tmp/capybara/capybara-201310282335386823859116.html +268 -0
  28. data/spec/dummy/tmp/capybara/capybara-201310282336101820292402.html +268 -0
  29. data/spec/dummy/tmp/capybara/capybara-201310282338439674392250.html +60 -0
  30. data/spec/dummy/tmp/capybara/capybara-201310282350595445887206.html +60 -0
  31. data/spec/dummy/tmp/capybara/capybara-201310282351429822980920.html +60 -0
  32. data/spec/dummy/tmp/capybara/capybara-201310282354523302677005.html +60 -0
  33. data/spec/features/dummy_spec.rb +10 -0
  34. data/spec/support/utilities.rb +27 -0
  35. data/spec/tasks/meta_reports_rake_spec.rb +14 -18
  36. metadata +30 -2
@@ -0,0 +1,60 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Dummy MetaReports App</title>
5
+ <link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" />
6
+ <link href="/assets/lib/metareports_color_variables.css?body=1" media="all" rel="stylesheet" type="text/css" />
7
+ <link href="/assets/lib/metareports_colors.css?body=1" media="all" rel="stylesheet" type="text/css" />
8
+ <script src="/assets/jquery.js?body=1" type="text/javascript"></script>
9
+ <script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
10
+ <script src="/assets/application.js?body=1" type="text/javascript"></script>
11
+ <meta content="authenticity_token" name="csrf-param" />
12
+ <meta content="xF0iXLG+1qk6F5daVBdCr53bncZDncBGP0g46O038hE=" name="csrf-token" />
13
+ </head>
14
+ <body>
15
+
16
+
17
+
18
+ <h1>New report</h1>
19
+
20
+ <form accept-charset="UTF-8" action="/meta_reports/reports" class="new_report" id="new_report" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="xF0iXLG+1qk6F5daVBdCr53bncZDncBGP0g46O038hE=" /></div>
21
+
22
+ <div class="field">
23
+ <label for="report_name">Name</label><br />
24
+ <input id="report_name" name="report[name]" size="30" type="text" />
25
+ </div>
26
+ <div class="field">
27
+ <label for="report_description">Description</label><br />
28
+ <textarea cols="40" id="report_description" name="report[description]" rows="20">
29
+ </textarea>
30
+ </div>
31
+ <div class="field">
32
+ <label for="report_title">Title</label><br />
33
+ <input id="report_title" name="report[title]" size="30" type="text" />
34
+ </div>
35
+ <div class="field">
36
+ <label for="report_group">Group</label><br />
37
+ <input id="report_group" name="report[group]" size="30" type="text" />
38
+ </div>
39
+ <div class="field">
40
+ <label for="report_direct">Direct</label><br />
41
+ <input name="report[direct]" type="hidden" value="0" /><input id="report_direct" name="report[direct]" type="checkbox" value="1" />
42
+ </div>
43
+ <div class="field">
44
+ <label for="report_views">Views</label><br />
45
+ <input disabled="disabled" id="report_views" name="report[views]" type="number" />
46
+ </div>
47
+ <div class="field">
48
+ <label for="report_target">Target</label><br />
49
+ <input id="report_target" name="report[target]" size="30" type="text" />
50
+ </div>
51
+ <div class="actions">
52
+ <input name="commit" type="submit" value="Create Report" />
53
+ </div>
54
+ </form>
55
+
56
+ <a href="/meta_reports/reports">Back</a>
57
+
58
+
59
+ </body>
60
+ </html>
@@ -0,0 +1,60 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Dummy MetaReports App</title>
5
+ <link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" />
6
+ <link href="/assets/lib/metareports_color_variables.css?body=1" media="all" rel="stylesheet" type="text/css" />
7
+ <link href="/assets/lib/metareports_colors.css?body=1" media="all" rel="stylesheet" type="text/css" />
8
+ <script src="/assets/jquery.js?body=1" type="text/javascript"></script>
9
+ <script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
10
+ <script src="/assets/application.js?body=1" type="text/javascript"></script>
11
+ <meta content="authenticity_token" name="csrf-param" />
12
+ <meta content="8VOKygizsn9p285u/xCm2nLXBkEClxoJ0eqbk+GRywk=" name="csrf-token" />
13
+ </head>
14
+ <body>
15
+
16
+
17
+
18
+ <h1>New report</h1>
19
+
20
+ <form accept-charset="UTF-8" action="/meta_reports/reports" class="new_report" id="new_report" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="8VOKygizsn9p285u/xCm2nLXBkEClxoJ0eqbk+GRywk=" /></div>
21
+
22
+ <div class="field">
23
+ <label for="report_name">Name</label><br />
24
+ <input id="report_name" name="report[name]" size="30" type="text" />
25
+ </div>
26
+ <div class="field">
27
+ <label for="report_description">Description</label><br />
28
+ <textarea cols="40" id="report_description" name="report[description]" rows="20">
29
+ </textarea>
30
+ </div>
31
+ <div class="field">
32
+ <label for="report_title">Title</label><br />
33
+ <input id="report_title" name="report[title]" size="30" type="text" />
34
+ </div>
35
+ <div class="field">
36
+ <label for="report_group">Group</label><br />
37
+ <input id="report_group" name="report[group]" size="30" type="text" />
38
+ </div>
39
+ <div class="field">
40
+ <label for="report_direct">Direct</label><br />
41
+ <input name="report[direct]" type="hidden" value="0" /><input id="report_direct" name="report[direct]" type="checkbox" value="1" />
42
+ </div>
43
+ <div class="field">
44
+ <label for="report_views">Views</label><br />
45
+ <input disabled="disabled" id="report_views" name="report[views]" type="number" />
46
+ </div>
47
+ <div class="field">
48
+ <label for="report_target">Target</label><br />
49
+ <input id="report_target" name="report[target]" size="30" type="text" />
50
+ </div>
51
+ <div class="actions">
52
+ <input name="commit" type="submit" value="Create Report" />
53
+ </div>
54
+ </form>
55
+
56
+ <a href="/meta_reports/reports">Back</a>
57
+
58
+
59
+ </body>
60
+ </html>
@@ -0,0 +1,60 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Dummy MetaReports App</title>
5
+ <link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" />
6
+ <link href="/assets/lib/metareports_color_variables.css?body=1" media="all" rel="stylesheet" type="text/css" />
7
+ <link href="/assets/lib/metareports_colors.css?body=1" media="all" rel="stylesheet" type="text/css" />
8
+ <script src="/assets/jquery.js?body=1" type="text/javascript"></script>
9
+ <script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
10
+ <script src="/assets/application.js?body=1" type="text/javascript"></script>
11
+ <meta content="authenticity_token" name="csrf-param" />
12
+ <meta content="rwx+8Rjn6RR4JgW4FrqLnhZq156LQtahfm/rv3jtVDI=" name="csrf-token" />
13
+ </head>
14
+ <body>
15
+
16
+
17
+
18
+ <h1>New report</h1>
19
+
20
+ <form accept-charset="UTF-8" action="/meta_reports/reports" class="new_report" id="new_report" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="rwx+8Rjn6RR4JgW4FrqLnhZq156LQtahfm/rv3jtVDI=" /></div>
21
+
22
+ <div class="field">
23
+ <label for="report_name">Name</label><br />
24
+ <input id="report_name" name="report[name]" size="30" type="text" />
25
+ </div>
26
+ <div class="field">
27
+ <label for="report_description">Description</label><br />
28
+ <textarea cols="40" id="report_description" name="report[description]" rows="20">
29
+ </textarea>
30
+ </div>
31
+ <div class="field">
32
+ <label for="report_title">Title</label><br />
33
+ <input id="report_title" name="report[title]" size="30" type="text" />
34
+ </div>
35
+ <div class="field">
36
+ <label for="report_group">Group</label><br />
37
+ <input id="report_group" name="report[group]" size="30" type="text" />
38
+ </div>
39
+ <div class="field">
40
+ <label for="report_direct">Direct</label><br />
41
+ <input name="report[direct]" type="hidden" value="0" /><input id="report_direct" name="report[direct]" type="checkbox" value="1" />
42
+ </div>
43
+ <div class="field">
44
+ <label for="report_views">Views</label><br />
45
+ <input disabled="disabled" id="report_views" name="report[views]" type="number" />
46
+ </div>
47
+ <div class="field">
48
+ <label for="report_target">Target</label><br />
49
+ <input id="report_target" name="report[target]" size="30" type="text" />
50
+ </div>
51
+ <div class="actions">
52
+ <input name="commit" type="submit" value="Create Report" />
53
+ </div>
54
+ </form>
55
+
56
+ <a href="/meta_reports/reports">Back</a>
57
+
58
+
59
+ </body>
60
+ </html>
@@ -0,0 +1,60 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Dummy MetaReports App</title>
5
+ <link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" />
6
+ <link href="/assets/lib/metareports_color_variables.css?body=1" media="all" rel="stylesheet" type="text/css" />
7
+ <link href="/assets/lib/metareports_colors.css?body=1" media="all" rel="stylesheet" type="text/css" />
8
+ <script src="/assets/jquery.js?body=1" type="text/javascript"></script>
9
+ <script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
10
+ <script src="/assets/application.js?body=1" type="text/javascript"></script>
11
+ <meta content="authenticity_token" name="csrf-param" />
12
+ <meta content="/ihoUP9/slyZ5FqUHrldWQMZzmbgz9VWIRZROn6iP+c=" name="csrf-token" />
13
+ </head>
14
+ <body>
15
+
16
+
17
+
18
+ <h1>New report</h1>
19
+
20
+ <form accept-charset="UTF-8" action="/meta_reports/reports" class="new_report" id="new_report" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="/ihoUP9/slyZ5FqUHrldWQMZzmbgz9VWIRZROn6iP+c=" /></div>
21
+
22
+ <div class="field">
23
+ <label for="report_name">Name</label><br />
24
+ <input id="report_name" name="report[name]" size="30" type="text" />
25
+ </div>
26
+ <div class="field">
27
+ <label for="report_description">Description</label><br />
28
+ <textarea cols="40" id="report_description" name="report[description]" rows="20">
29
+ </textarea>
30
+ </div>
31
+ <div class="field">
32
+ <label for="report_title">Title</label><br />
33
+ <input id="report_title" name="report[title]" size="30" type="text" />
34
+ </div>
35
+ <div class="field">
36
+ <label for="report_group">Group</label><br />
37
+ <input id="report_group" name="report[group]" size="30" type="text" />
38
+ </div>
39
+ <div class="field">
40
+ <label for="report_direct">Direct</label><br />
41
+ <input name="report[direct]" type="hidden" value="0" /><input id="report_direct" name="report[direct]" type="checkbox" value="1" />
42
+ </div>
43
+ <div class="field">
44
+ <label for="report_views">Views</label><br />
45
+ <input disabled="disabled" id="report_views" name="report[views]" type="number" />
46
+ </div>
47
+ <div class="field">
48
+ <label for="report_target">Target</label><br />
49
+ <input id="report_target" name="report[target]" size="30" type="text" />
50
+ </div>
51
+ <div class="actions">
52
+ <input name="commit" type="submit" value="Create Report" />
53
+ </div>
54
+ </form>
55
+
56
+ <a href="/meta_reports/reports">Back</a>
57
+
58
+
59
+ </body>
60
+ </html>
@@ -22,6 +22,16 @@ describe 'MetaReports dummy app' do
22
22
  page.should have_content "Ode to Moo"
23
23
  end
24
24
 
25
+ it "edits report" do
26
+ visit "/meta_reports/#{@report_moo.id}/edit"
27
+ page.should have_content "Moo, eh?"
28
+ end
29
+
30
+ it "shows new report form" do
31
+ visit "/meta_reports/new"
32
+ page.should have_content "New report"
33
+ end
34
+
25
35
  it "downloads report using pdf" do
26
36
  visit "/meta_reports/#{@report_moo.id}.pdf"
27
37
  response_headers["Content-Type"].should == "application/pdf; charset=utf-8"
@@ -0,0 +1,27 @@
1
+ def js_fill_in(field, val = {})
2
+ val = val[:with]
3
+ page.execute_script "$('##{field}').val('#{val}')"
4
+ end
5
+
6
+ def keydown(field, how_many = 1)
7
+ how_many.times do |i|
8
+ page.execute_script "$('##{field}').keydown()"
9
+ end
10
+ end
11
+
12
+ def page!
13
+ save_and_open_page
14
+ end
15
+
16
+ def wait_for_jquery(how_many = 1)
17
+ how_many.times do |i|
18
+ start = Time.now
19
+ while true
20
+ break if page.evaluate_script('$.active') == 0
21
+ if Time.now > start + 5.seconds
22
+ fail "wait_for_jquery failed"
23
+ end
24
+ sleep 0.1
25
+ end
26
+ end
27
+ end
@@ -26,15 +26,13 @@ describe 'rake tasks' do
26
26
  puts Dir.pwd
27
27
  css = File.open("app/assets/stylesheets/lib/metareports_colors.scss",'rb') {|f| f.read }
28
28
  css.should == "@import 'metareports_color_variables.scss';
29
- .even { background: $_even; }
30
- .odd { background: $_odd; }
31
- .yellow:nth-child(4n+0) { background: $_yellow_0; }
32
- .yellow:nth-child(4n+1) { background: $_yellow_1; }
33
- .yellow:nth-child(4n+2) { background: $_yellow_2; }
34
- .yellow:nth-child(4n+3) { background: $_yellow_3; }
35
- tr .highlight { background: $_yellow_1 !important; }
36
- a:hover:nth-child(2n+0) { background: $a--hover_0; }
37
- a:hover:nth-child(2n+1) { background: $a--hover_1; }
29
+ tr.even { background: $even; }
30
+ tr.odd { background: $odd; }
31
+ tr.yellow:nth-child(4n+0) { background: $yellow_0; }
32
+ tr.yellow:nth-child(4n+1) { background: $yellow_1; }
33
+ tr.yellow:nth-child(4n+2) { background: $yellow_2; }
34
+ tr.yellow:nth-child(4n+3) { background: $yellow_3; }
35
+ tr.highlight { background: $yellow_1 !important; }
38
36
  "
39
37
  end
40
38
  end
@@ -42,15 +40,13 @@ a:hover:nth-child(2n+1) { background: $a--hover_1; }
42
40
  it "exports variables" do
43
41
  Dir.chdir(Rails.root) do
44
42
  variables = File.open("app/assets/stylesheets/lib/metareports_color_variables.scss",'rb') {|f| f.read}
45
- variables.should == "$_even: #efefef;
46
- $_odd: #ffffff;
47
- $_yellow_0: #ffffaa;
48
- $_yellow_1: #ffffcc;
49
- $_yellow_2: #f9f9a4;
50
- $_yellow_3: #f9f9c6;
51
- $tr____highlight: $_yellow_1;
52
- $a--hover_0: #ffcccc;
53
- $a--hover_1: #ffc5c5;
43
+ variables.should == "$even: #efefef;
44
+ $odd: #ffffff;
45
+ $yellow_0: #ffffaa;
46
+ $yellow_1: #ffffcc;
47
+ $yellow_2: #f9f9a4;
48
+ $yellow_3: #f9f9c6;
49
+ $highlight: $yellow_1;
54
50
  "
55
51
  end
56
52
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: meta_reports
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Noel Peden
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-22 00:00:00.000000000 Z
11
+ date: 2013-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -248,6 +248,20 @@ dependencies:
248
248
  - - '>='
249
249
  - !ruby/object:Gem::Version
250
250
  version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: launchy
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - '>='
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - '>='
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
251
265
  description: Meta Reports provides a meta language and data structure to create a
252
266
  'meta' report. This report can then be exported into any format desired. MR provides
253
267
  HTML, PDF, and XLSX exports built in.
@@ -395,12 +409,19 @@ files:
395
409
  - spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
396
410
  - spec/dummy/tmp/cache/assets/test/sprockets/e858c95fa595e319dac0065d49982967
397
411
  - spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
412
+ - spec/dummy/tmp/capybara/capybara-201310282335386823859116.html
413
+ - spec/dummy/tmp/capybara/capybara-201310282336101820292402.html
414
+ - spec/dummy/tmp/capybara/capybara-201310282338439674392250.html
415
+ - spec/dummy/tmp/capybara/capybara-201310282350595445887206.html
416
+ - spec/dummy/tmp/capybara/capybara-201310282351429822980920.html
417
+ - spec/dummy/tmp/capybara/capybara-201310282354523302677005.html
398
418
  - spec/features/dummy_spec.rb
399
419
  - spec/generators/install_engine_spec.rb
400
420
  - spec/generators/install_templates_spec.rb
401
421
  - spec/models/data_spec.rb
402
422
  - spec/models/table_spec.rb
403
423
  - spec/spec_helper.rb
424
+ - spec/support/utilities.rb
404
425
  - spec/tasks/meta_reports_rake_spec.rb
405
426
  - spec/test_3.2.sh
406
427
  - spec/test_4.0.sh
@@ -532,12 +553,19 @@ test_files:
532
553
  - spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
533
554
  - spec/dummy/tmp/cache/assets/test/sprockets/e858c95fa595e319dac0065d49982967
534
555
  - spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
556
+ - spec/dummy/tmp/capybara/capybara-201310282335386823859116.html
557
+ - spec/dummy/tmp/capybara/capybara-201310282336101820292402.html
558
+ - spec/dummy/tmp/capybara/capybara-201310282338439674392250.html
559
+ - spec/dummy/tmp/capybara/capybara-201310282350595445887206.html
560
+ - spec/dummy/tmp/capybara/capybara-201310282351429822980920.html
561
+ - spec/dummy/tmp/capybara/capybara-201310282354523302677005.html
535
562
  - spec/features/dummy_spec.rb
536
563
  - spec/generators/install_engine_spec.rb
537
564
  - spec/generators/install_templates_spec.rb
538
565
  - spec/models/data_spec.rb
539
566
  - spec/models/table_spec.rb
540
567
  - spec/spec_helper.rb
568
+ - spec/support/utilities.rb
541
569
  - spec/tasks/meta_reports_rake_spec.rb
542
570
  - spec/test_3.2.sh
543
571
  - spec/test_4.0.sh