mdwa_endereco 0.0.1 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +6 -5
- data/Gemfile.lock +135 -0
- data/README.md +42 -17
- data/lib/generators/mdwa_endereco/install/install_generator.rb +85 -0
- data/lib/generators/mdwa_endereco/install/templates/assets/js/endereco.js +35 -0
- data/lib/generators/mdwa_endereco/install/templates/db/seeds.rb +5605 -0
- data/lib/generators/mdwa_endereco/install/templates/entidades/cidade.rb +32 -0
- data/lib/generators/mdwa_endereco/install/templates/entidades/endereco.rb +26 -0
- data/lib/generators/mdwa_endereco/install/templates/entidades/estado.rb +20 -0
- data/lib/generators/mdwa_endereco/install/templates/locales/mdwa.endereco.en.yml +105 -0
- data/lib/generators/mdwa_endereco/install/templates/locales/mdwa.endereco.pt-BR.yml +105 -0
- data/lib/generators/mdwa_endereco/install/templates/requisitos/armazenar_enderecos.rb +10 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/controllers/cidades_controller.rb +167 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/controllers/cidades_controller.rb~ +81 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/controllers/enderecos_controller.rb +36 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/controllers/estados_controller.rb +167 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/controllers/estados_controller.rb~ +81 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/helpers/cidade.rb +7 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/helpers/endereco.rb +7 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/helpers/estado.rb +7 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/models/cidade.rb +14 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/models/endereco.rb +24 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/models/estado.rb +10 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/models/geoposicionamento.rb +46 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/_form.html.erb +18 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/_form_fields.html.erb +31 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/_list.html.erb +36 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/create.js.erb +7 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/destroy.js.erb +2 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/edit.html.erb +9 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/index.html.erb +53 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/index.js.erb +1 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/new.html.erb +9 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/show.html.erb +54 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/update.js.erb +12 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/enderecos/_form.html.erb +18 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/enderecos/_form_fields.html.erb +50 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/enderecos/_form_fields_formatado.html.erb +65 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/enderecos/atualizar_dados_cep.js.erb +17 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/enderecos/gerar_combobox_cidade.js.erb +5 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/_form.html.erb +18 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/_form_fields.html.erb +13 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/_list.html.erb +31 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/create.js.erb +7 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/destroy.js.erb +2 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/edit.html.erb +9 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/index.html.erb +45 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/index.js.erb +1 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/new.html.erb +9 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/show.html.erb +39 -0
- data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/update.js.erb +12 -0
- data/lib/mdwa_endereco.rb +1 -0
- data/lib/mdwa_endereco/version.rb +2 -1
- data/mdwa_endereco.gemspec +1 -0
- metadata +75 -18
data/lib/generators/mdwa_endereco/install/templates/templates/controllers/cidades_controller.rb~
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
<%-
|
3
|
+
@entity = MDWA::DSL.entity('Cidade')
|
4
|
+
@model = @entity.generator_model
|
5
|
+
-%>
|
6
|
+
class A::CidadesController < A::BackendController
|
7
|
+
|
8
|
+
load_and_authorize_resource :class => "A::Cidade"
|
9
|
+
|
10
|
+
# Hook for code generations. Do not delete.
|
11
|
+
#===controller_init===
|
12
|
+
|
13
|
+
def index
|
14
|
+
@cidades = A::Cidade.paginate :page => params[:page]
|
15
|
+
|
16
|
+
respond_to do |format|
|
17
|
+
format.html
|
18
|
+
format.js
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
def show
|
24
|
+
@cidade = A::Cidade.find(params[:id])
|
25
|
+
|
26
|
+
render :layout => false
|
27
|
+
end
|
28
|
+
|
29
|
+
def new
|
30
|
+
@cidade = A::Cidade.new
|
31
|
+
|
32
|
+
render :layout => false
|
33
|
+
end
|
34
|
+
|
35
|
+
def edit
|
36
|
+
@cidade = A::Cidade.find(params[:id])
|
37
|
+
|
38
|
+
render :layout => false
|
39
|
+
end
|
40
|
+
|
41
|
+
def create
|
42
|
+
@cidade = A::Cidade.new(params[:a_cidade])
|
43
|
+
saved_ok = @cidade.save
|
44
|
+
@system_notice = t('cidades.create_success') if saved_ok
|
45
|
+
load_list # loads all cidades to display in the list
|
46
|
+
|
47
|
+
|
48
|
+
respond_to do |format|
|
49
|
+
format.js
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def update
|
54
|
+
@cidade = A::Cidade.find(params[:id])
|
55
|
+
saved_ok = @cidade.update_attributes(params[:a_cidade])
|
56
|
+
@system_notice = t('cidades.update_success') if saved_ok
|
57
|
+
load_list # loads all cidades to display in the list
|
58
|
+
|
59
|
+
|
60
|
+
respond_to do |format|
|
61
|
+
format.js
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def destroy
|
66
|
+
@cidade = A::Cidade.find(params[:id])
|
67
|
+
@system_notice = t('cidades.destroy_success') if @cidade.destroy
|
68
|
+
load_list # loads all cidades to display in the list
|
69
|
+
|
70
|
+
respond_to do |format|
|
71
|
+
format.js
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
|
76
|
+
private
|
77
|
+
def load_list
|
78
|
+
@cidades = A::Cidade.paginate :page => 1
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
data/lib/generators/mdwa_endereco/install/templates/templates/controllers/enderecos_controller.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
<%-
|
3
|
+
@entity = MDWA::DSL.entity('Endereco')
|
4
|
+
@model = @entity.generator_model
|
5
|
+
-%>
|
6
|
+
class A::EnderecosController < A::BackendController
|
7
|
+
|
8
|
+
load_and_authorize_resource :class => "A::Endereco"
|
9
|
+
|
10
|
+
# Hook for code generations. Do not delete.
|
11
|
+
#===controller_init===
|
12
|
+
|
13
|
+
def gerar_combobox_cidade
|
14
|
+
@estado_id = params[:estado] unless params[:estado].blank?
|
15
|
+
@cidades = A::Cidade.where( :estado_id => @estado_id )
|
16
|
+
respond_to do |format|
|
17
|
+
format.js
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def atualizar_dados_cep
|
22
|
+
begin
|
23
|
+
@endereco = BuscaEndereco.por_cep(params[:cep])
|
24
|
+
@tipo = params[:endereco_tipo]
|
25
|
+
|
26
|
+
@estado = A::Estado.find_by_acronimo( @endereco[4].downcase )
|
27
|
+
@cidade = A::Cidade.where( :nome => @endereco[3], :estado_id => @estado.id ).first
|
28
|
+
rescue
|
29
|
+
end
|
30
|
+
|
31
|
+
respond_to do |format|
|
32
|
+
format.js
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
data/lib/generators/mdwa_endereco/install/templates/templates/controllers/estados_controller.rb
ADDED
@@ -0,0 +1,167 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
<%-
|
3
|
+
@entity = MDWA::DSL.entity('Estado')
|
4
|
+
@model = @entity.generator_model
|
5
|
+
-%>
|
6
|
+
class <%= @model.controller_name %>Controller < <%= (@model.space == 'a') ? 'A::BackendController' : 'ApplicationController' %>
|
7
|
+
|
8
|
+
<%- if @entity.resource? -%>
|
9
|
+
load_and_authorize_resource :class => "<%= @model.klass %>"
|
10
|
+
<%- end -%>
|
11
|
+
|
12
|
+
# Hook for code generations. Do not delete.
|
13
|
+
#===controller_init===
|
14
|
+
|
15
|
+
def index
|
16
|
+
conditions = []
|
17
|
+
<%-
|
18
|
+
atributos_com_filtro = @entity.attributes.values.select {|attr| attr.options[:filtered]}
|
19
|
+
associacoes_com_filtro = @entity.associations.values.select {|assoc| assoc.options[:filtered]}
|
20
|
+
-%>
|
21
|
+
<%- if !atributos_com_filtro.count.zero? -%>
|
22
|
+
<%- atributos_com_filtro.each do |atributo| -%>
|
23
|
+
<%- if [:integer, :float, :decimal, :boolean].include? atributo.type.to_sym -%>
|
24
|
+
conditions << "(<%= @model.plural_name %>.<%= atributo.name %> = '#{params[:<%= atributo.name %>]}')" unless params[:<%= atributo.name %>].blank?
|
25
|
+
<%- elsif [:string, :text].include? atributo.type.to_sym -%>
|
26
|
+
conditions << "(<%= @model.plural_name %>.<%= atributo.name %> LIKE '%#{params[:<%= atributo.name %>]}%')" unless params[:<%= atributo.name %>].blank?
|
27
|
+
<%- elsif [:date].include? atributo.type.to_sym -%>
|
28
|
+
conditions << "(<%= @model.plural_name %>.<%= atributo.name %> BETWEEN '#{params[:<%= atributo.name %>_0].to_date}' AND '#{params[:<%= atributo.name %>_1].to_date}')" if !params[:<%= atributo.name %>_0].blank? and !params[:<%= atributo.name %>_1].blank?
|
29
|
+
conditions << "(<%= @model.plural_name %>.<%= atributo.name %> >= '#{params[:<%= atributo.name %>_0].to_date}')" if !params[:<%= atributo.name %>_0].blank? and params[:<%= atributo.name %>_0].blank?
|
30
|
+
conditions << "(<%= @model.plural_name %>.<%= atributo.name %> <= '#{params[:<%= atributo.name %>_1].to_date}')" if params[:<%= atributo.name %>_0].blank? and !params[:<%= atributo.name %>_1].blank?
|
31
|
+
<%- elsif [:datetime, :timestamp].include? atributo.type.to_sym -%>
|
32
|
+
conditions << "(<%= @model.plural_name %>.<%= atributo.name %> BETWEEN '#{params[:<%= atributo.name %>_0].to_date.beginning_of_day}' AND '#{params[:<%= atributo.name %>_1].to_date.end_of_day}')" if !params[:<%= atributo.name %>_0].blank? and !params[:<%= atributo.name %>_1].blank?
|
33
|
+
conditions << "(<%= @model.plural_name %>.<%= atributo.name %> >= '#{params[:<%= atributo.name %>_0].to_date.beginning_of_day}')" if !params[:<%= atributo.name %>_0].blank? and params[:<%= atributo.name %>_0].blank?
|
34
|
+
conditions << "(<%= @model.plural_name %>.<%= atributo.name %> <= '#{params[:<%= atributo.name %>_1].to_date.end_of_day}')" if params[:<%= atributo.name %>_0].blank? and !params[:<%= atributo.name %>_1].blank?
|
35
|
+
<%- end -%>
|
36
|
+
<%- end -%>
|
37
|
+
<%- end -%>
|
38
|
+
|
39
|
+
<%- associacoes_com_filtro.each do |associacao| -%>
|
40
|
+
conditions << "(<%= @model.plural_name %>.<%= associacao.name %>_id = #{params[:<%= associacao.name %>_id]})" unless params[:<%= associacao.name %>_id].blank?
|
41
|
+
<%- end -%>
|
42
|
+
|
43
|
+
@<%= @model.plural_name %> = <%= @model.klass %>.paginate :page => params[:page], :conditions => conditions.join(' AND ')
|
44
|
+
|
45
|
+
respond_to do |format|
|
46
|
+
format.html
|
47
|
+
format.js
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
|
52
|
+
def show
|
53
|
+
@<%= @model.singular_name %> = <%= @model.klass %>.find(params[:id])
|
54
|
+
|
55
|
+
<%- if @entity.ajax? -%>
|
56
|
+
render :layout => false
|
57
|
+
<%- else -%>
|
58
|
+
respond_to do |format|
|
59
|
+
format.html
|
60
|
+
end
|
61
|
+
<%- end -%>
|
62
|
+
end
|
63
|
+
|
64
|
+
def new
|
65
|
+
@<%= @model.singular_name %> = <%= @model.klass %>.new
|
66
|
+
<%- @model.associations.select {|a| a.nested_one?}.each do |assoc| -%>
|
67
|
+
@<%= @model.singular_name %>.<%= assoc.model2.singular_name %> = <%= assoc.model2.klass %>.new
|
68
|
+
<%- end -%>
|
69
|
+
|
70
|
+
<%- if @entity.ajax? -%>
|
71
|
+
render :layout => false
|
72
|
+
<%- else -%>
|
73
|
+
respond_to do |format|
|
74
|
+
format.html
|
75
|
+
end
|
76
|
+
<%- end -%>
|
77
|
+
end
|
78
|
+
|
79
|
+
def edit
|
80
|
+
@<%= @model.singular_name %> = <%= @model.klass %>.find(params[:id])
|
81
|
+
|
82
|
+
<%- if @entity.ajax? -%>
|
83
|
+
render :layout => false
|
84
|
+
<%- else -%>
|
85
|
+
respond_to do |format|
|
86
|
+
format.html
|
87
|
+
end
|
88
|
+
<%- end -%>
|
89
|
+
end
|
90
|
+
|
91
|
+
def create
|
92
|
+
@<%= @model.singular_name %> = <%= @model.klass %>.new(params[:<%= @model.to_params %>])
|
93
|
+
saved_ok = @<%= @model.singular_name %>.save
|
94
|
+
@system_notice = t('<%= @model.plural_name %>.notice.create') if saved_ok
|
95
|
+
|
96
|
+
<%- @model.associations.select{|a| a.has_and_belongs_to_many? and a.composition?}.each do |association| -%>
|
97
|
+
unless params[:<%= association.model2.plural_name %>].nil?
|
98
|
+
@<%= @model.singular_name %>.<%= association.model2.plural_name %>.clear
|
99
|
+
params[:<%= association.model2.plural_name %>].each do |<%= association.model2.singular_name.foreign_key %>|
|
100
|
+
@<%= @model.singular_name %>.<%= association.model2.plural_name %>.push <%= association.model2.klass %>.find <%= association.model2.singular_name.foreign_key %>
|
101
|
+
end
|
102
|
+
end
|
103
|
+
<%- end -%>
|
104
|
+
|
105
|
+
respond_to do |format|
|
106
|
+
<%- if @entity.ajax? -%>
|
107
|
+
format.js
|
108
|
+
<%- else -%>
|
109
|
+
if saved_ok
|
110
|
+
format.html { redirect_to <%= @model.object_name.pluralize %>_path, notice: @system_notice }
|
111
|
+
else
|
112
|
+
format.html { render action: "new" }
|
113
|
+
end
|
114
|
+
<%- end -%>
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
def update
|
119
|
+
@<%= @model.singular_name %> = <%= @model.klass %>.find(params[:id])
|
120
|
+
<%- if @entity.user? -%>
|
121
|
+
# if password is blank, delete from params
|
122
|
+
if params[:<%= @model.object_name %>][:password].blank?
|
123
|
+
params[:<%= @model.object_name %>].delete :password
|
124
|
+
params[:<%= @model.object_name %>].delete :password_confirmation
|
125
|
+
end
|
126
|
+
<%- end -%>
|
127
|
+
@<%= @model.singular_name %>.attributes = params[:<%= @model.to_params %>]
|
128
|
+
saved_ok = @<%= @model.singular_name %>.save
|
129
|
+
@system_notice = t('<%= @model.plural_name %>.notice.update') if saved_ok
|
130
|
+
|
131
|
+
<%- @model.associations.select{|a| a.has_and_belongs_to_many? and a.composition?}.each do |association| -%>
|
132
|
+
unless params[:<%= association.model2.plural_name %>].nil?
|
133
|
+
@<%= @model.singular_name %>.<%= association.model2.plural_name %>.clear
|
134
|
+
params[:<%= association.model2.plural_name %>].each do |<%= association.model2.singular_name.foreign_key %>|
|
135
|
+
@<%= @model.singular_name %>.<%= association.model2.plural_name %>.push <%= association.model2.klass %>.find <%= association.model2.singular_name.foreign_key %>
|
136
|
+
end
|
137
|
+
end
|
138
|
+
<%- end -%>
|
139
|
+
|
140
|
+
respond_to do |format|
|
141
|
+
<%- if @entity.ajax? -%>
|
142
|
+
format.js
|
143
|
+
<%- else -%>
|
144
|
+
if saved_ok
|
145
|
+
format.html { redirect_to <%= @model.object_name.pluralize %>_path, notice: @system_notice }
|
146
|
+
else
|
147
|
+
format.html { render action: "edit" }
|
148
|
+
end
|
149
|
+
<%- end -%>
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
153
|
+
def destroy
|
154
|
+
@<%= @model.singular_name %> = <%= @model.klass %>.find(params[:id])
|
155
|
+
@system_notice = t('<%= @model.plural_name %>.notice.destroy') if @<%= @model.singular_name %>.destroy
|
156
|
+
|
157
|
+
respond_to do |format|
|
158
|
+
<%- if @entity.ajax? -%>
|
159
|
+
format.js
|
160
|
+
<%- else -%>
|
161
|
+
format.html { redirect_to <%= @model.object_name.pluralize %>_path, notice: @system_notice }
|
162
|
+
<%- end -%>
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
166
|
+
|
167
|
+
end
|
data/lib/generators/mdwa_endereco/install/templates/templates/controllers/estados_controller.rb~
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
<%-
|
3
|
+
@entity = MDWA::DSL.entity('Estado')
|
4
|
+
@model = @entity.generator_model
|
5
|
+
-%>
|
6
|
+
class A::EstadosController < A::BackendController
|
7
|
+
|
8
|
+
load_and_authorize_resource :class => "A::Estado"
|
9
|
+
|
10
|
+
# Hook for code generations. Do not delete.
|
11
|
+
#===controller_init===
|
12
|
+
|
13
|
+
def index
|
14
|
+
@estados = A::Estado.paginate :page => params[:page]
|
15
|
+
|
16
|
+
respond_to do |format|
|
17
|
+
format.html
|
18
|
+
format.js
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
def show
|
24
|
+
@estado = A::Estado.find(params[:id])
|
25
|
+
|
26
|
+
render :layout => false
|
27
|
+
end
|
28
|
+
|
29
|
+
def new
|
30
|
+
@estado = A::Estado.new
|
31
|
+
|
32
|
+
render :layout => false
|
33
|
+
end
|
34
|
+
|
35
|
+
def edit
|
36
|
+
@estado = A::Estado.find(params[:id])
|
37
|
+
|
38
|
+
render :layout => false
|
39
|
+
end
|
40
|
+
|
41
|
+
def create
|
42
|
+
@estado = A::Estado.new(params[:a_estado])
|
43
|
+
saved_ok = @estado.save
|
44
|
+
@system_notice = t('estados.create_success') if saved_ok
|
45
|
+
load_list # loads all estados to display in the list
|
46
|
+
|
47
|
+
|
48
|
+
respond_to do |format|
|
49
|
+
format.js
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def update
|
54
|
+
@estado = A::Estado.find(params[:id])
|
55
|
+
saved_ok = @estado.update_attributes(params[:a_estado])
|
56
|
+
@system_notice = t('estados.update_success') if saved_ok
|
57
|
+
load_list # loads all estados to display in the list
|
58
|
+
|
59
|
+
|
60
|
+
respond_to do |format|
|
61
|
+
format.js
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def destroy
|
66
|
+
@estado = A::Estado.find(params[:id])
|
67
|
+
@system_notice = t('estados.destroy_success') if @estado.destroy
|
68
|
+
load_list # loads all estados to display in the list
|
69
|
+
|
70
|
+
respond_to do |format|
|
71
|
+
format.js
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
|
76
|
+
private
|
77
|
+
def load_list
|
78
|
+
@estados = A::Estado.paginate :page => 1
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class A::Cidade < ActiveRecord::Base
|
3
|
+
|
4
|
+
attr_accessible :nome, :latitude, :longitude, :populacao, :estado
|
5
|
+
|
6
|
+
has_many :enderecos, :class_name => 'A::Endereco'
|
7
|
+
belongs_to :estado, :class_name => 'A::Estado'
|
8
|
+
attr_accessible :estado_id
|
9
|
+
|
10
|
+
def nome_completo
|
11
|
+
"#{nome} - #{estado.acronimo.upcase}"
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
module A
|
3
|
+
class Endereco < ActiveRecord::Base
|
4
|
+
|
5
|
+
attr_accessible :rua, :numero, :cep, :complemento, :bairro, :cidade_id
|
6
|
+
|
7
|
+
belongs_to :cidade, :class_name => 'A::Cidade'
|
8
|
+
|
9
|
+
validates :rua, :cep, :bairro, :cidade_id, :presence => true
|
10
|
+
|
11
|
+
def nome_completo
|
12
|
+
nome = []
|
13
|
+
nome << self.rua
|
14
|
+
nome << ", #{self.numero}" unless self.numero.blank?
|
15
|
+
nome << " - #{self.complemento}" unless self.complemento.blank?
|
16
|
+
nome << " - #{self.bairro}"
|
17
|
+
nome << " - #{self.cep}"
|
18
|
+
nome << " - #{self.cidade.nome_completo}"
|
19
|
+
nome.join
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|