Sha256: 267ae605bf3c68f6407c101730db491801b0a2ea2f76b1c92a9092cf52d71cf8

Contents?: true

Size: 732 Bytes

Versions: 2

Compression:

Stored size: 732 Bytes

Contents

module Ki
  # the query interface does not respect before/after filters,
  # unique attributes, required attributes or anything of the
  # sort.
  # it writes directly to the database
  module QueryInterface
    def count hash={}
      Orm::Db.instance.count class_name, hash
    end

    def find hash={}
      Orm::Db.instance.find class_name, hash
    end

    def create hash
      Orm::Db.instance.insert class_name, hash
    end

    def find_or_create hash
      r = find hash
      r.empty? ? create(hash) : r
    end

    def update hash
      Orm::Db.instance.update class_name, hash
    end

    def delete hash
      Orm::Db.instance.delete class_name, hash
    end

    def class_name
      self.to_s
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ki-0.4.2 lib/ki/modules/query_interface.rb
ki-0.4.1 lib/ki/modules/query_interface.rb