scaffold_plus 1.7.1 → 1.7.3

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
  SHA1:
3
- metadata.gz: 07be1c74af7be1b70d689173591c67a9f207eb96
4
- data.tar.gz: a3170fff4e3a8eb3d6c47afb0a573c97126f96be
3
+ metadata.gz: 804c22bdff1126e023c334e10af6d849a2255a3e
4
+ data.tar.gz: 25e6941d686cde90c0d9ecbe902798d816c11abd
5
5
  SHA512:
6
- metadata.gz: 1addc25650114a13fc8b06e29115af6bf36453bab28a3de82ab52eca4f355bbba1aad7c9fff9a2fda7f06a4a5a607f6fbcbced58c5e35bf17d06cee186518ec5
7
- data.tar.gz: fd4d3c6cc759505aa1797b2a94340a40e81b6aa61592c375f4693c94bebcae8fd6993d16832ef4900dbda40dcadc381acbd4fc6b7a984d6344fd67e7c1c80296
6
+ metadata.gz: 7902a9eeaa8d8e034be882a85acd16dda6d49face995a20ab7f94240ac30e40a6b0253c3e47a8569d13ca814d6f9b297dcf64af0b8de54020127d4fbff5bfe50
7
+ data.tar.gz: 6ef826a6a918e540433cb976045f20f156f5b6ecf2a966bd9cbbbbc3ca0e803e59b8de873d8fa4dbac789cf448e57d84f252fe307e65bdffa99a299c86d399a6
@@ -32,8 +32,10 @@ module ScaffoldPlus
32
32
  " if geo.country_code.upcase == 'DE'",
33
33
  " obj.country = 'DE'",
34
34
  " obj.address = geo.address.gsub(/, Deutschland/, '')",
35
- " obj.#{options.latitude} = geo.latitude",
36
- " obj.#{options.longitude} = geo.longitude",
35
+ " if obj.#{options.latitude}.blank? and obj.#{options.longitude}.blank?",
36
+ " obj.#{options.latitude} = geo.latitude",
37
+ " obj.#{options.longitude} = geo.longitude",
38
+ " end",
37
39
  " end",
38
40
  " end",
39
41
  " end"
@@ -41,7 +43,7 @@ module ScaffoldPlus
41
43
  else
42
44
  country = []
43
45
  end
44
- lines = options.before? ? [ "\n" ] : []
46
+ lines = options.before? ? [ "" ] : []
45
47
  lines << [
46
48
  geocoded,
47
49
  country,
@@ -50,7 +52,7 @@ module ScaffoldPlus
50
52
  " and obj.#{options.address}_changed? }",
51
53
  ""
52
54
  ]
53
- lines << "\n" if options.after?
55
+ lines << "" if options.after?
54
56
  inject_into_class "app/models/#{name}.rb", class_name do
55
57
  lines.flatten.join("\n")
56
58
  end
@@ -13,31 +13,29 @@ module ScaffoldPlus
13
13
 
14
14
  def update_model
15
15
  lat = options.latitude
16
- lon = options.longitude
16
+ lng = options.longitude
17
17
  file = "app/models/#{name}.rb"
18
18
  prepend_to_file file, "require 'geodesic_wgs84'\n\n"
19
19
  lines = [
20
20
  " def to_ary",
21
- " [#{lat}, #{lon}]",
21
+ " [#{lat}, #{lng}]",
22
22
  " end",
23
23
  "",
24
- " after_validation :update_coordinates, on: [:create, :update]",
25
- "",
26
- " protected",
24
+ " def as_dms(value)",
25
+ " return '' if value.blank?",
26
+ " wgs84 = Wgs84.new",
27
+ " wgs84.as_dms(value)",
28
+ " end",
27
29
  "",
28
- " def update_coordinates",
30
+ " before_save on: [:create, :update] do",
31
+ " # Normalize geo information",
29
32
  " wgs84 = Wgs84.new",
30
- " if self.#{lat}.blank? and self.#{lon}.blank?",
31
- " if self.#{lat}_dms.present? and self.#{lon}_dms.present?",
32
- " self.#{lat}, self.#{lon} = wgs84.lat_lon(self.#{lat}_dms, self.#{lon}_dms)",
33
- " end",
33
+ " if self.#{lat}.present?",
34
+ " self.#{lat} = wgs84.as_deg(self.#{lat})",
34
35
  " end",
35
- " if self.#{lat}_dms.blank? and self.#{lon}_dms.blank?",
36
- " if self.#{lat}.present? and self.#{lon}.present?",
37
- " self.#{lat}_dms, self.#{lon}_dms = wgs84.lat_lon_dms(self.#{lat}, self.#{lon})",
38
- " end",
36
+ " if self.#{lng}.present?",
37
+ " self.#{lng} = wgs84.as_deg(self.#{lng})",
39
38
  " end",
40
- " true",
41
39
  " end",
42
40
  ""
43
41
  ]
@@ -39,7 +39,7 @@ module ScaffoldPlus
39
39
  text << ", dependent: :#{dependent}" if options.dependent
40
40
  text << "\n"
41
41
  if options.nested
42
- text << " accepts_nested_attributes_for :#{child}\n"
42
+ text << " accepts_nested_attributes_for :#{child}, allow_destroy: true\n"
43
43
  end
44
44
  text << "\n" if after_array.include?(name)
45
45
  text
@@ -61,7 +61,7 @@ module ScaffoldPlus
61
61
  def add_to_permit
62
62
  return unless options.nested
63
63
  list = options.nested.map{|n| ":#{n}"}.join(', ')
64
- text = "#{child}_attributes: [ #{list} ]"
64
+ text = ":#{child}, #{child}_attributes: [ #{list} ]"
65
65
  file = "app/controllers/#{table_name}_controller.rb"
66
66
  gsub_file file, /(permit\(.*)\)/, "\\1, #{text})"
67
67
  # Special case: no previous permit
@@ -1,3 +1,3 @@
1
1
  module ScaffoldPlus
2
- VERSION = "1.7.1"
2
+ VERSION = "1.7.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scaffold_plus
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.1
4
+ version: 1.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Volker Wiegand
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-22 00:00:00.000000000 Z
11
+ date: 2014-10-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord