mm_uses_no_id 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,4 +18,24 @@ module MmUsesNoId
18
18
  end
19
19
  alias :== :eql?
20
20
 
21
+ def initialize_copy(other)
22
+ @_new = true
23
+ @_destroyed = false
24
+
25
+ begin
26
+ remove_instance_variable(:@_id)
27
+ remove_instance_variable(:@_id_before_type_cast)
28
+ rescue
29
+ end
30
+
31
+ associations.each do |name, association|
32
+ instance_variable_set(association.ivar, nil)
33
+ end
34
+ self.attributes = other.attributes.clone.except(:_id).inject({}) do |hash, entry|
35
+ key, value = entry
36
+ hash[key] = value.duplicable? ? value.clone : value
37
+ hash
38
+ end
39
+ end
40
+
21
41
  end
@@ -1,3 +1,3 @@
1
1
  module MmUsesNoId
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,60 +1,71 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: mm_uses_no_id
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.5
4
5
  prerelease:
5
- version: 0.0.4
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Jonathan Chambers
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2012-07-14 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2013-01-05 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: rspec
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
19
17
  none: false
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: "2.7"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '2.7'
24
22
  type: :development
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: bson_ext
28
23
  prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '2.7'
30
+ - !ruby/object:Gem::Dependency
31
+ name: bson_ext
32
+ requirement: !ruby/object:Gem::Requirement
30
33
  none: false
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
34
37
  version: 1.5.0
35
38
  type: :development
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
38
- name: mongo_mapper
39
39
  prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
41
41
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 1.5.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: mongo_mapper
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
45
53
  version: 0.10.1
46
54
  type: :runtime
47
- version_requirements: *id003
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 0.10.1
48
62
  description: MongoMapper plugin that removes ID field from EmbeddedDocuments
49
- email:
63
+ email:
50
64
  - j.chambers@gmx.net
51
65
  executables: []
52
-
53
66
  extensions: []
54
-
55
67
  extra_rdoc_files: []
56
-
57
- files:
68
+ files:
58
69
  - .gitignore
59
70
  - Gemfile
60
71
  - MIT-LICENSE
@@ -65,32 +76,29 @@ files:
65
76
  - mm_uses_no_id.gemspec
66
77
  - spec/mm_uses_no_id_spec.rb
67
78
  homepage: https://github.com/jmchambers/mm_uses_no_id
68
- licenses:
79
+ licenses:
69
80
  - MIT
70
81
  post_install_message:
71
82
  rdoc_options: []
72
-
73
- require_paths:
83
+ require_paths:
74
84
  - lib
75
- required_ruby_version: !ruby/object:Gem::Requirement
85
+ required_ruby_version: !ruby/object:Gem::Requirement
76
86
  none: false
77
- requirements:
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- version: "0"
81
- required_rubygems_version: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ! '>='
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ required_rubygems_version: !ruby/object:Gem::Requirement
82
92
  none: false
83
- requirements:
84
- - - ">="
85
- - !ruby/object:Gem::Version
86
- version: "0"
93
+ requirements:
94
+ - - ! '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
87
97
  requirements: []
88
-
89
98
  rubyforge_project:
90
- rubygems_version: 1.8.17
99
+ rubygems_version: 1.8.24
91
100
  signing_key:
92
101
  specification_version: 3
93
102
  summary: id-less embedded docs for MM
94
103
  test_files: []
95
-
96
104
  has_rdoc: