Sha256: 3a2491b45e8f07aaf500f4d3fed5f652e8a13613827faa9ac3f264a1c99f6ce9

Contents?: true

Size: 629 Bytes

Versions: 14

Compression:

Stored size: 629 Bytes

Contents

# frozen_string_literal: true

require_relative './csv_strategy'

class ActiveSet
  module Exporting
    class Operation
      def initialize(set, instructions_hash)
        @set = set
        @instructions_hash = instructions_hash
      end

      def execute
        strategy_for(format: operation_instructions[:format].to_s.downcase)
          .new(@set, operation_instructions[:columns])
          .execute
      end

      def operation_instructions
        @instructions_hash.symbolize_keys
      end

      private

      def strategy_for(format:)
        return CSVStrategy if format == 'csv'
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 2 rubygems

Version Path
actionset-0.11.0 lib/active_set/exporting/operation.rb
actionset-0.10.0 lib/active_set/exporting/operation.rb
actionset-0.9.2 lib/active_set/exporting/operation.rb
actionset-0.9.1 lib/active_set/exporting/operation.rb
actionset-0.8.2 lib/active_set/exporting/operation.rb
actionset-0.8.1 lib/active_set/exporting/operation.rb
actionset-0.8.0 lib/active_set/exporting/operation.rb
activeset-0.8.6 lib/active_set/exporting/operation.rb
activeset-0.8.5 lib/active_set/exporting/operation.rb
activeset-0.8.4 lib/active_set/exporting/operation.rb
activeset-0.8.3 lib/active_set/exporting/operation.rb
activeset-0.8.2 lib/active_set/exporting/operation.rb
activeset-0.8.1 lib/active_set/exporting/operation.rb
activeset-0.8.0 lib/active_set/exporting/operation.rb