querybuilder 0.9.2 → 0.9.3

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/History.txt CHANGED
@@ -1,3 +1,8 @@
1
+ == 0.9.3 2010-11-15
2
+
3
+ * 1 Minor enhancement
4
+ * Fixed pagination bug when page count is 1.
5
+
1
6
  == 0.9.2 2010-10-06
2
7
 
3
8
  * 1 Minor enhancement
@@ -1,3 +1,3 @@
1
1
  module QueryBuilder
2
- VERSION = '0.9.2'
2
+ VERSION = '0.9.3'
3
3
  end
@@ -151,7 +151,7 @@ module QueryBuilder
151
151
 
152
152
  @context = opts.merge(:first => true, :last => true)
153
153
  @query = Query.new(self.class)
154
- @query.main_class = @opts[:main_class] if @opts[:main_class]
154
+ @query.main_class = @opts[:main_class] || resolve_main_class(self.class.main_class)
155
155
  before_process
156
156
 
157
157
  process_all
@@ -572,7 +572,7 @@ module QueryBuilder
572
572
  context[:processing] = :paginate
573
573
  fld = process(paginate_fld)
574
574
  if fld && (page_size = @query.limit[/ LIMIT (\d+)/,1])
575
- @query.page_size = [2, page_size.to_i].max
575
+ @query.page_size = [1, page_size.to_i].max
576
576
  @query.offset = " OFFSET #{insert_bind("((#{fld}.to_i > 0 ? #{fld}.to_i : 1)-1)*#{@query.page_size}")}"
577
577
  @query.pagination_key ||= paginate_fld.last
578
578
  else
@@ -613,7 +613,11 @@ module QueryBuilder
613
613
  value
614
614
  end
615
615
  end
616
-
616
+
617
+ def resolve_main_class(class_name)
618
+ QueryBuilder.resolve_const(class_name)
619
+ end
620
+
617
621
  def insert_bind(str)
618
622
  self.class.insert_bind(str)
619
623
  end
@@ -653,7 +657,7 @@ module QueryBuilder
653
657
  end
654
658
 
655
659
  @query.processor_class = processor.class
656
- @query.main_class = QueryBuilder.resolve_const(processor.class.main_class)
660
+ @query.main_class = processor.resolve_main_class(processor.class.main_class)
657
661
  update_processor(processor)
658
662
  end
659
663
  end
data/querybuilder.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{querybuilder}
8
- s.version = "0.9.2"
8
+ s.version = "0.9.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Gaspard Bucher"]
12
- s.date = %q{2010-10-06}
12
+ s.date = %q{2010-11-15}
13
13
  s.description = %q{QueryBuilder is an interpreter for the "pseudo sql" language. This language
14
14
  can be used for two purposes:
15
15
 
@@ -68,7 +68,7 @@ Gem::Specification.new do |s|
68
68
  s.homepage = %q{http://zenadmin.org/524}
69
69
  s.rdoc_options = ["--charset=UTF-8"]
70
70
  s.require_paths = ["lib"]
71
- s.rubygems_version = %q{1.3.6}
71
+ s.rubygems_version = %q{1.3.7}
72
72
  s.summary = %q{QueryBuilder is an interpreter for the "pseudo sql" language.}
73
73
  s.test_files = [
74
74
  "test/database.rb",
@@ -85,7 +85,7 @@ Gem::Specification.new do |s|
85
85
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
86
86
  s.specification_version = 3
87
87
 
88
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
88
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
89
89
  s.add_runtime_dependency(%q<rubyless>, [">= 0.7.0"])
90
90
  s.add_development_dependency(%q<shoulda>, [">= 0"])
91
91
  s.add_development_dependency(%q<yamltest>, [">= 0.5.0"])
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: querybuilder
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 61
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 9
8
- - 2
9
- version: 0.9.2
9
+ - 3
10
+ version: 0.9.3
10
11
  platform: ruby
11
12
  authors:
12
13
  - Gaspard Bucher
@@ -14,16 +15,18 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-10-06 00:00:00 +02:00
18
+ date: 2010-11-15 00:00:00 +01:00
18
19
  default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
22
  name: rubyless
22
23
  prerelease: false
23
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
24
26
  requirements:
25
27
  - - ">="
26
28
  - !ruby/object:Gem::Version
29
+ hash: 3
27
30
  segments:
28
31
  - 0
29
32
  - 7
@@ -35,9 +38,11 @@ dependencies:
35
38
  name: shoulda
36
39
  prerelease: false
37
40
  requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
38
42
  requirements:
39
43
  - - ">="
40
44
  - !ruby/object:Gem::Version
45
+ hash: 3
41
46
  segments:
42
47
  - 0
43
48
  version: "0"
@@ -47,9 +52,11 @@ dependencies:
47
52
  name: yamltest
48
53
  prerelease: false
49
54
  requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
50
56
  requirements:
51
57
  - - ">="
52
58
  - !ruby/object:Gem::Version
59
+ hash: 11
53
60
  segments:
54
61
  - 0
55
62
  - 5
@@ -124,23 +131,27 @@ rdoc_options:
124
131
  require_paths:
125
132
  - lib
126
133
  required_ruby_version: !ruby/object:Gem::Requirement
134
+ none: false
127
135
  requirements:
128
136
  - - ">="
129
137
  - !ruby/object:Gem::Version
138
+ hash: 3
130
139
  segments:
131
140
  - 0
132
141
  version: "0"
133
142
  required_rubygems_version: !ruby/object:Gem::Requirement
143
+ none: false
134
144
  requirements:
135
145
  - - ">="
136
146
  - !ruby/object:Gem::Version
147
+ hash: 3
137
148
  segments:
138
149
  - 0
139
150
  version: "0"
140
151
  requirements: []
141
152
 
142
153
  rubyforge_project:
143
- rubygems_version: 1.3.6
154
+ rubygems_version: 1.3.7
144
155
  signing_key:
145
156
  specification_version: 3
146
157
  summary: QueryBuilder is an interpreter for the "pseudo sql" language.