lib/baza/table.rb in baza-0.0.19 vs lib/baza/table.rb in baza-0.0.20
- old
+ new
@@ -1,9 +1,40 @@
class Baza::Table
+ include Baza::DatabaseModelFunctionality
+
+ attr_reader :db
+
def to_s
"#<#{self.class.name} name=\"#{name}\">"
end
def inspect
to_s
+ end
+
+ def rows(*args)
+ ArrayEnumerator.new do |yielder|
+ db.select(name, *args) do |data|
+ yielder << Baza::Row.new(
+ db: db,
+ table: name,
+ data: data
+ )
+ end
+ end
+ end
+
+ def row(id)
+ data = rows({id: id}, limit: 1).fetch
+ raise Baza::Errors::RowNotFound unless data
+
+ Baza::Row.new(
+ db: db,
+ table: name,
+ data: data
+ )
+ end
+
+ def to_param
+ name
end
end