effective_addresses 1.7.3 → 1.7.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/MIT-LICENSE +1 -1
- data/app/controllers/effective/addresses_controller.rb +2 -2
- data/app/models/concerns/acts_as_addressable.rb +39 -50
- data/app/models/effective/address.rb +3 -4
- data/config/effective_addresses.rb +1 -1
- data/lib/effective_addresses/engine.rb +1 -1
- data/lib/effective_addresses/version.rb +1 -1
- metadata +2 -4
- data/Rakefile +0 -23
- data/lib/tasks/effective_addresses_tasks.rake +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e242bd222bdf45a2b873aea1cb4a99966fbd3d7
|
4
|
+
data.tar.gz: 510cde83910aee2c94fda85928003375da8bf9e5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a2ddc40defbc7a58d324f33e83329e3ee6b133eebf2542e44d605c973a38f11f861156362dc93ebd4e33fce0a061f2a41322038301260dcc0dfc2d3f112ef438
|
7
|
+
data.tar.gz: 4ce4c776b7ab5a11c985005151ff0522dee5440938675cefd7b415c0d30c8909725aca9d828954091b038f85297ff8b89e49e1321e72ce5e4e4c80763642cf5d
|
data/MIT-LICENSE
CHANGED
@@ -6,9 +6,9 @@ module Effective
|
|
6
6
|
@subregions = Carmen::Country.coded(params[:country_code]).try(:subregions)
|
7
7
|
|
8
8
|
if @subregions.present?
|
9
|
-
render :
|
9
|
+
render partial: 'effective/addresses/subregions'
|
10
10
|
else
|
11
|
-
render :
|
11
|
+
render body: "<option value=''>None Available</option>"
|
12
12
|
end
|
13
13
|
end
|
14
14
|
end
|
@@ -11,7 +11,7 @@ module ActsAsAddressable
|
|
11
11
|
end
|
12
12
|
|
13
13
|
included do
|
14
|
-
has_many :addresses, as: :addressable, class_name: 'Effective::Address', dependent: :delete_all, autosave: true
|
14
|
+
has_many :addresses, -> { order(:updated_at) }, as: :addressable, class_name: 'Effective::Address', dependent: :delete_all, autosave: true
|
15
15
|
|
16
16
|
# Normalize categories
|
17
17
|
categories = @acts_as_addressable_opts.try(:flatten) || []
|
@@ -58,13 +58,6 @@ module ActsAsAddressable
|
|
58
58
|
|
59
59
|
if ((categories.try(:keys) rescue nil) || categories).include?('billing') && ((categories.try(:keys) rescue nil) || categories).include?('shipping')
|
60
60
|
self.send(:define_method, :shipping_address_same_as_billing?) { billing_address == shipping_address }
|
61
|
-
|
62
|
-
before_validation do
|
63
|
-
if @_effective_addresses_shipping_address_same_as_billing
|
64
|
-
self.shipping_address = self.billing_address
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
61
|
end
|
69
62
|
|
70
63
|
end
|
@@ -81,58 +74,54 @@ module ActsAsAddressable
|
|
81
74
|
effective_addresses(category).last
|
82
75
|
end
|
83
76
|
|
84
|
-
def set_effective_address(category,
|
85
|
-
unless
|
86
|
-
raise ArgumentError.new("Effective::Address #{category}_address= expecting an Effective::Address or Hash of attributes")
|
87
|
-
end
|
77
|
+
def set_effective_address(category, obj)
|
78
|
+
raise "#{category}_address= expected an Effective::Address or Hash" unless obj.kind_of?(Effective::Address) || obj.kind_of?(Hash)
|
88
79
|
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
add = Effective::Address.new(
|
94
|
-
:category => category.to_s,
|
95
|
-
:full_name => atts[:full_name],
|
96
|
-
:address1 => atts[:address1],
|
97
|
-
:address2 => atts[:address2],
|
98
|
-
:city => atts[:city],
|
99
|
-
:state_code => atts[:state_code],
|
100
|
-
:country_code => atts[:country_code],
|
101
|
-
:postal_code => atts[:postal_code],
|
102
|
-
:shipping_address_same_as_billing => atts[:shipping_address_same_as_billing]
|
103
|
-
)
|
104
|
-
|
105
|
-
if category == 'shipping' && add.shipping_address_same_as_billing?
|
106
|
-
@_effective_addresses_shipping_address_same_as_billing = true
|
107
|
-
return
|
80
|
+
address = (obj.kind_of?(Effective::Address) ? obj : Effective::Address.new(obj))
|
81
|
+
|
82
|
+
if category == 'shipping' && address.shipping_address_same_as_billing? && respond_to?(:billing_address)
|
83
|
+
address = effective_address('billing')
|
108
84
|
end
|
109
85
|
|
110
|
-
|
111
|
-
|
86
|
+
# Prevents duplicates from being created
|
87
|
+
return effective_address(category) if address == effective_address(category)
|
112
88
|
|
113
|
-
|
114
|
-
|
89
|
+
(self.addresses.build).tap do |existing|
|
90
|
+
existing.category = category.to_s
|
91
|
+
existing.full_name = address.full_name
|
92
|
+
existing.address1 = address.address1
|
93
|
+
existing.address2 = address.address2
|
94
|
+
existing.city = address.city
|
95
|
+
existing.state_code = address.state_code
|
96
|
+
existing.country_code = address.country_code
|
97
|
+
existing.postal_code = address.postal_code
|
98
|
+
existing.shipping_address_same_as_billing = address.shipping_address_same_as_billing?
|
99
|
+
end
|
100
|
+
end
|
115
101
|
|
116
|
-
|
102
|
+
def set_singular_effective_address(category, obj)
|
103
|
+
raise "#{category}_address= expected an Effective::Address or Hash" unless obj.kind_of?(Effective::Address) || obj.kind_of?(Hash)
|
117
104
|
|
118
|
-
|
105
|
+
address = (obj.kind_of?(Effective::Address) ? obj : Effective::Address.new(obj))
|
119
106
|
|
120
|
-
|
121
|
-
|
122
|
-
existing.full_name = atts[:full_name]
|
123
|
-
existing.address1 = atts[:address1]
|
124
|
-
existing.address2 = atts[:address2]
|
125
|
-
existing.city = atts[:city]
|
126
|
-
existing.state_code = atts[:state_code]
|
127
|
-
existing.country_code = atts[:country_code]
|
128
|
-
existing.postal_code = atts[:postal_code]
|
129
|
-
existing.shipping_address_same_as_billing = atts[:shipping_address_same_as_billing]
|
107
|
+
if category == 'shipping' && address.shipping_address_same_as_billing? && respond_to?(:billing_address)
|
108
|
+
address = effective_address('billing')
|
130
109
|
end
|
131
110
|
|
132
|
-
|
133
|
-
|
134
|
-
end
|
111
|
+
# This wouldn't create duplicates anyway
|
112
|
+
return effective_address(category) if address == effective_address(category)
|
135
113
|
|
114
|
+
(effective_address(category) || self.addresses.build).tap do |existing|
|
115
|
+
existing.category = category.to_s
|
116
|
+
existing.full_name = address.full_name
|
117
|
+
existing.address1 = address.address1
|
118
|
+
existing.address2 = address.address2
|
119
|
+
existing.city = address.city
|
120
|
+
existing.state_code = address.state_code
|
121
|
+
existing.country_code = address.country_code
|
122
|
+
existing.postal_code = address.postal_code
|
123
|
+
existing.shipping_address_same_as_billing = address.shipping_address_same_as_billing?
|
124
|
+
end
|
136
125
|
end
|
137
126
|
|
138
127
|
end
|
@@ -21,8 +21,7 @@ module Effective
|
|
21
21
|
:allow_blank => true, # We're already checking for presence above
|
22
22
|
:message => 'is an invalid United States zip code'
|
23
23
|
|
24
|
-
|
25
|
-
|
24
|
+
scope :sorted, -> { order(:updated_at) }
|
26
25
|
scope :billing, -> { where(:category => 'billing') }
|
27
26
|
scope :shipping, -> { where(:category => 'shipping') }
|
28
27
|
|
@@ -124,9 +123,9 @@ module Effective
|
|
124
123
|
|
125
124
|
def shipping_address_same_as_billing?
|
126
125
|
if defined?(::ActiveRecord::ConnectionAdapters::Column::TRUE_VALUES) # Rails 5
|
127
|
-
::ActiveRecord::ConnectionAdapters::Column::TRUE_VALUES.include?(
|
126
|
+
::ActiveRecord::ConnectionAdapters::Column::TRUE_VALUES.include?(shipping_address_same_as_billing)
|
128
127
|
else
|
129
|
-
ActiveRecord::Type::Boolean.new.cast(
|
128
|
+
ActiveRecord::Type::Boolean.new.cast(shipping_address_same_as_billing)
|
130
129
|
end
|
131
130
|
end
|
132
131
|
end
|
@@ -33,7 +33,7 @@ EffectiveAddresses.setup do |config|
|
|
33
33
|
config.simple_form_options = {}
|
34
34
|
|
35
35
|
# config.simple_form_options = {
|
36
|
-
# :html => {:class => 'form-horizontal'},
|
36
|
+
# :html => {:class => ['form-horizontal']},
|
37
37
|
# :wrapper => :horizontal_form,
|
38
38
|
# :wrapper_mappings => {
|
39
39
|
# :boolean => :horizontal_boolean,
|
@@ -20,7 +20,7 @@ module EffectiveAddresses
|
|
20
20
|
end
|
21
21
|
|
22
22
|
# Set up our default configuration options.
|
23
|
-
initializer
|
23
|
+
initializer 'effective_addresses.defaults', before: :load_config_initializers do |app|
|
24
24
|
eval File.read("#{config.root}/config/effective_addresses.rb")
|
25
25
|
end
|
26
26
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_addresses
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-06-
|
11
|
+
date: 2017-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -62,7 +62,6 @@ extra_rdoc_files: []
|
|
62
62
|
files:
|
63
63
|
- MIT-LICENSE
|
64
64
|
- README.md
|
65
|
-
- Rakefile
|
66
65
|
- app/assets/javascripts/effective_addresses.js
|
67
66
|
- app/assets/javascripts/effective_addresses/address_fields.js.coffee
|
68
67
|
- app/assets/javascripts/effective_addresses/shipping_address_same_as_billing.js.coffee
|
@@ -84,7 +83,6 @@ files:
|
|
84
83
|
- lib/effective_addresses/engine.rb
|
85
84
|
- lib/effective_addresses/version.rb
|
86
85
|
- lib/generators/effective_addresses/install_generator.rb
|
87
|
-
- lib/tasks/effective_addresses_tasks.rake
|
88
86
|
- spec/controllers/addresses_controller_spec.rb
|
89
87
|
- spec/dummy/README.rdoc
|
90
88
|
- spec/dummy/Rakefile
|
data/Rakefile
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
#!/usr/bin/env rake
|
2
|
-
begin
|
3
|
-
require 'bundler/setup'
|
4
|
-
rescue LoadError
|
5
|
-
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
6
|
-
end
|
7
|
-
|
8
|
-
# Our tasks
|
9
|
-
load 'lib/tasks/effective_addresses_tasks.rake'
|
10
|
-
|
11
|
-
# Testing tasks
|
12
|
-
APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
|
13
|
-
load 'rails/tasks/engine.rake'
|
14
|
-
|
15
|
-
Bundler::GemHelper.install_tasks
|
16
|
-
|
17
|
-
require 'rspec/core'
|
18
|
-
require 'rspec/core/rake_task'
|
19
|
-
|
20
|
-
desc "Run all specs in spec directory (excluding plugin specs)"
|
21
|
-
RSpec::Core::RakeTask.new(:spec => 'app:db:test:prepare')
|
22
|
-
|
23
|
-
task :default => :spec
|