querybuilder 0.9.5 → 0.9.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.