Sha256: 417dce43e449a8c5208e3beebafbc7f556f56ce64a0d2afd0af21916f0942e83

Contents?: true

Size: 608 Bytes

Versions: 11

Compression:

Stored size: 608 Bytes

Contents

module DataMapper
  module Types
    class Csv < DataMapper::Type
      primitive String
      size 65535
      lazy true

      def self.load(value, property)
        case value
        when String then FasterCSV.parse(value)
        when Array then value
        else nil
        end
      end

      def self.dump(value, property)
        case value
        when Array then
          FasterCSV.generate do |csv|
            value.each { |row| csv << row }
          end
        when String then value
        else nil
        end
      end
    end # class Csv
  end # module Types
end # module DataMapper

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
dm-types-0.9.6 lib/dm-types/csv.rb
dm-types-0.9.2 lib/dm-types/csv.rb
dm-types-0.9.5 lib/dm-types/csv.rb
dm-types-0.9.3 lib/dm-types/csv.rb
dm-types-0.9.4 lib/dm-types/csv.rb
dm-types-0.9.9 lib/dm-types/csv.rb
dm-types-0.9.7 lib/dm-types/csv.rb
dm-types-0.9.8 lib/dm-types/csv.rb
mack-data_mapper-0.8.2 lib/gems/dm-types-0.9.7/lib/dm-types/csv.rb
mack-data_mapper-0.8.3.1 lib/gems/dm-types-0.9.9/lib/dm-types/csv.rb
mack-data_mapper-0.8.3 lib/gems/dm-types-0.9.9/lib/dm-types/csv.rb