bisque 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|