active_hash 0.7.6 → 0.7.7

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,5 +1,6 @@
1
1
  2009-12-19
2
2
  - Added ActiveHash::Enum (John Pignata)
3
+ - Deprecated include ActiveHash::Associations in favor of extend ActiveHash::Associations
3
4
 
4
5
  2009-12-10
5
6
  - Fixed a bug where belongs_to associations would raise an error instead of returning
data/README.md CHANGED
@@ -182,15 +182,15 @@ You can also use standard rails view helpers, like #collection_select:
182
182
 
183
183
  <%= collection_select :person, :country_id, Country.all, :id, :name %>
184
184
 
185
- If you include the ActiveHash::Associations module, you can also create associations from your ActiveHash classes, like so:
185
+ If you extend the ActiveHash::Associations module, you can also create associations from your ActiveHash classes, like so:
186
186
 
187
187
  class Country < ActiveHash::Base
188
- include ActiveHash::Associations
188
+ extend ActiveHash::Associations
189
189
  has_many :people
190
190
  end
191
191
 
192
192
  class Person < ActiveHash::Base
193
- include ActiveHash::Associations
193
+ extend ActiveHash::Associations
194
194
  belongs_to :country
195
195
  has_many :pets
196
196
  end
@@ -201,7 +201,7 @@ If you include the ActiveHash::Associations module, you can also create associat
201
201
  Once you define a belongs to, you also get the setter method:
202
202
 
203
203
  class City < ActiveHash::Base
204
- include ActiveHash::Associations
204
+ extend ActiveHash::Associations
205
205
  belongs_to :state
206
206
  end
207
207
 
data/Rakefile CHANGED
@@ -11,7 +11,7 @@ begin
11
11
  gem.authors = ["Jeff Dean", "Mike Dalessio", "Corey Innis", "Peter Jaros", "Brandon Keene", "Brian Takita", "Pat Nakajima", "John Pignata"]
12
12
  gem.add_dependency('activesupport', [">= 2.2.2"])
13
13
  end
14
-
14
+ Jeweler::GemcutterTasks.new
15
15
  rescue LoadError
16
16
  puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
17
17
  end
@@ -33,16 +33,10 @@ task :default => :spec
33
33
 
34
34
  require 'rake/rdoctask'
35
35
  Rake::RDocTask.new do |rdoc|
36
- if File.exist?('VERSION.yml')
37
- config = YAML.load(File.read('VERSION.yml'))
38
- version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
39
- else
40
- version = ""
41
- end
36
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
42
37
 
43
38
  rdoc.rdoc_dir = 'rdoc'
44
- rdoc.title = "active_hash #{version}"
39
+ rdoc.title = "the-perfect-gem #{version}"
45
40
  rdoc.rdoc_files.include('README*')
46
41
  rdoc.rdoc_files.include('lib/**/*.rb')
47
42
  end
48
-
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.6
1
+ 0.7.7
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{active_hash}
8
- s.version = "0.7.6"
8
+ s.version = "0.7.7"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jeff Dean", "Mike Dalessio", "Corey Innis", "Peter Jaros", "Brandon Keene", "Brian Takita", "Pat Nakajima", "John Pignata"]
@@ -2,10 +2,15 @@ module ActiveHash
2
2
  module Associations
3
3
 
4
4
  def self.included(base)
5
- base.send(:extend, ClassMethods)
5
+ puts %Q{DEPRECATION WARNING: include #{self} should be extend #{self} and will be removed in later versions. Called from #{caller.first}}
6
+ base.extend self
6
7
  end
7
8
 
8
- module ClassMethods
9
+ def self.extended(base)
10
+ base.send :extend, Methods
11
+ end
12
+
13
+ module Methods
9
14
  def has_many(association_id, options = {})
10
15
 
11
16
  define_method(association_id) do
@@ -36,5 +41,6 @@ module ActiveHash
36
41
 
37
42
  end
38
43
  end
44
+
39
45
  end
40
46
  end
@@ -1,5 +1,35 @@
1
1
  require 'spec/spec_helper'
2
2
 
3
+ describe ActiveHash::Base, "associations when included" do
4
+ before do
5
+ class City < ActiveHash::Base
6
+ silence_stream STDOUT do
7
+ include ActiveHash::Associations
8
+ end
9
+ end
10
+
11
+ class Author < ActiveHash::Base
12
+ silence_stream STDOUT do
13
+ include ActiveHash::Associations
14
+ end
15
+ field :publisher_id
16
+ field :city_id
17
+ end
18
+ end
19
+
20
+ after do
21
+ Object.send :remove_const, :City
22
+ Object.send :remove_const, :Author
23
+ end
24
+
25
+ it "works until the deprecation period is up" do
26
+ Author.belongs_to :city
27
+ city = City.create!
28
+ author = Author.new :city => city
29
+ author.city.should == city
30
+ end
31
+ end
32
+
3
33
  describe ActiveHash::Base, "associations" do
4
34
 
5
35
  before do
@@ -8,11 +38,11 @@ describe ActiveHash::Base, "associations" do
8
38
 
9
39
  class City < ActiveHash::Base
10
40
  field :country_id
11
- include ActiveHash::Associations
41
+ extend ActiveHash::Associations
12
42
  end
13
43
 
14
44
  class Author < ActiveHash::Base
15
- include ActiveHash::Associations
45
+ extend ActiveHash::Associations
16
46
  field :publisher_id
17
47
  field :city_id
18
48
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_hash
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.6
4
+ version: 0.7.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Dean