class DefaultAdapter

Public Class Methods

all(klass) click to toggle source
# File lib/active_repository/adapters/default_adapter.rb, line 3
def all(klass)
  klass.persistence_class.all
end
create(klass, attributes) click to toggle source
# File lib/active_repository/adapters/default_adapter.rb, line 34
def create(klass, attributes)
  object = klass.persistence_class.create(attributes)
end
delete(klass, id) click to toggle source
# File lib/active_repository/adapters/default_adapter.rb, line 7
def delete(klass, id)
  object = klass.persistence_class.where(id: id).first
  object.delete if object
end
delete_all(klass) click to toggle source
# File lib/active_repository/adapters/default_adapter.rb, line 12
def delete_all(klass)
  klass.persistence_class.delete_all
end
exists?(klass, id) click to toggle source
# File lib/active_repository/adapters/default_adapter.rb, line 16
def exists?(klass, id)
  klass.persistence_class.exists?(id)
end
find(klass, id) click to toggle source
# File lib/active_repository/adapters/default_adapter.rb, line 20
def find(klass, id)
  id = normalize_id(id) if id

  klass.persistence_class.find(id)
end
first(klass) click to toggle source
# File lib/active_repository/adapters/default_adapter.rb, line 26
def first(klass)
  klass.persistence_class.first
end
last(klass) click to toggle source
# File lib/active_repository/adapters/default_adapter.rb, line 30
def last(klass)
  klass.persistence_class.last
end
update_attribute(klass, id, key, value) click to toggle source
# File lib/active_repository/adapters/default_adapter.rb, line 38
def update_attribute(klass, id, key, value)
  object = id.nil? ? klass.persistence_class.new(key.to_sym => value) : klass.persistence_class.find(id)

  ret = object.update_attribute(key, value)

  [ret, object]
end
update_attributes(klass, id, attributes) click to toggle source
# File lib/active_repository/adapters/default_adapter.rb, line 46
def update_attributes(klass, id, attributes)
  object = id.nil? ? klass.persistence_class.new : klass.persistence_class.find(id)

  ret = object.update_attributes(attributes)

  [ret, object]
end
where(klass, query) click to toggle source
# File lib/active_repository/adapters/default_adapter.rb, line 54
def where(klass, query)
  klass.persistence_class.where(query.to_sql)
end

Private Class Methods

convertable?(id) click to toggle source
# File lib/active_repository/adapters/default_adapter.rb, line 67
def convertable?(id)
  id.respond_to?(:to_i) && id.to_s == id.to_i.to_s
end
normalize_id(args) click to toggle source
# File lib/active_repository/adapters/default_adapter.rb, line 59
def normalize_id(args)
  return args if args.is_a?(Array)
  
  id = (args.is_a?(Hash) ? args[:id] : args)

  convertable?(id) ? id.to_i : id
end