module Sequel::Plugins::CsvSerializer::ClassMethods
simplecov:enable
Attributes
The default opts to use when serializing model objects to CSV
Public Instance Methods
Source
# File lib/sequel/plugins/csv_serializer.rb 88 def array_from_csv(csv, opts = OPTS) 89 CSV.parse(csv, **process_csv_serializer_opts(opts)).map do |row| 90 row = row.to_hash 91 row.delete(nil) 92 new(row) 93 end 94 end
Attempt to parse an array of instances from the given CSV string
Source
# File lib/sequel/plugins/csv_serializer.rb 97 def freeze 98 @csv_serializer_opts.freeze.each_value do |v| 99 v.freeze if v.is_a?(Array) || v.is_a?(Hash) 100 end 101 102 super 103 end
Freeze csv serializier opts when freezing model class
Calls superclass method
Source
# File lib/sequel/plugins/csv_serializer.rb 106 def from_csv(csv, opts = OPTS) 107 new.from_csv(csv, opts) 108 end
Attempt to parse a single instance from the given CSV string
Source
# File lib/sequel/plugins/csv_serializer.rb 111 def process_csv_serializer_opts(opts) 112 opts = (csv_serializer_opts || OPTS).merge(opts) 113 opts_cols = opts.delete(:columns) 114 opts_include = opts.delete(:include) 115 opts_except = opts.delete(:except) 116 only = opts.delete(:only) 117 opts[:headers] ||= Array(only || opts_cols || columns) + Array(opts_include) - Array(opts_except) 118 opts 119 end
Convert the options hash to one that can be passed to CSV.