dm-aggregates 0.9.6 → 0.9.7

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.
@@ -52,12 +52,10 @@ module DataMapper
52
52
  case property
53
53
  when Query::Operator
54
54
  aggregate_field_statement(repository, property.operator, property.target, qualify)
55
- when Property
55
+ when Property, Query::Path
56
56
  original_property_to_column_name(repository, property, qualify)
57
- when Query::Path
58
- original_property_to_column_name(repository, property, qualify)
59
57
  else
60
- raise ArgumentError, "+property+ must be a DataMapper::Query::Operator or a DataMapper::Property, but was a #{property.class} (#{property.inspect})"
58
+ raise ArgumentError, "+property+ must be a DataMapper::Query::Operator, a DataMapper::Property or a Query::Path, but was a #{property.class} (#{property.inspect})"
61
59
  end
62
60
  end
63
61
 
@@ -160,7 +160,8 @@ module DataMapper
160
160
  query = scoped_query(query)
161
161
 
162
162
  if query.fields.any? { |p| p.kind_of?(Property) }
163
- query.repository.aggregate(query.update(:unique => true))
163
+ # explicitly specify the fields to circumvent a bug in Query#update
164
+ query.repository.aggregate(query.update(:fields => query.fields, :unique => true))
164
165
  else
165
166
  query.repository.aggregate(query).first # only return one row
166
167
  end
@@ -1,7 +1,7 @@
1
1
  module DataMapper
2
2
  module More
3
3
  module Aggregates
4
- VERSION = "0.9.6"
4
+ VERSION = "0.9.7"
5
5
  end
6
6
  end
7
7
  end
@@ -5,12 +5,12 @@ if HAS_SQLITE3 || HAS_MYSQL || HAS_POSTGRES
5
5
  describe 'DataMapper::Resource' do
6
6
  before :all do
7
7
  # A simplistic example, using with an Integer property
8
- class Knight
9
- include DataMapper::Resource
8
+ class Knight
9
+ include DataMapper::Resource
10
10
 
11
- property :id, Serial
12
- property :name, String
13
- end
11
+ property :id, Serial
12
+ property :name, String
13
+ end
14
14
 
15
15
  class Dragon
16
16
  include DataMapper::Resource
@@ -23,10 +23,9 @@ if HAS_SQLITE3 || HAS_MYSQL || HAS_POSTGRES
23
23
  property :birth_on, Date
24
24
  property :birth_time, Time
25
25
 
26
- belongs_to :knight
26
+ belongs_to :knight
27
27
  end
28
28
 
29
-
30
29
  # A more complex example, with BigDecimal and Float properties
31
30
  # Statistics taken from CIA World Factbook:
32
31
  # https://www.cia.gov/library/publications/the-world-factbook/
@@ -47,8 +46,8 @@ if HAS_SQLITE3 || HAS_MYSQL || HAS_POSTGRES
47
46
  @birth_on = Date.parse(@birth_at.to_s)
48
47
  @birth_time = Time.parse(@birth_at.to_s)
49
48
 
50
- @chuck = Knight.create( :name => 'Chuck' )
51
- @larry = Knight.create( :name => 'Larry')
49
+ @chuck = Knight.create(:name => 'Chuck')
50
+ @larry = Knight.create(:name => 'Larry')
52
51
 
53
52
  Dragon.create(:name => 'George', :is_fire_breathing => false, :toes_on_claw => 3, :birth_at => @birth_at, :birth_on => @birth_on, :birth_time => @birth_time, :knight => @chuck )
54
53
  Dragon.create(:name => 'Puff', :is_fire_breathing => true, :toes_on_claw => 4, :birth_at => @birth_at, :birth_on => @birth_on, :birth_time => @birth_time, :knight => @larry )
@@ -320,12 +319,12 @@ if HAS_SQLITE3 || HAS_MYSQL || HAS_POSTGRES
320
319
  end
321
320
  end
322
321
 
323
- describe "query path issue" do
324
- it "should not break when a query path is specified" do
325
- dragon = Dragon.first(Dragon.knight.name => 'Chuck')
326
- dragon.name.should == 'George'
327
- end
328
- end
329
- end
322
+ describe "query path issue" do
323
+ it "should not break when a query path is specified" do
324
+ dragon = Dragon.first(Dragon.knight.name => 'Chuck')
325
+ dragon.name.should == 'George'
326
+ end
327
+ end
328
+ end
330
329
  end
331
330
  end
data/spec/spec_helper.rb CHANGED
@@ -8,7 +8,7 @@ def load_driver(name, default_uri)
8
8
  lib = "do_#{name}"
9
9
 
10
10
  begin
11
- gem lib, '>=0.9.5'
11
+ gem lib, '~>0.9.7'
12
12
  require lib
13
13
  DataMapper.setup(name, ENV["#{name.to_s.upcase}_SPEC_URI"] || default_uri)
14
14
  DataMapper::Repository.adapters[:default] = DataMapper::Repository.adapters[name]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dm-aggregates
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.6
4
+ version: 0.9.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Foy Savas
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-10-12 00:00:00 -06:00
12
+ date: 2008-11-18 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -20,7 +20,7 @@ dependencies:
20
20
  requirements:
21
21
  - - "="
22
22
  - !ruby/object:Gem::Version
23
- version: 0.9.6
23
+ version: 0.9.7
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: hoe
@@ -30,7 +30,7 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 1.7.0
33
+ version: 1.8.2
34
34
  version:
35
35
  description: DataMapper plugin providing support for aggregates, functions on collections and datasets
36
36
  email:
@@ -84,7 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
84
  requirements: []
85
85
 
86
86
  rubyforge_project: datamapper
87
- rubygems_version: 1.2.0
87
+ rubygems_version: 1.3.1
88
88
  signing_key:
89
89
  specification_version: 2
90
90
  summary: DataMapper plugin providing support for aggregates, functions on collections and datasets