Sha256: c1d3281b41f921b86f647dde83e94d71313a3475960edf90ed0f62f39cc38ec9

Contents?: true

Size: 585 Bytes

Versions: 1

Compression:

Stored size: 585 Bytes

Contents

# frozen_string_literal: true

module LedgerSync
  class Serialization
    module AttributeSetMixin
      include Util::Mixins::DelegateIterableMethodsMixin

      attr_reader :attributes,
                  :serializer_class

      delegate_hash_methods_to :attributes

      def initialize(args = {})
        @attributes       = {}
        @serializer_class = args.fetch(:serializer_class)
      end

      def add(_attribute)
        raise NotImplementedError
      end

      def hash_attribute?(key)
        hash_attribute_keyed_hash.include?(key.to_s)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ledger_sync-1.3.5 lib/ledger_sync/serialization/attribute_set_mixin.rb