Sha256: 0ac212f58716b7fef45b3ae78f759ec79e2df5775ebbe02be62f63de1ccb9eba

Contents?: true

Size: 1.26 KB

Versions: 13

Compression:

Stored size: 1.26 KB

Contents

# frozen_string_literal: true

require 'luna_park/repository'
require 'luna_park/extensions/repositories/postgres/create'
require 'luna_park/extensions/repositories/postgres/read'
require 'luna_park/extensions/repositories/postgres/update'
require 'luna_park/extensions/repositories/postgres/delete'

module LunaPark
  module Repositories
    class Postgres < LunaPark::Repository
      # Extend your repository class with existed mixins
      # @example
      #  class Repo < LunaPark::Repositories::Postgres
      #    mixins :create, :delete
      #
      #    entity Entities::User
      #    mapper Mappers::User
      #  end
      #
      #  user = Entities::User
      #  repo = Repo.new
      #  repo.create user
      #
      # @param list [Array,Symbol] list of mixins, possible values: :create, :read, :update, :delete
      # @return nil
      class << self
        def mixins(*list)
          include Extensions::Repositories::Postgres::Create if list.include? :create
          include Extensions::Repositories::Postgres::Read   if list.include? :read
          include Extensions::Repositories::Postgres::Update if list.include? :update
          include Extensions::Repositories::Postgres::Delete if list.include? :delete
          nil
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
luna_park-0.13.2 lib/luna_park/repositories/postgres.rb
luna_park-0.13.1 lib/luna_park/repositories/postgres.rb
luna_park-0.13.0 lib/luna_park/repositories/postgres.rb
luna_park-0.12.1 lib/luna_park/repositories/postgres.rb
luna_park-0.12.0 lib/luna_park/repositories/postgres.rb
luna_park-0.11.7 lib/luna_park/repositories/postgres.rb
luna_park-0.11.6 lib/luna_park/repositories/postgres.rb
luna_park-0.11.5 lib/luna_park/repositories/postgres.rb
luna_park-0.11.4 lib/luna_park/repositories/postgres.rb
luna_park-0.11.3 lib/luna_park/repositories/postgres.rb
luna_park-0.11.2 lib/luna_park/repositories/postgres.rb
luna_park-0.11.1 lib/luna_park/repositories/postgres.rb
luna_park-0.11.0 lib/luna_park/repositories/postgres.rb