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