class Horza::Adapters::Options

Constants

META_METHODS

Public Class Methods

new(options) click to toggle source
# File lib/horza/adapters/options.rb, line 6
def initialize(options)
  @options = options
end

Public Instance Methods

eager_args() click to toggle source
# File lib/horza/adapters/options.rb, line 31
def eager_args
  raise ::Horza::Errors::InvalidOption.new('You must pass eager_load: true and defined a target') unless eager_load? && target
  return target unless via && via.present?

  via.reverse.reduce({}) do |hash, table|
    if hash.empty?
      hash.merge(table => target)
    else
      { table => hash }
    end
  end
end
eager_load?() click to toggle source
# File lib/horza/adapters/options.rb, line 27
def eager_load?
  !!@options[:eager_load]
end
method_missing(method) click to toggle source
Calls superclass method
# File lib/horza/adapters/options.rb, line 10
def method_missing(method)
  super unless META_METHODS.include? method
  @options[method]
end
order_direction() click to toggle source
# File lib/horza/adapters/options.rb, line 20
def order_direction
  return :desc unless order.present?

  raise ::Horza::Errors::InvalidOption.new('Order must be :asc or :desc') unless [:asc, :desc].include?(@options[:order][order_field])
  order[order_field]
end
order_field() click to toggle source
# File lib/horza/adapters/options.rb, line 15
def order_field
  return :id unless order.present?
  @options[:order].keys.first
end