Module: CpfCnpjActiveRecord::ClassMethods

Defined in:
lib/brcpfcnpj/cpf_cnpj_activerecord.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#usar_como_cnpj(*args) ⇒ Object

:nodoc:



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/brcpfcnpj/cpf_cnpj_activerecord.rb', line 41

def usar_como_cnpj(*args) #:nodoc:
  unless args.size.zero?
    args.each do |name|
      composed_of name, :class_name => 'Cnpj', :mapping => [name.to_s, "numero"], :allow_nil => true do
        Cnpj.new(name[:numero])
      end

      name = name.to_s
      module_eval "      validate :\#{name}_valido?\n\n      def \#{name}_valido?\n        value = read_attribute('\#{name}')\n        if !value.nil? && value.strip != '' && !\#{name}.nil? && !\#{name}.valido?\n          self.errors.add('\#{name}', 'numero invalido')\n        end\n      end\n\n      def \#{name}=(value)\n        if value.nil?\n          write_attribute('\#{name}', nil)\n        elsif value.kind_of?(Cnpj)\n          write_attribute('\#{name}', value.numero)\n        else\n          begin\n            write_attribute('\#{name}', value)\n          rescue\n            @\#{name} = value\n          end\n        end\n      end\n      ADICIONANDO_METODOS_PARA_CNPJ\n    end\n  end      \nend\n"

#usar_como_cpf(*args) ⇒ Object

:nodoc:



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/brcpfcnpj/cpf_cnpj_activerecord.rb', line 6

def usar_como_cpf(*args) #:nodoc:
  unless args.size.zero?
    args.each do |name|
      composed_of name, :class_name => 'Cpf', :mapping => [name.to_s, "numero"], :allow_nil => true do
        Cpf.new(name[:numero])
      end
      name = name.to_s
      module_eval "      validate :\#{name}_valido?\n\n      def \#{name}_valido?\n        value = read_attribute('\#{name}')\n        if !value.nil? && value.strip != '' && !\#{name}.nil? && !\#{name}.valido?\n          self.errors.add('\#{name}', 'numero invalido')\n        end\n      end  \n      \n      def \#{name}=(value)\n        if value.nil?            \n          write_attribute('\#{name}', nil)\n        elsif value.kind_of?(Cpf) \n          write_attribute('\#{name}', value.numero)\n        else\n          begin               \n            write_attribute('\#{name}', value)\n          rescue               \n            @\#{name} = value\n          end\n        end\n      end\n      ADICIONANDO_METODOS_PARA_CPF\n    end\n  end\nend\n"