chicagowarehouse 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -14,7 +14,7 @@ require 'rake'
14
14
  require 'jeweler'
15
15
  Jeweler::Tasks.new do |gem|
16
16
  gem.name = "chicagowarehouse"
17
- gem.version = "0.4.0"
17
+ gem.version = "0.4.1"
18
18
  gem.summary = "Ruby Data Warehousing"
19
19
  gem.description = "Simple Data Warehouse toolkit for ruby"
20
20
  gem.author = "Roland Swingler"
@@ -4,14 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{chicagowarehouse}
8
- s.version = "0.4.0"
7
+ s.name = "chicagowarehouse"
8
+ s.version = "0.4.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = [%q{Roland Swingler}]
12
- s.date = %q{2012-10-30}
13
- s.description = %q{Simple Data Warehouse toolkit for ruby}
14
- s.email = %q{roland.swingler@gmail.com}
11
+ s.authors = ["Roland Swingler"]
12
+ s.date = "2013-04-03"
13
+ s.description = "Simple Data Warehouse toolkit for ruby"
14
+ s.email = "roland.swingler@gmail.com"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE",
17
17
  "README"
@@ -80,11 +80,11 @@ Gem::Specification.new do |s|
80
80
  "spec/support/shared_examples/schema_visitor.rb",
81
81
  "tasks/stats.rake"
82
82
  ]
83
- s.homepage = %q{http://github.com/notonthehighstreet/chicago}
84
- s.licenses = [%q{MIT}]
85
- s.require_paths = [%q{lib}]
86
- s.rubygems_version = %q{1.8.6}
87
- s.summary = %q{Ruby Data Warehousing}
83
+ s.homepage = "http://github.com/notonthehighstreet/chicago"
84
+ s.licenses = ["MIT"]
85
+ s.require_paths = ["lib"]
86
+ s.rubygems_version = "1.8.25"
87
+ s.summary = "Ruby Data Warehousing"
88
88
 
89
89
  if s.respond_to? :specification_version then
90
90
  s.specification_version = 3
@@ -31,6 +31,8 @@ module Chicago
31
31
  NotFilter.new(StartsWithFilter.new(hash[:column], hash[:value]))
32
32
  when :con
33
33
  ContainsFilter.new(hash[:column], hash[:value])
34
+ when :ncon
35
+ NotFilter.new(ContainsFilter.new(hash[:column], hash[:value]))
34
36
  end
35
37
  end
36
38
 
data/spec/query_spec.rb CHANGED
@@ -442,9 +442,17 @@ describe Chicago::Query do
442
442
  @q.filter({:column => "sales.product.sku", :value => "123", :op => :con}).dataset.sql.should =~ /WHERE \(`product`\.`sku` LIKE '%123%'\)/
443
443
  end
444
444
 
445
+ it "can filter based on not contains" do
446
+ @q.filter({:column => "sales.product.sku", :value => "123", :op => :ncon}).dataset.sql.should =~ /WHERE \(`product`\.`sku` NOT LIKE '%123%'\)/
447
+ end
448
+
445
449
  it "can filter based on multiple contains" do
446
450
  @q.filter({:column => "sales.product.sku", :value => ["123", "AB", "foo"], :op => :con}).dataset.sql.should =~ /WHERE \(\(`product`\.`sku` LIKE '%123%'\) OR \(`product`\.`sku` LIKE '%AB%'\) OR \(`product`\.`sku` LIKE '%foo%'\)\)/
447
451
  end
452
+
453
+ it "can filter based on multiple contains" do
454
+ @q.filter({:column => "sales.product.sku", :value => ["123", "AB", "foo"], :op => :ncon}).dataset.sql.should =~ /WHERE \(\(`product`\.`sku` NOT LIKE '%123%'\) AND \(`product`\.`sku` NOT LIKE '%AB%'\) AND \(`product`\.`sku` NOT LIKE '%foo%'\)\)/
455
+ end
448
456
 
449
457
  it "does not join the base table when filtering" do
450
458
  @q.
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chicagowarehouse
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
4
+ hash: 13
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 4
9
- - 0
10
- version: 0.4.0
9
+ - 1
10
+ version: 0.4.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Roland Swingler
@@ -15,10 +15,10 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-10-30 00:00:00 Z
18
+ date: 2013-04-03 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- requirement: &id001 !ruby/object:Gem::Requirement
21
+ version_requirements: &id001 !ruby/object:Gem::Requirement
22
22
  none: false
23
23
  requirements:
24
24
  - - ~>
@@ -28,12 +28,12 @@ dependencies:
28
28
  - 3
29
29
  - 0
30
30
  version: "3.0"
31
- version_requirements: *id001
32
- name: sequel
33
- prerelease: false
31
+ requirement: *id001
34
32
  type: :runtime
33
+ prerelease: false
34
+ name: sequel
35
35
  - !ruby/object:Gem::Dependency
36
- requirement: &id002 !ruby/object:Gem::Requirement
36
+ version_requirements: &id002 !ruby/object:Gem::Requirement
37
37
  none: false
38
38
  requirements:
39
39
  - - ">="
@@ -44,12 +44,12 @@ dependencies:
44
44
  - 3
45
45
  - 2
46
46
  version: 0.3.2
47
- version_requirements: *id002
48
- name: sequel_migration_builder
49
- prerelease: false
47
+ requirement: *id002
50
48
  type: :runtime
49
+ prerelease: false
50
+ name: sequel_migration_builder
51
51
  - !ruby/object:Gem::Dependency
52
- requirement: &id003 !ruby/object:Gem::Requirement
52
+ version_requirements: &id003 !ruby/object:Gem::Requirement
53
53
  none: false
54
54
  requirements:
55
55
  - - "="
@@ -60,12 +60,12 @@ dependencies:
60
60
  - 8
61
61
  - 1
62
62
  version: 2.8.1
63
- version_requirements: *id003
64
- name: mysql
65
- prerelease: false
63
+ requirement: *id003
66
64
  type: :runtime
65
+ prerelease: false
66
+ name: mysql
67
67
  - !ruby/object:Gem::Dependency
68
- requirement: &id004 !ruby/object:Gem::Requirement
68
+ version_requirements: &id004 !ruby/object:Gem::Requirement
69
69
  none: false
70
70
  requirements:
71
71
  - - ">="
@@ -74,12 +74,12 @@ dependencies:
74
74
  segments:
75
75
  - 0
76
76
  version: "0"
77
- version_requirements: *id004
78
- name: chronic
79
- prerelease: false
77
+ requirement: *id004
80
78
  type: :runtime
79
+ prerelease: false
80
+ name: chronic
81
81
  - !ruby/object:Gem::Dependency
82
- requirement: &id005 !ruby/object:Gem::Requirement
82
+ version_requirements: &id005 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ">="
@@ -88,12 +88,12 @@ dependencies:
88
88
  segments:
89
89
  - 0
90
90
  version: "0"
91
- version_requirements: *id005
92
- name: yard
93
- prerelease: false
91
+ requirement: *id005
94
92
  type: :development
93
+ prerelease: false
94
+ name: yard
95
95
  - !ruby/object:Gem::Dependency
96
- requirement: &id006 !ruby/object:Gem::Requirement
96
+ version_requirements: &id006 !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements:
99
99
  - - ~>
@@ -103,12 +103,12 @@ dependencies:
103
103
  - 2
104
104
  - 0
105
105
  version: "2.0"
106
- version_requirements: *id006
107
- name: rspec
108
- prerelease: false
106
+ requirement: *id006
109
107
  type: :development
108
+ prerelease: false
109
+ name: rspec
110
110
  - !ruby/object:Gem::Dependency
111
- requirement: &id007 !ruby/object:Gem::Requirement
111
+ version_requirements: &id007 !ruby/object:Gem::Requirement
112
112
  none: false
113
113
  requirements:
114
114
  - - ">="
@@ -117,12 +117,12 @@ dependencies:
117
117
  segments:
118
118
  - 0
119
119
  version: "0"
120
- version_requirements: *id007
121
- name: bundler
122
- prerelease: false
120
+ requirement: *id007
123
121
  type: :development
122
+ prerelease: false
123
+ name: bundler
124
124
  - !ruby/object:Gem::Dependency
125
- requirement: &id008 !ruby/object:Gem::Requirement
125
+ version_requirements: &id008 !ruby/object:Gem::Requirement
126
126
  none: false
127
127
  requirements:
128
128
  - - ">="
@@ -131,12 +131,12 @@ dependencies:
131
131
  segments:
132
132
  - 0
133
133
  version: "0"
134
- version_requirements: *id008
135
- name: jeweler
136
- prerelease: false
134
+ requirement: *id008
137
135
  type: :development
136
+ prerelease: false
137
+ name: jeweler
138
138
  - !ruby/object:Gem::Dependency
139
- requirement: &id009 !ruby/object:Gem::Requirement
139
+ version_requirements: &id009 !ruby/object:Gem::Requirement
140
140
  none: false
141
141
  requirements:
142
142
  - - ">="
@@ -145,12 +145,12 @@ dependencies:
145
145
  segments:
146
146
  - 0
147
147
  version: "0"
148
- version_requirements: *id009
149
- name: rcov
150
- prerelease: false
148
+ requirement: *id009
151
149
  type: :development
150
+ prerelease: false
151
+ name: rcov
152
152
  - !ruby/object:Gem::Dependency
153
- requirement: &id010 !ruby/object:Gem::Requirement
153
+ version_requirements: &id010 !ruby/object:Gem::Requirement
154
154
  none: false
155
155
  requirements:
156
156
  - - ">="
@@ -159,12 +159,12 @@ dependencies:
159
159
  segments:
160
160
  - 0
161
161
  version: "0"
162
- version_requirements: *id010
163
- name: flog
164
- prerelease: false
162
+ requirement: *id010
165
163
  type: :development
164
+ prerelease: false
165
+ name: flog
166
166
  - !ruby/object:Gem::Dependency
167
- requirement: &id011 !ruby/object:Gem::Requirement
167
+ version_requirements: &id011 !ruby/object:Gem::Requirement
168
168
  none: false
169
169
  requirements:
170
170
  - - ">="
@@ -173,12 +173,12 @@ dependencies:
173
173
  segments:
174
174
  - 0
175
175
  version: "0"
176
- version_requirements: *id011
177
- name: ZenTest
178
- prerelease: false
176
+ requirement: *id011
179
177
  type: :development
178
+ prerelease: false
179
+ name: ZenTest
180
180
  - !ruby/object:Gem::Dependency
181
- requirement: &id012 !ruby/object:Gem::Requirement
181
+ version_requirements: &id012 !ruby/object:Gem::Requirement
182
182
  none: false
183
183
  requirements:
184
184
  - - ">="
@@ -187,10 +187,10 @@ dependencies:
187
187
  segments:
188
188
  - 0
189
189
  version: "0"
190
- version_requirements: *id012
191
- name: timecop
192
- prerelease: false
190
+ requirement: *id012
193
191
  type: :development
192
+ prerelease: false
193
+ name: timecop
194
194
  description: Simple Data Warehouse toolkit for ruby
195
195
  email: roland.swingler@gmail.com
196
196
  executables: []
@@ -292,7 +292,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
292
292
  requirements: []
293
293
 
294
294
  rubyforge_project:
295
- rubygems_version: 1.8.6
295
+ rubygems_version: 1.8.25
296
296
  signing_key:
297
297
  specification_version: 3
298
298
  summary: Ruby Data Warehousing