localizable_db 1.0.4 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6d0119e727257691483d9321ca6f86f138818d73a97906607fa0fa99956123c1
4
- data.tar.gz: 165c8c4a035498c6e6592b911d628906b74abe87cbb2ef386d09d96a3aa12c34
3
+ metadata.gz: cfa24ac30c6f360b07598b83926ce5b85e698b2a4f48d07043106dd9d44d6665
4
+ data.tar.gz: 32e43bbc87c5d14d97b95b1d8702ed74ed0e755fe70bcb547baa6233e83aa92a
5
5
  SHA512:
6
- metadata.gz: 854eca87de0935b2863adfb45ffbc11b47b0103f8793702bdf30fa13f8ded8ca166d101f41341033c915b16811536521e5cc1a2a0990fc794893acc6f3cd1662
7
- data.tar.gz: 27d8fedcf72a998505e98fe3407b773eba879e8fc55a5007f445ec147bd67b154089fbe5b502cd2b8e978ab9c6372a3b91b337362ddde5ad1cfe7de7453e49f7
6
+ metadata.gz: b1dc64f5544f611371e10907759d2a583467aff752169c757601c0682cd8d814359a407280a287a4527e5e908c8bbaaa84350735f36a9aa185d7dd6f877f51f9
7
+ data.tar.gz: bffe0f2dce87ca91e100f06cbb104d301203095c59025b41723393f08ba42f1222dcfc034d6a0a8c8c4b7823f6ec12bec870e8eaba556d421678f7aa7a3bcf2c
@@ -16,16 +16,20 @@ module LocalizableDb
16
16
  aux_object.send(:"#{attribute}=", language_values[attribute.to_sym])
17
17
  end
18
18
  aux_object.localizable_object_id = self.id
19
- validators_copy = aux_object._validators.dup
20
- validators_to_remove = aux_object._validators.keys - self.class.localized_attributes.map{|attribute| attribute.to_sym}
21
- validators_to_remove.each do |validator|
22
- aux_object._validators.delete(validator)
19
+ not_localized_attributes = (self.attribute_names.map{|x| x.to_sym}-self.class.localized_attributes.map{|x| x.to_sym})
20
+ not_localized_attributes.each do |attribute|
21
+ aux_object.class_eval{ attr_accessor :"#{attribute}"}
23
22
  end
24
- aux_object._validators.values.each do |validator_value|
25
- validators_to_remove.each{|validator| validator_value.flatten.first.attributes.delete(validator) }
23
+ if !aux_object.valid?
24
+ not_localized_attributes.each{|attribute| aux_object.errors.delete(attribute) }
25
+ end
26
+ aux_object.save(validate: false) if aux_object.errors.empty?
27
+ not_localized_attributes.each do |attribute|
28
+ aux_object.class_eval do
29
+ undef :"#{attribute}"
30
+ undef :"#{attribute}="
31
+ end
26
32
  end
27
- aux_object.save
28
- aux_object._validators.merge(validators_copy)
29
33
  aux_object.errors.messages.each do |err_key,err_message|
30
34
  self.errors.add("#{language_key}_#{err_key}", err_message)
31
35
  end if aux_object.errors.any?
@@ -1,3 +1,3 @@
1
1
  module LocalizableDb
2
- VERSION = '1.0.4'
2
+ VERSION = '1.0.5'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: localizable_db
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - yonga9121