Sha256: 7723834ebf402f35a72d55e2fa77e2d212bf34662377ed373ef398fa0fbe4a79

Contents?: true

Size: 514 Bytes

Versions: 1

Compression:

Stored size: 514 Bytes

Contents

module Timetrap
  module Formatters
    class Csv
      attr_reader :output

      def initialize entries
        @output = entries.inject("start,end,note,sheet\n") do |out, e|
          next(out) unless e.end
          out << %|"#{e.start.strftime(time_format)}","#{e.end.strftime(time_format)}","#{escape(e.note)}","#{e.sheet}"\n|
        end
      end

      private
      def time_format
        "%Y-%m-%d %H:%M:%S"
      end

      def escape(note)
        note.gsub %q{"}, %q{""}
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
timetrap-1.15.4 lib/timetrap/formatters/csv.rb