Sha256: d4583c37506942d8cfa5fc218d521c87a58666d5332004d4a110b99a131c5637

Contents?: true

Size: 1.03 KB

Versions: 4

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true

#
# Copyright (c) 2019-present, Blue Marble Payroll, LLC
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
#

require_relative 'makers/constraint'
require_relative 'makers/order'
require_relative 'makers/select'
require_relative 'makers/where'

module Dbee
  module Providers
    class ActiveRecordProvider
      # This class composes all the maker instances into one for use together.
      class Maker # :nodoc: all
        def initialize(column_alias_maker)
          @column_alias_maker = column_alias_maker
          @constraint_maker   = Makers::Constraint.instance
          @order_maker        = Makers::Order.instance
          @select_maker       = Makers::Select.new(column_alias_maker)
          @where_maker        = Makers::Where.instance
        end

        private

        attr_reader :constraint_maker,
                    :order_maker,
                    :select_maker,
                    :where_maker
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dbee-active_record-2.3.0 lib/dbee/providers/active_record_provider/maker.rb
dbee-active_record-2.2.0 lib/dbee/providers/active_record_provider/maker.rb
dbee-active_record-2.1.2 lib/dbee/providers/active_record_provider/maker.rb
dbee-active_record-2.1.1 lib/dbee/providers/active_record_provider/maker.rb