lib/spontaneous/data_mapper/dataset.rb in spontaneous-0.2.0.beta5 vs lib/spontaneous/data_mapper/dataset.rb in spontaneous-0.2.0.beta6
- old
+ new
@@ -141,10 +141,37 @@
def invert
@dataset.invert!
self
end
+ class PreparedStatement
+ def initialize(name, ds, ps)
+ @name = name
+ @ds = ds
+ @ps = ps
+ end
+
+ def call(vars = {})
+ results = @ps.call(vars)
+ case results
+ when Array
+ @ds.load_instances(results)
+ else
+ @ds.load_instance(results)
+ end
+ end
+ end
+
+ def prepare(type, name, *values)
+ ps = @dataset.prepare(type, name, *values)
+ PreparedStatement.new(name, self, ps)
+ end
+
+ def db
+ @dataset.db
+ end
+
def qualify_to_first_source
@dataset = @dataset.qualify_to_first_source
self
end
@@ -154,12 +181,14 @@
def to_sql
@dataset.sql
end
- alias_method :sql, :to_sql
+ def unfiltered
+ @dataset.unfiltered
+ end
- private
+ alias_method :sql, :to_sql
def get_raw(id)
@dataset.first(id: id)
end