querybuilder 1.2.2 → 1.2.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 +5 -6
- data/querybuilder.gemspec +2 -2
- data/test/querybuilder/filters.yml +3 -0
- metadata +4 -4
data/History.txt
CHANGED
data/lib/query_builder/info.rb
CHANGED
@@ -495,15 +495,13 @@ module QueryBuilder
|
|
495
495
|
content.first == :or ? process(content) : "(#{process(content)})"
|
496
496
|
end
|
497
497
|
|
498
|
-
def process_string(string)
|
499
|
-
quote(string)
|
500
|
-
end
|
501
|
-
|
502
498
|
def process_dstring(string)
|
503
499
|
raise QueryBuilder::SyntaxError.new("Cannot parse rubyless (missing binding context).") unless helper = @rubyless_helper
|
504
500
|
res = RubyLess.translate_string(helper, string)
|
505
501
|
res.literal ? quote(res.literal) : insert_bind(res)
|
506
502
|
end
|
503
|
+
|
504
|
+
alias process_string process_dstring
|
507
505
|
|
508
506
|
def process_rubyless(string)
|
509
507
|
# compile RubyLess...
|
@@ -697,7 +695,7 @@ module QueryBuilder
|
|
697
695
|
|
698
696
|
def change_processor(processor, opts = {})
|
699
697
|
if @this
|
700
|
-
@this.change_processor(processor)
|
698
|
+
@this.change_processor(processor, opts)
|
701
699
|
else
|
702
700
|
if processor.kind_of?(String)
|
703
701
|
processor = QueryBuilder.resolve_const(processor)
|
@@ -706,7 +704,7 @@ module QueryBuilder
|
|
706
704
|
if processor.kind_of?(Processor)
|
707
705
|
# instance of processor
|
708
706
|
elsif processor <= Processor
|
709
|
-
processor = processor.new(this, opts)
|
707
|
+
processor = processor.new(this, {:rubyless_helper => @rubyless_helper}.merge(opts))
|
710
708
|
else
|
711
709
|
raise QueryBuilder::SyntaxError.new("Cannot use #{processor} as Query compiler (not a QueryBuilder::Processor).")
|
712
710
|
end
|
@@ -714,6 +712,7 @@ module QueryBuilder
|
|
714
712
|
@query.processor_class = processor.class
|
715
713
|
@query.main_class = processor.resolve_main_class(processor.class.main_class)
|
716
714
|
update_processor(processor)
|
715
|
+
|
717
716
|
end
|
718
717
|
end
|
719
718
|
|
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 = "1.2.
|
8
|
+
s.version = "1.2.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{2013-
|
12
|
+
s.date = %q{2013-11-04}
|
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
|
|
@@ -180,6 +180,9 @@ filter_quote_string:
|
|
180
180
|
src: "objects where name = \"l'avion\""
|
181
181
|
sql: "SELECT objects.* FROM objects WHERE objects.name = 'l''avion' AND objects.parent_id = 123"
|
182
182
|
|
183
|
+
filter_quote_ruby_in_string:
|
184
|
+
src: "objects where name = '#{hop}'"
|
185
|
+
res: "/unknown method 'hop/"
|
183
186
|
|
184
187
|
field_with_digits:
|
185
188
|
src: "objects where idx_foo1 is not null"
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: querybuilder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 1.2.
|
9
|
+
- 3
|
10
|
+
version: 1.2.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Gaspard Bucher
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2013-
|
18
|
+
date: 2013-11-04 00:00:00 +01:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|