mochigome 0.1.17 → 0.1.18
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/mochigome_ver.rb +1 -1
- data/lib/query.rb +11 -2
- metadata +3 -3
data/lib/mochigome_ver.rb
CHANGED
data/lib/query.rb
CHANGED
@@ -90,6 +90,11 @@ module Mochigome
|
|
90
90
|
ActiveRecord::Base.connection
|
91
91
|
end
|
92
92
|
|
93
|
+
# TODO: Write a test for situations that use this
|
94
|
+
def denilify(v)
|
95
|
+
(v.nil? || v.to_s.strip.empty?) ? "(None)" : v
|
96
|
+
end
|
97
|
+
|
93
98
|
def create_node_tree(cond)
|
94
99
|
root = DataNode.new(:report, @name)
|
95
100
|
root.comment = <<-eos
|
@@ -106,7 +111,11 @@ module Mochigome
|
|
106
111
|
r.apply_condition(cond)
|
107
112
|
ids_sql = r.to_sql
|
108
113
|
if ids_sql
|
109
|
-
ids_table = connection.select_all(ids_sql)
|
114
|
+
ids_table = connection.select_all(ids_sql).map do |row|
|
115
|
+
row.each do |k,v|
|
116
|
+
row[k] = denilify(v)
|
117
|
+
end
|
118
|
+
end
|
110
119
|
fill_layers(ids_table, {[] => root}, @layer_types)
|
111
120
|
end
|
112
121
|
|
@@ -161,7 +170,7 @@ module Mochigome
|
|
161
170
|
q = rel_func.call(cond)
|
162
171
|
data_tree = {}
|
163
172
|
connection.select_all(q.to_sql).each do |row|
|
164
|
-
group_values = row.keys.select{|k| k.start_with?("g")}.sort.map{|k| row[k]}
|
173
|
+
group_values = row.keys.select{|k| k.start_with?("g")}.sort.map{|k| denilify(row[k])}
|
165
174
|
data_values = row.keys.select{|k| k.start_with?("d")}.sort.map{|k| row[k]}
|
166
175
|
if group_values.empty?
|
167
176
|
data_tree = data_values
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mochigome
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 63
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 18
|
10
|
+
version: 0.1.18
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- David Mike Simon
|