portable_model 1.2.1 → 1.2.2

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.
@@ -94,7 +94,9 @@ module PortableModel
94
94
  raise ArgumentError.new('specified argument is not a hash') unless record_hash.is_a?(Hash)
95
95
 
96
96
  # Override any necessary attributes before importing.
97
- record_hash.merge!(overridden_import_attrs)
97
+ overridden_import_attrs.each do |attr, overridden_value|
98
+ record_hash[attr] = overridden_value.is_a?(Proc) ? overridden_value.call(record_hash) : overridden_value
99
+ end
98
100
 
99
101
  if (columns_hash.include?(inheritance_column) &&
100
102
  (record_type_name = record_hash[inheritance_column.to_s]) &&
@@ -196,23 +198,23 @@ module PortableModel
196
198
  end
197
199
 
198
200
  def included_association_keys
199
- @included_association_keys ||= Set.new
201
+ @included_association_keys ||= superclass.include?(PortableModel) ? superclass.included_association_keys.dup : Set.new
200
202
  end
201
203
 
202
204
  def excluded_export_attrs
203
- @excluded_export_attrs ||= Set.new
205
+ @excluded_export_attrs ||= superclass.include?(PortableModel) ? superclass.excluded_export_attrs.dup : Set.new
204
206
  end
205
207
 
206
208
  def overridden_export_attrs
207
- @overridden_export_attrs ||= {}
209
+ @overridden_export_attrs ||= superclass.include?(PortableModel) ? superclass.overridden_export_attrs.dup : {}
208
210
  end
209
211
 
210
212
  def overridden_import_attrs
211
- @overridden_import_attrs ||= {}
213
+ @overridden_import_attrs ||= superclass.include?(PortableModel) ? superclass.overridden_import_attrs.dup : {}
212
214
  end
213
215
 
214
216
  def order_associations
215
- @order_associations ||= []
217
+ @order_associations ||= superclass.include?(PortableModel) ? superclass.order_associations.dup : []
216
218
  end
217
219
 
218
220
  protected
@@ -1,3 +1,3 @@
1
1
  module PortableModel
2
- VERSION = "1.2.1"
2
+ VERSION = "1.2.2"
3
3
  end
metadata CHANGED
@@ -1,37 +1,49 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: portable_model
3
- version: !ruby/object:Gem::Version
4
- version: 1.2.1
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease:
6
+ segments:
7
+ - 1
8
+ - 2
9
+ - 2
10
+ version: 1.2.2
5
11
  platform: ruby
6
- authors:
12
+ authors:
7
13
  - Clyde Law
8
14
  autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
- date: 2015-05-12 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2016-04-07 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
14
21
  name: activerecord
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 2.3.8
20
- type: :runtime
21
22
  prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
24
26
  - - ">="
25
- - !ruby/object:Gem::Version
27
+ - !ruby/object:Gem::Version
28
+ hash: 19
29
+ segments:
30
+ - 2
31
+ - 3
32
+ - 8
26
33
  version: 2.3.8
34
+ type: :runtime
35
+ version_requirements: *id001
27
36
  description: Enables exporting and importing an ActiveRecord model's records.
28
- email:
37
+ email:
29
38
  - claw@alum.mit.edu
30
39
  executables: []
40
+
31
41
  extensions: []
42
+
32
43
  extra_rdoc_files: []
33
- files:
34
- - ".gitignore"
44
+
45
+ files:
46
+ - .gitignore
35
47
  - Gemfile
36
48
  - README.rdoc
37
49
  - Rakefile
@@ -41,25 +53,36 @@ files:
41
53
  - portable_model.gemspec
42
54
  homepage: http://github.com/Umofomia/portable_model
43
55
  licenses: []
44
- metadata: {}
56
+
45
57
  post_install_message:
46
58
  rdoc_options: []
47
- require_paths:
59
+
60
+ require_paths:
48
61
  - lib
49
- required_ruby_version: !ruby/object:Gem::Requirement
50
- requirements:
62
+ required_ruby_version: !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
51
65
  - - ">="
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
- required_rubygems_version: !ruby/object:Gem::Requirement
55
- requirements:
66
+ - !ruby/object:Gem::Version
67
+ hash: 3
68
+ segments:
69
+ - 0
70
+ version: "0"
71
+ required_rubygems_version: !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
56
74
  - - ">="
57
- - !ruby/object:Gem::Version
58
- version: '0'
75
+ - !ruby/object:Gem::Version
76
+ hash: 3
77
+ segments:
78
+ - 0
79
+ version: "0"
59
80
  requirements: []
81
+
60
82
  rubyforge_project: portable_model
61
- rubygems_version: 2.4.5
83
+ rubygems_version: 1.8.30
62
84
  signing_key:
63
- specification_version: 4
85
+ specification_version: 3
64
86
  summary: Enables exporting and importing an ActiveRecord model's records.
65
87
  test_files: []
88
+
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 16fb7c6bae4d88942dba38c6a289774b509cad2e
4
- data.tar.gz: 24eae10bc2c3b27bbeb03e1c136107812217ff21
5
- SHA512:
6
- metadata.gz: a38dc981403245524c99863ea9ee73cacbebd31e426172dd60f9dba3994ed35b80ab5f49a8d1523f9f52a503758d02804f251a68f6b52fbb9ead42a2a94e0a6c
7
- data.tar.gz: 3070049ef90b2f15431c3c510420cf7558234701068f3688a2978a154bc39a387ce2a2d0b9d6f38109940f979c7e78ac5d3a8f98183debdcebbe88e1acb41a5c