Sha256: 2d9a945c8d4e52d1554431bfe1d975ca72ae22538b6319bf67a4511bbbe068c1

Contents?: true

Size: 419 Bytes

Versions: 5

Compression:

Stored size: 419 Bytes

Contents

require 'csv'
require 'as_csv/csv_builder'

class Array

  def to_csv_with_builder(opts={})
    use_csv_builder? and csv_builder(opts).to_csv or to_csv_without_builder
  end

  alias_method :to_csv_without_builder, :to_csv
  alias_method :to_csv, :to_csv_with_builder

private

  def use_csv_builder?
    any? { |e| e.respond_to? :as_csv }
  end

  def csv_builder(opts)
    AsCSV::CSVBuilder.new self, opts
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
as_csv-3.0.1 lib/as_csv/core_ext/array.rb
as_csv-3.0.0 lib/as_csv/core_ext/array.rb
as_csv-2.0.2 lib/as_csv/core_ext/array.rb
as_csv-2.0.1 lib/as_csv/core_ext/array.rb
as_csv-2.0.0 lib/as_csv/core_ext/array.rb