Module: ConcernsOnRails::Models::Addressable::ClassMethods
- Includes:
- Support::ColumnGuard
- Defined in:
- lib/concerns_on_rails/models/addressable.rb
Overview
Defined as a real module (not ‘class_methods do`) so the public macro and its private helpers share one `private` and aren’t constrained by Metrics/BlockLength. ActiveSupport::Concern auto-extends ‘ClassMethods`.
Instance Method Summary collapse
-
#addressable_by(required: DEFAULT_REQUIRED, default_country: "US", validate_state: false, verify_with: nil, **mapping) ⇒ Object
Configure the address.
Methods included from Support::ColumnGuard
Instance Method Details
#addressable_by(required: DEFAULT_REQUIRED, default_country: "US", validate_state: false, verify_with: nil, **mapping) ⇒ Object
Configure the address. Column overrides are passed as ‘part: :column` keyword pairs; everything else tunes behavior. See the module docs.
53 54 55 56 57 58 59 60 61 |
# File 'lib/concerns_on_rails/models/addressable.rb', line 53 def addressable_by(required: DEFAULT_REQUIRED, default_country: "US", validate_state: false, verify_with: nil, **mapping) self.addressable_fields = resolve_addressable_fields(mapping) self.addressable_required = Array(required).map(&:to_sym) self.addressable_default_country = default_country.to_s.upcase self.addressable_validate_state = validate_state self.addressable_verifier = verify_with ensure_required_columns! end |