Method: CpfCnpjActiveRecord::ClassMethods#create_code

Defined in:
lib/flexa_lib/brcpfcnpj/cpf_cnpj_activerecord.rb

#create_code(name, klass) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/flexa_lib/brcpfcnpj/cpf_cnpj_activerecord.rb', line 35

def create_code(name, klass)
  str = "    validate :\#{name}_valido?\n    def \#{name}_valido?\n      value = read_attribute('\#{name}')\n      if !value.nil? && value.strip != '' && !\#{name}.nil? && !\#{name}.valido?\n        self.errors.add('\#{name}', :invalid)\n      end\n    end\n    def \#{name}=(value)\n      if value.blank?\n        write_attribute('\#{name}', nil)\n      elsif value.kind_of?(\#{eval(klass)})\n        write_attribute('\#{name}', value.numero)\n      else\n        begin\n          c = \#{eval(klass)}.new(value)\n          c.valido? ? write_attribute('\#{name}', c.numero) : write_attribute('\#{name}', value)\n        rescue\n          @\#{name} = value\n        end\n      end\n    end\n  CODE\nend\n"