bisque 0.1.3 → 0.1.4
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/VERSION +1 -1
- data/bisque.gemspec +1 -1
- data/lib/bisque/report.rb +5 -2
- data/spec/bisque/report_spec.rb +5 -0
- data/spec/resources/models.rb +5 -0
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.4
|
data/bisque.gemspec
CHANGED
data/lib/bisque/report.rb
CHANGED
@@ -6,6 +6,9 @@ module Bisque
|
|
6
6
|
|
7
7
|
def initialize(params={})
|
8
8
|
@params = self.class.defaults.merge params
|
9
|
+
@params.each do |k,v|
|
10
|
+
@params[k] = v.call if v.is_a?(Proc)
|
11
|
+
end
|
9
12
|
@sql = self.class.query.dup
|
10
13
|
self.class.params.each do |param|
|
11
14
|
value = @params[param]
|
@@ -95,9 +98,9 @@ module Bisque
|
|
95
98
|
end
|
96
99
|
|
97
100
|
class << self
|
98
|
-
def default(key, val)
|
101
|
+
def default(key, val=nil, &block)
|
99
102
|
@defaults ||= {}
|
100
|
-
@defaults[key] = val
|
103
|
+
@defaults[key] = val || block
|
101
104
|
end
|
102
105
|
|
103
106
|
def defaults(hash=nil)
|
data/spec/bisque/report_spec.rb
CHANGED
@@ -159,6 +159,11 @@ describe Bisque::Report do
|
|
159
159
|
b = BazReport.new :corn => 'powder'
|
160
160
|
b.params.should == {:corn => 'powder'}
|
161
161
|
end
|
162
|
+
|
163
|
+
it "should return the hash of defaults achieved by calling the proc if the default value is a proc" do
|
164
|
+
b = PorkReport.new
|
165
|
+
b.params.should == {:slip => 'pasta'}
|
166
|
+
end
|
162
167
|
end
|
163
168
|
|
164
169
|
describe "sql" do
|
data/spec/resources/models.rb
CHANGED
@@ -31,6 +31,11 @@ class QuuxReport < Bisque::Report
|
|
31
31
|
default :slip, 'paper'
|
32
32
|
end
|
33
33
|
|
34
|
+
class PorkReport < Bisque::Report
|
35
|
+
query "SELECT * FROM frobnitzs WHERE name = :slip"
|
36
|
+
default :slip do 'pasta' end
|
37
|
+
end
|
38
|
+
|
34
39
|
class FunReport < Bisque::Report
|
35
40
|
query "SELECT * FROM frobnitzs WHERE name = :corn"
|
36
41
|
default :slip, 'paper'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bisque
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -201,7 +201,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
201
201
|
version: '0'
|
202
202
|
segments:
|
203
203
|
- 0
|
204
|
-
hash:
|
204
|
+
hash: 1348488274421313650
|
205
205
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
206
206
|
none: false
|
207
207
|
requirements:
|