dcidev_active_record 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dcidev_active_record.rb +14 -0
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f2f414077e25a60a2125212a12f9ae9139f4fce7ee01215616eee2da5570de7d
4
- data.tar.gz: a8245cd2d0e6ea3b3bc94bee724070dcf614a21796b1dbc617213c419bdedc6f
3
+ metadata.gz: 39ef130c33dba54d43cb868680de1a87e6a21fdd0aa1ec784231b0faad38e998
4
+ data.tar.gz: 51bb74f205875eba8875bf1136e8c53ae4b61ef0bf7587224603e809f477ea0b
5
5
  SHA512:
6
- metadata.gz: '07590e79636f220a44f31d777d9a9fa43782b704960db95bd7da430d41f28ce924181a93529165d3dcd7cd808a4c896a4cb828af72aa23ce15a95f883552d98e'
7
- data.tar.gz: 280180a70a2453932642e80503d5619c01035f2ac5102bca34886483dadef94f79c95ebcee62e8474a2650d726b3db63e2bef595495a57c66ecc506bc97b7355
6
+ metadata.gz: f6be9964e2b1fee13e235bb9c6ca21dfc9fb2e472cb425ef9afe47e1d2175194c93138b2965c02fca6276ed1a7dd45e9f6b17fc797952cb2044c671888d3f20d
7
+ data.tar.gz: 6d5d16730a92f8b577ae7b1d181cd888842590778e74156e292450b9954c1fed0954b6d60c6300b112b4a08fbde85de5922ae6835039f81f3f8a5dbf7f7facae
@@ -118,6 +118,20 @@ module DcidevActiveRecord
118
118
  return 'LIKE' if db == 'mysql'
119
119
  end
120
120
  end
121
+
122
+ def init_nested_attributes(reflections)
123
+ reflections.each do |r|
124
+ define_method("#{r}_attributes=") do |attr|
125
+ if attr.present?
126
+ children = []
127
+ attr.each do |child|
128
+ children << r.classify.constantize.find_or_initialize_by(child)
129
+ end
130
+ eval("self.#{r} = children")
131
+ end
132
+ end
133
+ end
134
+ end
121
135
  end
122
136
 
123
137
  ActiveRecord::Base.send(:include, DcidevActiveRecord)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dcidev_active_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Punto Damar P