effective_addresses 1.9.11 → 1.10.2

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
  SHA256:
3
- metadata.gz: 314234d1308d0c4490e47e3ea34cfcb3f040aa8fd6058324aa7632d2814c2a75
4
- data.tar.gz: 1d4483aa861846e02ba59267b011b34bdf079eef4b68a9f47492a963935b186c
3
+ metadata.gz: 8325b6dbda492afed227134949c76166048f015456ffd4c4439f9889953b3233
4
+ data.tar.gz: a999fda6ee710a503f3398d59a5cd9a64ce44b1705e251dc52f499824e935f98
5
5
  SHA512:
6
- metadata.gz: d0809850d34e59c7a5314fa15ad4a5148ebdd6f00adac0ce55ba22ca322f485c221e1c20a771cf506c2edbc2bbd9d8d823555943293bba5cfbdbb312ba82ee91
7
- data.tar.gz: 77a1f4d3dc70584ef8e5ed1cf1405f07249a47547a1bdb5da8df61656ebcd90d8484f5cc06a34fa17fc305cc12eba147edbcb9cb6e2776424a78cec885ddd06f
6
+ metadata.gz: 4a747baffcfc900eee8d6ebb2a9e5f60b5a2017594411e3714252d1964258db438e8027ce6ee8c958c74a09cbc13f75e035b4fdc9868c6d0f40542958a2bbac5
7
+ data.tar.gz: 55f5bcfb22341dec2e3d147b2ef2312569970fb9899cb52451702025e7a6778e679681d7fb27de02e3192cd897b2444144bdf531fdcaa82b67efac347a591b55
@@ -83,6 +83,8 @@ module ActsAsAddressable
83
83
  end
84
84
 
85
85
  def set_effective_address(category, obj)
86
+ return if obj.blank?
87
+
86
88
  raise "#{category}_address= expected an Effective::Address or Hash" unless obj.kind_of?(Effective::Address) || obj.kind_of?(Hash)
87
89
 
88
90
  address = (obj.kind_of?(Effective::Address) ? obj : Effective::Address.new(obj))
@@ -110,6 +112,8 @@ module ActsAsAddressable
110
112
  end
111
113
 
112
114
  def set_singular_effective_address(category, obj)
115
+ return if obj.blank?
116
+
113
117
  raise "#{category}_address= expected an Effective::Address or Hash" unless obj.kind_of?(Effective::Address) || obj.kind_of?(Hash)
114
118
 
115
119
  address = (obj.kind_of?(Effective::Address) ? obj : Effective::Address.new(obj))
@@ -6,7 +6,7 @@ module Effective
6
6
  attr_accessor :shipping_address_same_as_billing
7
7
 
8
8
  POSTAL_CODE_CA = /\A[A-Z]{1}\d{1}[A-Z]{1}\ \d{1}[A-Z]{1}\d{1}\z/ # Matches 'T5Z 2B1'
9
- POSTAL_CODE_US = /\A\d{5}\z/ # Matches 5 digits
9
+ POSTAL_CODE_US = /\A\d{5}(-\d{4})?\z/ # matches 5 digits plus optional hyphen and 4 digits
10
10
 
11
11
  belongs_to :addressable, polymorphic: true, touch: true
12
12
 
@@ -93,6 +93,7 @@ module Effective
93
93
  code = code.insert(3, ' ') if code.length == 6
94
94
  elsif country_code == 'US'
95
95
  code = code.gsub(/[^0-9]/, '')
96
+ code = code.insert(5, '-') if code.length == 9
96
97
  end
97
98
  end
98
99
 
@@ -7,7 +7,7 @@ module EffectiveAddresses
7
7
 
8
8
  # Include acts_as_addressable concern and allow any ActiveRecord object to call it
9
9
  initializer 'effective_addresses.active_record' do |app|
10
- ActiveSupport.on_load :active_record do
10
+ app.config.to_prepare do
11
11
  ActiveRecord::Base.extend(ActsAsAddressable::Base)
12
12
  end
13
13
  end
@@ -1,3 +1,3 @@
1
1
  module EffectiveAddresses
2
- VERSION = '1.9.11'.freeze
2
+ VERSION = '1.10.2'.freeze
3
3
  end
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.9.11
4
+ version: 1.10.2
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: 2022-05-20 00:00:00.000000000 Z
11
+ date: 2022-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails