Module: Sequel::Plugins::CsvSerializer::InstanceMethods
- Defined in:
- lib/sequel/plugins/csv_serializer.rb
Instance Method Summary collapse
-
#from_csv(csv, opts = OPTS) ⇒ Object
Update the object using the data provided in the first line in CSV.
-
#to_csv(opts = OPTS) ⇒ Object
Return a string in CSV format.
Instance Method Details
#from_csv(csv, opts = OPTS) ⇒ Object
Update the object using the data provided in the first line in CSV. Options:
- :headers
-
The headers to use for the CSV line. Use nil for a header to specify the column should be ignored.
149 150 151 152 153 |
# File 'lib/sequel/plugins/csv_serializer.rb', line 149 def from_csv(csv, opts = OPTS) row = CsvSerializer.csv_call(:parse_line, csv, model.process_csv_serializer_opts(opts)).to_hash row.delete(nil) set(row) end |
#to_csv(opts = OPTS) ⇒ Object
Return a string in CSV format. Accepts the same options as CSV.new, as well as the following options:
- :except
-
Symbol or Array of Symbols of columns not to include in the CSV output.
- :only
-
Symbol or Array of Symbols of columns to include in the CSV output, ignoring all other columns
- :include
-
Symbol or Array of Symbols specifying non-column attributes to include in the CSV output.
164 165 166 167 168 169 170 171 |
# File 'lib/sequel/plugins/csv_serializer.rb', line 164 def to_csv(opts = OPTS) opts = model.process_csv_serializer_opts(opts) headers = opts[:headers] CsvSerializer.csv_call(:generate, model.process_csv_serializer_opts(opts)) do |csv| csv << headers.map{|k| public_send(k)} end end |