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 CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.1.4
data/bisque.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "bisque"
8
- s.version = "0.1.3"
8
+ s.version = "0.1.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jeremy Holland"]
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)
@@ -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
@@ -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.3
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: -2336335870480925139
204
+ hash: 1348488274421313650
205
205
  required_rubygems_version: !ruby/object:Gem::Requirement
206
206
  none: false
207
207
  requirements: