Sha256: dd41f944c036959540db7bbe5a21a19d451a777e1266a18a0636617f00e2883d

Contents?: true

Size: 774 Bytes

Versions: 3

Compression:

Stored size: 774 Bytes

Contents

ActiveRecord::Relation.class_eval do
  def t(*attrs, **options)
    records.t(*attrs, **options)
  end

  def vd(*attrs, **options)
    records.vd(*attrs, **options)
  end

  def v
    records.v
  end

  def a
    to_a
  end

  def write_csv(filename, *fields, **options)
    records.write_csv(filename, *fields, **options)
  end

  def write_excel(filename, *fields, **options)
    records.write_excel(filename, *fields, **options)
  end

  def dump(filename, batch_size=500)
    records.dump(filename, batch_size)
  end

  def method_missing(method_name, *args, &block)
    if method_name.to_s =~ /^(.+)_like$/
      attr_name = $1.to_sym
      return super unless model.has_attribute?(attr_name)
      send(:like, $1 => args.first)
    else
      super
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
arql-0.4.12 lib/arql/ext/active_record/relation.rb
arql-0.4.11 lib/arql/ext/active_record/relation.rb
arql-0.4.10 lib/arql/ext/active_record/relation.rb