querybuilder 0.9.5 → 0.9.6

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.
@@ -8,7 +8,7 @@
8
8
  # The where CLAUSE can contain the following operators
9
9
 
10
10
  ws = ' ' | '\t' | '\n';
11
- var = ws* ([a-zA-Z_:]+) $str_a;
11
+ var = ws* ([a-zA-Z_][a-zA-Z0-9_:]*) $str_a;
12
12
  dquote = ([^"\\] | '\n') $str_a | ('\\' (any | '\n') $str_a);
13
13
  squote = ([^'\\] | '\n') $str_a | ('\\' (any | '\n') $str_a);
14
14
  string = ws* ("'" squote* "'" >string | '"' dquote* '"' >dstring);
@@ -1,15 +1,15 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{querybuilder}
8
- s.version = "0.9.5"
8
+ s.version = "0.9.6"
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{2011-02-11}
12
+ s.date = %q{2011-05-09}
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
 
@@ -21,68 +21,65 @@ Gem::Specification.new do |s|
21
21
  "README.rdoc"
22
22
  ]
23
23
  s.files = [
24
- ".gitignore",
25
- "History.txt",
26
- "Manifest.txt",
27
- "README.rdoc",
28
- "Rakefile",
29
- "lib/extconf.rb",
30
- "lib/query_builder.rb",
31
- "lib/query_builder/error.rb",
32
- "lib/query_builder/info.rb",
33
- "lib/query_builder/parser.rb",
34
- "lib/query_builder/processor.rb",
35
- "lib/query_builder/query.rb",
36
- "lib/querybuilder.rb",
37
- "lib/querybuilder_ext.c",
38
- "lib/querybuilder_ext.rl",
39
- "lib/querybuilder_rb.rb",
40
- "lib/querybuilder_rb.rl",
41
- "lib/querybuilder_syntax.rl",
42
- "lib/tasks/build.rake",
43
- "old_QueryBuilder.rb",
44
- "querybuilder.gemspec",
45
- "script/console",
46
- "script/destroy",
47
- "script/generate",
48
- "test/database.rb",
49
- "test/dummy_test.rb",
50
- "test/mock/custom_queries/test.yml",
51
- "test/mock/dummy.rb",
52
- "test/mock/dummy_processor.rb",
53
- "test/mock/queries/bar.yml",
54
- "test/mock/queries/foo.yml",
55
- "test/mock/user_processor.rb",
56
- "test/query_test.rb",
57
- "test/querybuilder/basic.yml",
58
- "test/querybuilder/custom.yml",
59
- "test/querybuilder/errors.yml",
60
- "test/querybuilder/filters.yml",
61
- "test/querybuilder/group.yml",
62
- "test/querybuilder/joins.yml",
63
- "test/querybuilder/mixed.yml",
64
- "test/querybuilder/rubyless.yml",
65
- "test/querybuilder_test.rb",
66
- "test/test_helper.rb"
24
+ "History.txt",
25
+ "Manifest.txt",
26
+ "README.rdoc",
27
+ "Rakefile",
28
+ "lib/extconf.rb",
29
+ "lib/query_builder.rb",
30
+ "lib/query_builder/error.rb",
31
+ "lib/query_builder/info.rb",
32
+ "lib/query_builder/parser.rb",
33
+ "lib/query_builder/processor.rb",
34
+ "lib/query_builder/query.rb",
35
+ "lib/querybuilder.rb",
36
+ "lib/querybuilder_ext.c",
37
+ "lib/querybuilder_ext.rl",
38
+ "lib/querybuilder_rb.rb",
39
+ "lib/querybuilder_rb.rl",
40
+ "lib/querybuilder_syntax.rl",
41
+ "lib/tasks/build.rake",
42
+ "old_QueryBuilder.rb",
43
+ "querybuilder.gemspec",
44
+ "script/console",
45
+ "script/destroy",
46
+ "script/generate",
47
+ "test/database.rb",
48
+ "test/dummy_test.rb",
49
+ "test/mock/custom_queries/test.yml",
50
+ "test/mock/dummy.rb",
51
+ "test/mock/dummy_processor.rb",
52
+ "test/mock/queries/bar.yml",
53
+ "test/mock/queries/foo.yml",
54
+ "test/mock/user_processor.rb",
55
+ "test/query_test.rb",
56
+ "test/querybuilder/basic.yml",
57
+ "test/querybuilder/custom.yml",
58
+ "test/querybuilder/errors.yml",
59
+ "test/querybuilder/filters.yml",
60
+ "test/querybuilder/group.yml",
61
+ "test/querybuilder/joins.yml",
62
+ "test/querybuilder/mixed.yml",
63
+ "test/querybuilder/rubyless.yml",
64
+ "test/querybuilder_test.rb",
65
+ "test/test_helper.rb"
67
66
  ]
68
67
  s.homepage = %q{http://zenadmin.org/524}
69
- s.rdoc_options = ["--charset=UTF-8"]
70
68
  s.require_paths = ["lib"]
71
- s.rubygems_version = %q{1.3.7}
69
+ s.rubygems_version = %q{1.6.1}
72
70
  s.summary = %q{QueryBuilder is an interpreter for the "pseudo sql" language.}
73
71
  s.test_files = [
74
72
  "test/database.rb",
75
- "test/dummy_test.rb",
76
- "test/mock/dummy.rb",
77
- "test/mock/dummy_processor.rb",
78
- "test/mock/user_processor.rb",
79
- "test/query_test.rb",
80
- "test/querybuilder_test.rb",
81
- "test/test_helper.rb"
73
+ "test/dummy_test.rb",
74
+ "test/mock/dummy.rb",
75
+ "test/mock/dummy_processor.rb",
76
+ "test/mock/user_processor.rb",
77
+ "test/query_test.rb",
78
+ "test/querybuilder_test.rb",
79
+ "test/test_helper.rb"
82
80
  ]
83
81
 
84
82
  if s.respond_to? :specification_version then
85
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
86
83
  s.specification_version = 3
87
84
 
88
85
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
@@ -28,7 +28,7 @@ class DummyProcessor < QueryBuilder::Processor
28
28
 
29
29
  # Overwrite this and take care to check for valid fields.
30
30
  def process_field(field_name)
31
- if ['id', 'parent_id', 'project_id', 'section_id', 'kpath', 'name', 'event_at', 'custom_a'].include?(field_name)
31
+ if ['id', 'parent_id', 'project_id', 'section_id', 'kpath', 'name', 'event_at', 'custom_a', 'idx_foo1'].include?(field_name)
32
32
  "#{table}.#{field_name}"
33
33
  elsif field_name == 'REF_DATE'
34
34
  context[:ref_date] ? insert_bind(context[:ref_date]) : 'now()'
@@ -163,4 +163,10 @@ filter_not_in_literal:
163
163
 
164
164
  filter_quote_string:
165
165
  src: "objects where name = \"l'avion\""
166
- sql: "SELECT objects.* FROM objects WHERE objects.name = 'l''avion' AND objects.parent_id = 123"
166
+ sql: "SELECT objects.* FROM objects WHERE objects.name = 'l''avion' AND objects.parent_id = 123"
167
+
168
+
169
+ field_with_digits:
170
+ src: "objects where idx_foo1 is not null"
171
+ sxp: '[:query, [:filter, [:relation, "objects"], [:is, [:field, "idx_foo1"], [:raw, "not null"]]]]'
172
+ res: "[%Q{SELECT objects.* FROM objects WHERE objects.idx_foo1 IS NOT NULL AND objects.parent_id = ?}, id]"
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: 49
5
- prerelease: false
4
+ hash: 55
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 9
9
- - 5
10
- version: 0.9.5
9
+ - 6
10
+ version: 0.9.6
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: 2011-02-11 00:00:00 +01:00
18
+ date: 2011-05-09 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -78,7 +78,6 @@ extensions:
78
78
  extra_rdoc_files:
79
79
  - README.rdoc
80
80
  files:
81
- - .gitignore
82
81
  - History.txt
83
82
  - Manifest.txt
84
83
  - README.rdoc
@@ -126,8 +125,8 @@ homepage: http://zenadmin.org/524
126
125
  licenses: []
127
126
 
128
127
  post_install_message:
129
- rdoc_options:
130
- - --charset=UTF-8
128
+ rdoc_options: []
129
+
131
130
  require_paths:
132
131
  - lib
133
132
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -151,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
151
150
  requirements: []
152
151
 
153
152
  rubyforge_project:
154
- rubygems_version: 1.3.7
153
+ rubygems_version: 1.6.1
155
154
  signing_key:
156
155
  specification_version: 3
157
156
  summary: QueryBuilder is an interpreter for the "pseudo sql" language.