Sha256: e6ef3615caaeaa670e80fd0ce9a3211a7345e54e268af14bd4e120d3e70ae0f0

Contents?: true

Size: 638 Bytes

Versions: 2

Compression:

Stored size: 638 Bytes

Contents

require "flex_station_data/presenters/plate_csv"

module FlexStationData
  module Presenters
    class PlatesCsv
      include Concerns::Presenter

      attr_reader :file, :plates, :plate_presenter, :options

      def initialize(file, plates, plate_presenter: PlateCsv, **options)
        @file = file
        @plates = plates
        @plate_presenter = plate_presenter
        @options = options
      end

      def plates_csv
        plates.flat_map do |plate|
          plate_presenter.present(plate, **options)
        end
      end

      def present
        [ ["File: #{file.to_path}"], *plates_csv ]
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
flex-station-data-0.3.1 lib/flex_station_data/presenters/plates_csv.rb
flex-station-data-0.3.0 lib/flex_station_data/presenters/plates_csv.rb