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 +5 -0
- data/lib/query_builder/info.rb +1 -1
- data/lib/query_builder/processor.rb +8 -4
- data/querybuilder.gemspec +4 -4
- metadata +15 -4
data/History.txt
CHANGED
data/lib/query_builder/info.rb
CHANGED
@@ -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]
|
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 = [
|
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 =
|
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.
|
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-
|
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.
|
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::
|
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
|
-
-
|
9
|
-
version: 0.9.
|
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-
|
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.
|
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.
|