chicagowarehouse 0.6.5 → 0.6.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MTNlNjg1NDBiNTQwOTY3ZGQyNjczNmFlMDQ0NDNjOGM4OTZmMzY5Mw==
5
- data.tar.gz: !binary |-
6
- ZDBhMTYxYWYzMGIxMmUwOWFmYWUxOGI3MDdjYWRiZGZhM2JkZTZlZA==
2
+ SHA1:
3
+ metadata.gz: 5a54a10415694e7c293cf98d338f1ec7e29343cc
4
+ data.tar.gz: 65d485e97187351d7dc90cada98956f43a424eb9
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- OTVjOTEwMTNkOWY4N2Y5NmU5OWY1NGNlYjMwMDBjMjdlOTI4NDI3M2NiNjcy
10
- MDVjNTc0ZTJjZjAxNzI5NmQ1YTkwMDI3MDAzMTMwNzk0MjUzYjlmZDAxNWRj
11
- OTJkZjBlNzRjN2I1YmQ3Y2NlNjUyMGUwOGRlOTk4MTk5MzFiOTg=
12
- data.tar.gz: !binary |-
13
- ZWY3YTQ0NTNjYTNkMmI2ZGQzZTg3MzI3Mzg3ODU3ZGZjZTdjODcwZWUxODFi
14
- YzU1ZDlhZTQxZDFiNDY5YTg1MzU5YjQ2ODQyYzc0MzBjMGI2ZTBkNzc3Y2Ex
15
- ZjY1NTQxODhmNTQzZTgwY2Q5OGNlMzExZmE0MjgyMzI5ZmY1MjE=
6
+ metadata.gz: f3412a1bf3b456d3e1c47e36990366144390ea6a85d78f753f35e6fb76ab441ecd3bc6ccf024e205231405a25b01a80aae36f2144a807a9f7dadab8488d0926a
7
+ data.tar.gz: ca7b1e11af675ce66af8c81511f34768c00072cc277f2925548916165ca15736cf43fa49e68467111da6b767c925cd527cc98544cbaa2fc3f296603b864e6c19
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.6.5"
17
+ gem.version = "0.6.6"
18
18
  gem.summary = "Ruby Data Warehousing"
19
19
  gem.description = "Simple Data Warehouse toolkit for ruby"
20
20
  gem.author = "Roland Swingler"
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: chicagowarehouse 0.6.5 ruby lib
5
+ # stub: chicagowarehouse 0.6.6 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "chicagowarehouse"
9
- s.version = "0.6.5"
9
+ s.version = "0.6.6"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Roland Swingler"]
14
- s.date = "2014-09-08"
14
+ s.date = "2014-09-18"
15
15
  s.description = "Simple Data Warehouse toolkit for ruby"
16
16
  s.email = "roland.swingler@gmail.com"
17
17
  s.extra_rdoc_files = [
@@ -83,7 +83,7 @@ Gem::Specification.new do |s|
83
83
  ]
84
84
  s.homepage = "http://github.com/notonthehighstreet/chicago"
85
85
  s.licenses = ["MIT"]
86
- s.rubygems_version = "2.2.1"
86
+ s.rubygems_version = "2.2.2"
87
87
  s.summary = "Ruby Data Warehousing"
88
88
 
89
89
  if s.respond_to? :specification_version then
@@ -95,6 +95,10 @@ module Chicago
95
95
 
96
96
  # Allows querying a column that doesn't exist in the database, but
97
97
  # is defined as a calculation in the column definition.
98
+ #
99
+ # Virtual columns are currently assumed to be calculated measures
100
+ # - filters will appear in the HAVING clause, not the WHERE clause
101
+ # of the SQL statement.
98
102
  class VirtualColumn < QualifiedColumn
99
103
  def initialize(owner, column, column_alias)
100
104
  super(owner, column, column_alias)
@@ -104,6 +108,10 @@ module Chicago
104
108
  def group_name
105
109
  nil
106
110
  end
111
+
112
+ def filter_dataset(ds, filter)
113
+ ds.having(filter)
114
+ end
107
115
  end
108
116
 
109
117
  # @abstract
@@ -471,6 +471,11 @@ describe Chicago::Query do
471
471
  sql.should =~ /HAVING \(sum\(`sales`\.`total`\) = 2\)/
472
472
  end
473
473
 
474
+ it "filters in the having clause when a virtual calculated column is filtered" do
475
+ @q.filter({:column => "sales.vat", :value => 2, :op => :gte}).dataset.
476
+ sql.should =~ /HAVING \(\(sum\(`total`\) \* `vat_rate`\) >= 2\)/
477
+ end
478
+
474
479
  describe "#columns" do
475
480
  it "returns an empty array if no columns are selected" do
476
481
  @q.columns.should be_empty
metadata CHANGED
@@ -1,173 +1,167 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chicagowarehouse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.5
4
+ version: 0.6.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roland Swingler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-08 00:00:00.000000000 Z
11
+ date: 2014-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sequel
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: !binary |-
20
- NC43
19
+ version: '4.7'
21
20
  type: :runtime
22
21
  prerelease: false
23
22
  version_requirements: !ruby/object:Gem::Requirement
24
23
  requirements:
25
- - - ! '>='
24
+ - - ">="
26
25
  - !ruby/object:Gem::Version
27
- version: !binary |-
28
- NC43
26
+ version: '4.7'
29
27
  - !ruby/object:Gem::Dependency
30
28
  name: sequel_migration_builder
31
29
  requirement: !ruby/object:Gem::Requirement
32
30
  requirements:
33
- - - ! '>='
31
+ - - ">="
34
32
  - !ruby/object:Gem::Version
35
- version: !binary |-
36
- MC40LjM=
33
+ version: 0.4.3
37
34
  type: :runtime
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
- - - ! '>='
38
+ - - ">="
42
39
  - !ruby/object:Gem::Version
43
- version: !binary |-
44
- MC40LjM=
40
+ version: 0.4.3
45
41
  - !ruby/object:Gem::Dependency
46
42
  name: chronic
47
43
  requirement: !ruby/object:Gem::Requirement
48
44
  requirements:
49
- - - ! '>='
45
+ - - ">="
50
46
  - !ruby/object:Gem::Version
51
47
  version: '0'
52
48
  type: :runtime
53
49
  prerelease: false
54
50
  version_requirements: !ruby/object:Gem::Requirement
55
51
  requirements:
56
- - - ! '>='
52
+ - - ">="
57
53
  - !ruby/object:Gem::Version
58
54
  version: '0'
59
55
  - !ruby/object:Gem::Dependency
60
56
  name: mysql2
61
57
  requirement: !ruby/object:Gem::Requirement
62
58
  requirements:
63
- - - ! '>='
59
+ - - ">="
64
60
  - !ruby/object:Gem::Version
65
61
  version: '0'
66
62
  type: :development
67
63
  prerelease: false
68
64
  version_requirements: !ruby/object:Gem::Requirement
69
65
  requirements:
70
- - - ! '>='
66
+ - - ">="
71
67
  - !ruby/object:Gem::Version
72
68
  version: '0'
73
69
  - !ruby/object:Gem::Dependency
74
70
  name: yard
75
71
  requirement: !ruby/object:Gem::Requirement
76
72
  requirements:
77
- - - ! '>='
73
+ - - ">="
78
74
  - !ruby/object:Gem::Version
79
75
  version: '0'
80
76
  type: :development
81
77
  prerelease: false
82
78
  version_requirements: !ruby/object:Gem::Requirement
83
79
  requirements:
84
- - - ! '>='
80
+ - - ">="
85
81
  - !ruby/object:Gem::Version
86
82
  version: '0'
87
83
  - !ruby/object:Gem::Dependency
88
84
  name: rspec
89
85
  requirement: !ruby/object:Gem::Requirement
90
86
  requirements:
91
- - - ~>
87
+ - - "~>"
92
88
  - !ruby/object:Gem::Version
93
- version: !binary |-
94
- Mi4w
89
+ version: '2.0'
95
90
  type: :development
96
91
  prerelease: false
97
92
  version_requirements: !ruby/object:Gem::Requirement
98
93
  requirements:
99
- - - ~>
94
+ - - "~>"
100
95
  - !ruby/object:Gem::Version
101
- version: !binary |-
102
- Mi4w
96
+ version: '2.0'
103
97
  - !ruby/object:Gem::Dependency
104
98
  name: bundler
105
99
  requirement: !ruby/object:Gem::Requirement
106
100
  requirements:
107
- - - ! '>='
101
+ - - ">="
108
102
  - !ruby/object:Gem::Version
109
103
  version: '0'
110
104
  type: :development
111
105
  prerelease: false
112
106
  version_requirements: !ruby/object:Gem::Requirement
113
107
  requirements:
114
- - - ! '>='
108
+ - - ">="
115
109
  - !ruby/object:Gem::Version
116
110
  version: '0'
117
111
  - !ruby/object:Gem::Dependency
118
112
  name: jeweler
119
113
  requirement: !ruby/object:Gem::Requirement
120
114
  requirements:
121
- - - ! '>='
115
+ - - ">="
122
116
  - !ruby/object:Gem::Version
123
117
  version: '0'
124
118
  type: :development
125
119
  prerelease: false
126
120
  version_requirements: !ruby/object:Gem::Requirement
127
121
  requirements:
128
- - - ! '>='
122
+ - - ">="
129
123
  - !ruby/object:Gem::Version
130
124
  version: '0'
131
125
  - !ruby/object:Gem::Dependency
132
126
  name: simplecov
133
127
  requirement: !ruby/object:Gem::Requirement
134
128
  requirements:
135
- - - ! '>='
129
+ - - ">="
136
130
  - !ruby/object:Gem::Version
137
131
  version: '0'
138
132
  type: :development
139
133
  prerelease: false
140
134
  version_requirements: !ruby/object:Gem::Requirement
141
135
  requirements:
142
- - - ! '>='
136
+ - - ">="
143
137
  - !ruby/object:Gem::Version
144
138
  version: '0'
145
139
  - !ruby/object:Gem::Dependency
146
140
  name: flog
147
141
  requirement: !ruby/object:Gem::Requirement
148
142
  requirements:
149
- - - ! '>='
143
+ - - ">="
150
144
  - !ruby/object:Gem::Version
151
145
  version: '0'
152
146
  type: :development
153
147
  prerelease: false
154
148
  version_requirements: !ruby/object:Gem::Requirement
155
149
  requirements:
156
- - - ! '>='
150
+ - - ">="
157
151
  - !ruby/object:Gem::Version
158
152
  version: '0'
159
153
  - !ruby/object:Gem::Dependency
160
154
  name: timecop
161
155
  requirement: !ruby/object:Gem::Requirement
162
156
  requirements:
163
- - - ! '>='
157
+ - - ">="
164
158
  - !ruby/object:Gem::Version
165
159
  version: '0'
166
160
  type: :development
167
161
  prerelease: false
168
162
  version_requirements: !ruby/object:Gem::Requirement
169
163
  requirements:
170
- - - ! '>='
164
+ - - ">="
171
165
  - !ruby/object:Gem::Version
172
166
  version: '0'
173
167
  description: Simple Data Warehouse toolkit for ruby
@@ -178,8 +172,8 @@ extra_rdoc_files:
178
172
  - LICENSE
179
173
  - README
180
174
  files:
181
- - .document
182
- - .rspec
175
+ - ".document"
176
+ - ".rspec"
183
177
  - Gemfile
184
178
  - LICENSE
185
179
  - README
@@ -249,17 +243,17 @@ require_paths:
249
243
  - lib
250
244
  required_ruby_version: !ruby/object:Gem::Requirement
251
245
  requirements:
252
- - - ! '>='
246
+ - - ">="
253
247
  - !ruby/object:Gem::Version
254
248
  version: '0'
255
249
  required_rubygems_version: !ruby/object:Gem::Requirement
256
250
  requirements:
257
- - - ! '>='
251
+ - - ">="
258
252
  - !ruby/object:Gem::Version
259
253
  version: '0'
260
254
  requirements: []
261
255
  rubyforge_project:
262
- rubygems_version: 2.2.1
256
+ rubygems_version: 2.2.2
263
257
  signing_key:
264
258
  specification_version: 4
265
259
  summary: Ruby Data Warehousing