pboksz/steam-card-tracker

View on GitHub
app/repositories/default_repository.rb

Summary

Maintainability
A
0 mins
Test Coverage
class DefaultRepository
  attr_reader :klass

  def initialize(klass)
    @klass = klass
  end

  def all
    klass.all
  end

  def new(attributes = {})
    klass.new(attributes)
  end

  def create(attributes = {})
    klass.create(attributes)
  end

  def find_all(attributes)
    klass.where(attributes)
  end

  def find(attributes)
    find_all(attributes).first
  end

  def find_or_initialize(attributes)
    find_all(attributes).first_or_initialize
  end

  def destroy(id)
    find(id: id).destroy
  end
end