Sha256: fd5654be4d8de9272b4898af08a843864866615a93c3f56979ea4fc28693815c

Contents?: true

Size: 741 Bytes

Versions: 7

Compression:

Stored size: 741 Bytes

Contents

module Workarea
  class Payment
    class NullAddress
      class NullCountry < OpenStruct
        def to_s; end
      end

      include Mongoid::Document

      FIELDS = Workarea::Payment::Address.fields.keys.tap { |k| k.delete('_id') }

      attr_writer :reference
      attr_reader *FIELDS, :region_name

      delegate *FIELDS.map { |f| "#{f}=" }, :assign_attributes, :attributes=,
        :allow_po_box?, to: :reference

      def reference
        @reference ||= Workarea::Payment::Address.new
      end

      def save(*args)
        true
      end

      def country
        NullCountry.new
      end

      def falsey(*args)
        false
      end
      alias :po_box? :falsey
      alias :address_eql? :falsey
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
workarea-paypal-3.0.6 app/models/workarea/payment/null_address.rb
workarea-paypal-3.0.5 app/models/workarea/payment/null_address.rb
workarea-paypal-3.0.4 app/models/workarea/payment/null_address.rb
workarea-paypal-3.0.3 app/models/workarea/payment/null_address.rb
workarea-paypal-3.0.2 app/models/workarea/payment/null_address.rb
workarea-paypal-3.0.1 app/models/workarea/payment/null_address.rb
workarea-paypal-3.0.0 app/models/workarea/payment/null_address.rb