SmartCSV
Extend CSV class. This gem need header.
FOR EXAMPLE
data = "id,firstname,lastname\n1,One,One\n2,Two,Two\n4,One,Four\n5,One,Five"
@data = CSV.parse(data, {:col_sep => ',', :headers => true}
METHODS
- Create a new record
ruby @data.create("id"=> '13', "lastname" => '1992') - Select records
ruby @data.where('firstname' => 'One').where_not('id' => '4') - Update record
ruby @data.where('firstname' => 'One').first.update({"lastname" => "Seven", "wartosc" => 2012}) } - Delete all records
ruby @data.delete_all - Delete all records from scope of condition
ruby @data.where('firstname' => 'One').delete_all - Select all records which have 'id' attribute greater than 2
ruby @data.gt('id', '2') - Select all records which have 'id' attribute greater or equal 2
ruby @data.ge('id', '2') - Select all records which have 'id' attribute less than 2
ruby @data.lt('id', '2') - Select all records which have 'id' attribute less or equal 2
ruby @data.le('id', '2') - Select all records which have 'firstname' attribute equal 'Tom'
ruby @data.eq('firstname', 'Tom') - Select all records which have 'firstname' attribute not equal 'Tom'
ruby @data.ne('firstname', 'Tom')
