couchrest_model 1.1.0 → 1.1.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/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.0
1
+ 1.1.1
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
23
23
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
24
24
  s.require_paths = ["lib"]
25
25
 
26
- s.add_dependency(%q<couchrest>, "1.1.0")
26
+ s.add_dependency(%q<couchrest>, "1.1.1")
27
27
  s.add_dependency(%q<mime-types>, "~> 1.15")
28
28
  s.add_dependency(%q<activemodel>, "~> 3.0")
29
29
  s.add_dependency(%q<tzinfo>, "~> 0.3.22")
data/history.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # CouchRest Model Change History
2
2
 
3
+ ## 1.1.1 - 2011-07-04
4
+
5
+ * Minor fix
6
+ * Bumping CouchRest version dependency for important initialize method fix.
7
+ * Ensuring super on Embeddable#initialize can be called.
8
+
3
9
  ## 1.1.0 - 2011-06-25
4
10
 
5
11
  * Major Alterations
@@ -2,8 +2,10 @@ module CouchRest::Model
2
2
  module Embeddable
3
3
  extend ActiveSupport::Concern
4
4
 
5
+ # Include Attributes early to ensure super() will work
6
+ include CouchRest::Attributes
7
+
5
8
  included do
6
- include CouchRest::Attributes
7
9
  include CouchRest::Model::Configuration
8
10
  include CouchRest::Model::Properties
9
11
  include CouchRest::Model::PropertyProtection
@@ -20,17 +22,18 @@ module CouchRest::Model
20
22
  false # Can never be base doc!
21
23
  end
22
24
 
23
- # Initialize a new Casted Model. Accepts the same
24
- # options as CouchRest::Model::Base for preparing and initializing
25
- # attributes.
26
- def initialize(keys = {}, options = {})
27
- super()
28
- prepare_all_attributes(keys, options)
29
- run_callbacks(:initialize) { self }
30
- end
31
25
  end
32
26
  end
33
27
 
28
+ # Initialize a new Casted Model. Accepts the same
29
+ # options as CouchRest::Model::Base for preparing and initializing
30
+ # attributes.
31
+ def initialize(keys = {}, options = {})
32
+ super()
33
+ prepare_all_attributes(keys, options)
34
+ run_callbacks(:initialize) { self }
35
+ end
36
+
34
37
  # False if the casted model has already
35
38
  # been saved in the containing document
36
39
  def new?
@@ -79,6 +79,17 @@ describe CouchRest::Model::Embeddable do
79
79
  @obj = klass.new
80
80
  @obj.name.should eql("foobar")
81
81
  end
82
+ it "should allow override of initialize with super" do
83
+ klass = Class.new do
84
+ include CouchRest::Model::Embeddable
85
+ after_initialize :set_name
86
+ property :name
87
+ def set_name; self.name = "foobar"; end
88
+ def initialize(attrs = {}); super(); end
89
+ end
90
+ @obj = klass.new
91
+ @obj.name.should eql("foobar")
92
+ end
82
93
  end
83
94
 
84
95
  describe "casted as an attribute, but without a value" do
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: couchrest_model
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.1.0
5
+ version: 1.1.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - J. Chris Anderson
@@ -25,7 +25,7 @@ dependencies:
25
25
  requirements:
26
26
  - - "="
27
27
  - !ruby/object:Gem::Version
28
- version: 1.1.0
28
+ version: 1.1.1
29
29
  type: :runtime
30
30
  version_requirements: *id001
31
31
  - !ruby/object:Gem::Dependency