Sha256: 683398e4dc7e5859e6c08519c1b134dff6f278391b35ccc57a263049bac3109f

Contents?: true

Size: 679 Bytes

Versions: 23

Compression:

Stored size: 679 Bytes

Contents

# frozen_string_literal: true

module LedgerSync
  module Util
    module Mixins
      module ResourceRegisterableMixin
        module ClassMethods
          def register_resource(resource:)
            if resources.is_a?(Hash)
              raise "Resource key #{resource.resource_type} already exists." if resources.key?(resource.resource_type)

              resources[resource.resource_type] = resource
            else
              resources << resource
            end
          end

          def resources
            @resources ||= []
          end
        end

        def self.included(base)
          base.extend ClassMethods
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
ledger_sync-3.0.0 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-2.6.0 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-2.5.0 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-2.4.4 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-2.3.1 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-2.2.3 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-2.2.1 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-2.2.0 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-2.0.2 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-2.0.1 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-2.0.0 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-2.0.0.pre.1 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-1.8.1 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-1.8.0 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-1.7.0 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-1.6.0 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-1.5.2 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-1.5.1 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-1.5.0 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb
ledger_sync-1.4.4 lib/ledger_sync/util/mixins/resource_registerable_mixin.rb