Sha256: 76dd5c22ff7bf7dc3817b697225e314ad3e004ff0b55ff37bcf5408c5c8761e4

Contents?: true

Size: 720 Bytes

Versions: 3

Compression:

Stored size: 720 Bytes

Contents

module ESA
  module ContextProviders
    class AccountContextProvider < ESA::ContextProvider
      def self.provided_types
        ["ESA::Contexts::AccountContext"]
      end

      def self.context_id(context, options = {})
        context.account_id
      end

      def self.contained_ids(context, options = {})
        if options[:all].present? and options[:all] == true
          context.accounts.pluck(:id)
        else
          context.amounts.uniq.pluck(:account_id)
        end
      end

      def self.instantiate(parent, namespace, id, options = {})
        ESA::Contexts::AccountContext.new(chart_id: parent.chart_id, parent_id: parent.id, namespace: namespace, account_id: id)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
event_sourced_accounting-0.2.6 lib/esa/context_providers/account_context_provider.rb
event_sourced_accounting-0.2.4 lib/esa/context_providers/account_context_provider.rb
event_sourced_accounting-0.2.3 lib/esa/context_providers/account_context_provider.rb