class ParamsReady::Helpers::ArelBuilder

Public Class Methods

instance(object, arel_table: nil) click to toggle source
# File lib/params_ready/helpers/arel_builder.rb, line 6
def self.instance(object, arel_table: nil)
  case object
  when Arel::Nodes::Node, Arel::Nodes::SqlLiteral, Arel::Attribute
    raise ParamsReadyError, "Arel table unexpected" unless arel_table.nil? || arel_table == :none
    ArelObject.new(object)
  when Proc
    raise ParamsReadyError, "Arel table unexpected" unless arel_table.nil? || arel_table == :none
    Callable.new(object)
  when String, Symbol
    Literal.new(object, arel_table)
  else
    raise ParamsReadyError, "Unexpected type for arel builder: #{object.class.name}"
  end
end
safe_name(name) click to toggle source
# File lib/params_ready/helpers/arel_builder.rb, line 21
def self.safe_name(name)
  name[0...64]
end