active_hash 0.8.5 → 0.8.6

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/.gitignore CHANGED
@@ -5,4 +5,5 @@ rdoc
5
5
  pkg
6
6
  .idea
7
7
  junk.*
8
- .bundle/*
8
+ .bundle/*
9
+ .rvmrc
data/CHANGELOG CHANGED
@@ -1,3 +1,6 @@
1
+ 2010-11-07
2
+ - Get ActiveHash::Associations to return a scope for has_many active record relationships (mocoso)
3
+
1
4
  2010-10-20
2
5
  - Allow find_by_* methods to accept an options hash, so rails associations don't blow up
3
6
 
data/README.md CHANGED
@@ -325,20 +325,6 @@ Constants are formed by first stripping all non-word characters and then upcasin
325
325
 
326
326
  The field specified as the _enum_accessor_ must contain unique data values.
327
327
 
328
- ## Authors
329
-
330
- * Jeff Dean
331
- * Mike Dalessio
332
- * Ben Woosley
333
- * John Pignata
334
- * Pat Nakajima
335
- * Brandon Keene
336
- * Dave Yeu
337
- * Brian Takita
338
- * Corey Innis
339
- * Peter Jaros
340
- * Michael Schubert
341
-
342
328
  ## Copyright
343
329
 
344
- Copyright (c) 2009 Jeff Dean. See LICENSE for details.
330
+ Copyright (c) 2010 Jeff Dean. See LICENSE for details.
data/Rakefile CHANGED
@@ -21,9 +21,10 @@ begin
21
21
  "Jeremy Weiskotten",
22
22
  "Ryan Garver",
23
23
  "Tom Stuart",
24
+ "Joel Chippindale"
24
25
  ]
25
26
  gem.add_dependency('activesupport', [">= 2.2.2"])
26
- gem.post_install_message = "NOTE: Enums have changed to use underscores.\n\nYou may have to do a search and replace to get your suite green."
27
+ # gem.post_install_message = ""
27
28
  end
28
29
  Jeweler::GemcutterTasks.new
29
30
  rescue LoadError
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.5
1
+ 0.8.6
data/active_hash.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{active_hash}
8
- s.version = "0.8.5"
8
+ s.version = "0.8.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Jeff Dean", "Mike Dalessio", "Corey Innis", "Peter Jaros", "Brandon Keene", "Brian Takita", "Pat Nakajima", "John Pignata", "Michael Schubert", "Jeremy Weiskotten", "Ryan Garver", "Tom Stuart"]
12
- s.date = %q{2010-10-20}
11
+ s.authors = ["Jeff Dean", "Mike Dalessio", "Corey Innis", "Peter Jaros", "Brandon Keene", "Brian Takita", "Pat Nakajima", "John Pignata", "Michael Schubert", "Jeremy Weiskotten", "Ryan Garver", "Tom Stuart", "Joel Chippindale"]
12
+ s.date = %q{2010-11-07}
13
13
  s.email = %q{jeff@zilkey.com}
14
14
  s.extra_rdoc_files = [
15
15
  "LICENSE",
@@ -45,9 +45,6 @@ Gem::Specification.new do |s|
45
45
  "spec/spec_helper.rb"
46
46
  ]
47
47
  s.homepage = %q{http://github.com/zilkey/active_hash}
48
- s.post_install_message = %q{NOTE: Enums have changed to use underscores.
49
-
50
- You may have to do a search and replace to get your suite green.}
51
48
  s.rdoc_options = ["--charset=UTF-8"]
52
49
  s.require_paths = ["lib"]
53
50
  s.rubygems_version = %q{1.3.7}
@@ -14,9 +14,14 @@ module ActiveHash
14
14
  :foreign_key => self.class.to_s.foreign_key
15
15
  }.merge(options)
16
16
 
17
- options[:class_name].constantize.send("find_all_by_#{options[:foreign_key]}", id)
18
- end
17
+ klass = options[:class_name].constantize
19
18
 
19
+ if klass.respond_to?(:scoped)
20
+ klass.scoped(:conditions => { options[:foreign_key] => id })
21
+ else
22
+ klass.send("find_all_by_#{options[:foreign_key]}", id)
23
+ end
24
+ end
20
25
  end
21
26
 
22
27
  def belongs_to(association_id, options = {})
@@ -27,7 +27,9 @@ describe ActiveHash::Base, "associations" do
27
27
  establish_connection :adapter => "sqlite3", :database => ":memory:"
28
28
  connection.create_table(:books, :force => true) do |t|
29
29
  t.integer :author_id
30
+ t.boolean :published
30
31
  end
32
+ named_scope :published, { :conditions => { :published => true } }
31
33
  end
32
34
  end
33
35
 
@@ -43,9 +45,9 @@ describe ActiveHash::Base, "associations" do
43
45
 
44
46
  context "with ActiveRecord children" do
45
47
  before do
46
- @included_book_1 = Book.create! :author_id => 1
47
- @included_book_2 = Book.create! :author_id => 1
48
- @excluded_book = Book.create! :author_id => 2
48
+ @included_book_1 = Book.create! :author_id => 1, :published => true
49
+ @included_book_2 = Book.create! :author_id => 1, :published => false
50
+ @excluded_book = Book.create! :author_id => 2, :published => true
49
51
  end
50
52
 
51
53
  it "find the correct records" do
@@ -53,6 +55,12 @@ describe ActiveHash::Base, "associations" do
53
55
  author = Author.create :id => 1
54
56
  author.books.should =~ [@included_book_1, @included_book_2]
55
57
  end
58
+
59
+ it "return a scope so that we can apply further scopes" do
60
+ Author.has_many :books
61
+ author = Author.create :id => 1
62
+ author.books.published.should =~ [@included_book_1]
63
+ end
56
64
  end
57
65
 
58
66
  context "with ActiveHash children" do
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_hash
3
3
  version: !ruby/object:Gem::Version
4
- hash: 53
4
+ hash: 51
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 8
9
- - 5
10
- version: 0.8.5
9
+ - 6
10
+ version: 0.8.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jeff Dean
@@ -22,11 +22,12 @@ authors:
22
22
  - Jeremy Weiskotten
23
23
  - Ryan Garver
24
24
  - Tom Stuart
25
+ - Joel Chippindale
25
26
  autorequire:
26
27
  bindir: bin
27
28
  cert_chain: []
28
29
 
29
- date: 2010-10-20 00:00:00 -06:00
30
+ date: 2010-11-07 00:00:00 -06:00
30
31
  default_executable:
31
32
  dependencies:
32
33
  - !ruby/object:Gem::Dependency
@@ -86,10 +87,7 @@ has_rdoc: true
86
87
  homepage: http://github.com/zilkey/active_hash
87
88
  licenses: []
88
89
 
89
- post_install_message: |-
90
- NOTE: Enums have changed to use underscores.
91
-
92
- You may have to do a search and replace to get your suite green.
90
+ post_install_message:
93
91
  rdoc_options:
94
92
  - --charset=UTF-8
95
93
  require_paths: