require 'rubygems'
require 'sequel'
DB = Sequel.sqlite #используем базу данных SQLite находящуюся в памяти
DB.create_table :items do #Создание таблицы в базе данных
column :name, :text
column :value, :float
end
items = DB[:items] #Создаем отображение таблицы в датасет
(1..10).each do |num|
items << {:name => "some_item_#{num}", :value => num} #Заполнение таблицы тестовыми данными
end
items.print #Вывод на печать
После запуска на выходе получим таблицу
+------------+-----+
|name |value|
+------------+-----+
|some_item_1 | 1|
|some_item_2 | 2|
|some_item_3 | 3|
|some_item_4 | 4|
|some_item_5 | 5|
|some_item_6 | 6|
|some_item_7 | 7|
|some_item_8 | 8|
|some_item_9 | 9|
|some_item_10| 10|
+------------+-----+
В Sequel DataSet схож с датасетом из c#, но в отличии от датасета c# завязан с базой данных более тесно
Для фильтрации записей в датасете используется метод filter например:
items.filter('value > 10')
#или
items.filter('value > ?', 10)
#или ещё правильней
items.filter {:value > 10}
Все эти конструкции сгенерируют SQL запрос SELECT * FROM items WHERE value > 10 Продолжение следует