elskwid-munger 0.1.4.4 → 0.1.4.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.
- data/Rakefile +3 -10
- data/lib/munger/render/sortable_html.rb +10 -7
- data/munger.gemspec +1 -1
- data/spec/munger/data_spec.rb +1 -1
- data/spec/munger/render_spec.rb +11 -1
- data/spec/spec_helper.rb +4 -4
- metadata +10 -7
data/Rakefile
CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
|
|
2
2
|
# Gem::manage_gems
|
3
3
|
require 'rake/gempackagetask'
|
4
4
|
require 'rake/rdoctask'
|
5
|
-
require '
|
5
|
+
require 'rspec/core/rake_task'
|
6
6
|
|
7
7
|
spec = eval(File.new('munger.gemspec','r').read)
|
8
8
|
|
@@ -15,20 +15,13 @@ task :default => "pkg/#{spec.name}-#{spec.version}.gem" do
|
|
15
15
|
end
|
16
16
|
|
17
17
|
desc 'Run specs'
|
18
|
-
|
19
|
-
t.spec_opts = ['--format', 'specdoc', '--colour', '--diff']
|
20
|
-
end
|
18
|
+
RSpec::Core::RakeTask.new
|
21
19
|
|
22
20
|
desc 'Generate coverage reports'
|
23
|
-
|
21
|
+
RSpec::Core::RakeTask.new('spec:coverage') do |t|
|
24
22
|
t.rcov = true
|
25
23
|
end
|
26
24
|
|
27
|
-
desc 'Generate a nice HTML report of spec results'
|
28
|
-
Spec::Rake::SpecTask.new('spec:report') do |t|
|
29
|
-
t.spec_opts = ['--format', 'html:report.html', '--diff']
|
30
|
-
end
|
31
|
-
|
32
25
|
task :doc => [:rdoc]
|
33
26
|
namespace :doc do
|
34
27
|
Rake::RDocTask.new do |rdoc|
|
@@ -36,15 +36,18 @@ module Munger #:nodoc:
|
|
36
36
|
@report.columns.each do |column|
|
37
37
|
# TODO: Should be able to see if a column is 'sortable'
|
38
38
|
# Assume all columns are sortable here - for now.
|
39
|
-
|
40
|
-
|
39
|
+
state = 'unsorted'
|
40
|
+
order = 'desc'
|
41
|
+
direction_class = ""
|
42
|
+
|
41
43
|
if [column.to_s, @report.column_data_field(column)].include?(@options[:sort])
|
42
|
-
|
43
|
-
|
44
|
-
direction_class = "sorted-#{
|
44
|
+
state = "sorted"
|
45
|
+
order = @options[:order] || 'asc'
|
46
|
+
direction_class = "sorted-#{order}"
|
45
47
|
end
|
46
|
-
|
47
|
-
|
48
|
+
|
49
|
+
new_params = @options[:params].merge({'sort' => @report.column_data_field(column),'order' => (order == 'asc' ? 'desc' : 'asc')})
|
50
|
+
x.th(:class => "columnTitle #{state} #{direction_class}") do
|
48
51
|
# x << @report.column_title(column)
|
49
52
|
x << "<a href=\"#{@options[:url]}?#{create_querystring(new_params)}\">#{@report.column_title(column)}</a>"
|
50
53
|
end
|
data/munger.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.platform = Gem::Platform::RUBY
|
3
3
|
s.name = "elskwid-munger"
|
4
|
-
s.version = "0.1.4.
|
4
|
+
s.version = "0.1.4.5"
|
5
5
|
s.authors = ['Scott Chacon', 'Brandon Mitchell', 'Don Morrison', 'Eric Lindvall']
|
6
6
|
s.email = "elskwid@gmail.com"
|
7
7
|
s.summary = "A reporting engine in Ruby - the elskwid fork!"
|
data/spec/munger/data_spec.rb
CHANGED
@@ -166,7 +166,7 @@ describe Munger::Data do
|
|
166
166
|
array = @data.to_a([:name, :age])
|
167
167
|
array.should be_a_kind_of(Array)
|
168
168
|
array.first.size.should eql(2)
|
169
|
-
scotts = array.select { |a| a.include?
|
169
|
+
scotts = array.select { |a| a.include?('Scott') }
|
170
170
|
scotts.first.should include('Scott', 23)
|
171
171
|
end
|
172
172
|
|
data/spec/munger/render_spec.rb
CHANGED
@@ -13,6 +13,16 @@ describe Munger::Render do
|
|
13
13
|
html.should have_tag('table')
|
14
14
|
end
|
15
15
|
|
16
|
+
it "should render sortable html" do
|
17
|
+
html = Munger::Render.to_sortable_html(@report, :sort => "name", :order => "asc", :url => "test")
|
18
|
+
html.should have_tag("table")
|
19
|
+
html.should have_tag("th.unsorted")
|
20
|
+
html.should have_tag("th.sorted")
|
21
|
+
html.should have_tag("th.sorted-asc")
|
22
|
+
html.should have_tag('a[@href="test?order=asc&sort=score"', /score/)
|
23
|
+
html.should have_tag('a[@href="test?order=desc&sort=name"', /name/)
|
24
|
+
end
|
25
|
+
|
16
26
|
it "should render text" do
|
17
27
|
text = Munger::Render.to_text(@report)
|
18
28
|
text.should_not have_tag('table')
|
@@ -25,4 +35,4 @@ describe Munger::Render do
|
|
25
35
|
|
26
36
|
it "should render pdf"
|
27
37
|
|
28
|
-
end
|
38
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + "/../lib/munger")
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
|
-
require '
|
4
|
+
require 'rspec'
|
5
5
|
require 'fileutils'
|
6
6
|
require 'logger'
|
7
7
|
require 'pp'
|
8
8
|
require 'date'
|
9
9
|
|
10
|
-
require '
|
11
|
-
|
12
|
-
config.include(
|
10
|
+
require 'rspec-hpricot-matchers'
|
11
|
+
RSpec.configure do |config|
|
12
|
+
config.include(HpricotSpec::Matchers)
|
13
13
|
end
|
14
14
|
|
15
15
|
module MungerSpecHelper
|
metadata
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elskwid-munger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 93
|
5
|
+
prerelease:
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 1
|
8
9
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.1.4.
|
10
|
+
- 5
|
11
|
+
version: 0.1.4.5
|
11
12
|
platform: ruby
|
12
13
|
authors:
|
13
14
|
- Scott Chacon
|
@@ -18,8 +19,7 @@ autorequire:
|
|
18
19
|
bindir: bin
|
19
20
|
cert_chain: []
|
20
21
|
|
21
|
-
date:
|
22
|
-
default_executable:
|
22
|
+
date: 2012-01-08 00:00:00 Z
|
23
23
|
dependencies: []
|
24
24
|
|
25
25
|
description:
|
@@ -57,7 +57,6 @@ files:
|
|
57
57
|
- spec/munger/render/csv_spec.rb
|
58
58
|
- spec/munger/render/html_spec.rb
|
59
59
|
- spec/munger/render/text_spec.rb
|
60
|
-
has_rdoc: true
|
61
60
|
homepage: http://github.com/elskwid/munger
|
62
61
|
licenses: []
|
63
62
|
|
@@ -67,23 +66,27 @@ rdoc_options: []
|
|
67
66
|
require_paths:
|
68
67
|
- lib
|
69
68
|
required_ruby_version: !ruby/object:Gem::Requirement
|
69
|
+
none: false
|
70
70
|
requirements:
|
71
71
|
- - ">="
|
72
72
|
- !ruby/object:Gem::Version
|
73
|
+
hash: 3
|
73
74
|
segments:
|
74
75
|
- 0
|
75
76
|
version: "0"
|
76
77
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
78
|
+
none: false
|
77
79
|
requirements:
|
78
80
|
- - ">="
|
79
81
|
- !ruby/object:Gem::Version
|
82
|
+
hash: 3
|
80
83
|
segments:
|
81
84
|
- 0
|
82
85
|
version: "0"
|
83
86
|
requirements: []
|
84
87
|
|
85
88
|
rubyforge_project:
|
86
|
-
rubygems_version: 1.
|
89
|
+
rubygems_version: 1.8.11
|
87
90
|
signing_key:
|
88
91
|
specification_version: 3
|
89
92
|
summary: A reporting engine in Ruby - the elskwid fork!
|