chicagowarehouse 0.4.0 → 0.4.1

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/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