module ActiveAdmin::ActiveResource::Base::ClassMethods

Constants

FindExt

Public Instance Methods

_ransackers() click to toggle source
# File lib/activeadmin/active_resource/base.rb, line 31
def _ransackers
  {}
end
column_names() click to toggle source

ref: api.rubyonrails.org/classes/ActiveRecord/ModelSchema/ClassMethods.html#method-i-column_names

# File lib/activeadmin/active_resource/base.rb, line 46
def column_names
  @column_names ||= columns.map(&:name)
end
columns() click to toggle source

ref: api.rubyonrails.org/classes/ActiveRecord/ModelSchema/ClassMethods.html#method-i-columns

# File lib/activeadmin/active_resource/base.rb, line 51
def columns
  # => array of ActiveRecord::ConnectionAdapters::Column
  @columns ||= begin
    schema.map do |name, type|
      col_name = name.to_s
      col_type = type.to_sym
      col_type = :hidden if col_name == 'id'
      OpenStruct.new(name: col_name, type: col_type)
    end
  end
end
content_columns() click to toggle source

ref: api.rubyonrails.org/classes/ActiveRecord/ModelSchema/ClassMethods.html#method-i-content_columns

# File lib/activeadmin/active_resource/base.rb, line 36
def content_columns
  @content_columns ||= columns.reject do |c|
    # c.name == primary_key || # required to update enities
    c.name == inheritance_column ||
      c.name.end_with?("_id") ||
      c.name.end_with?("_count")
  end
end
decorate_with_pagination_data(results) click to toggle source
# File lib/activeadmin/active_resource/base.rb, line 118
def decorate_with_pagination_data(results)
  results.current_page = @page
  results.limit_value = (@connection_response['pagination-limit'] || @per_page).to_i
  results.total_count = (@connection_response['pagination-totalcount'] || results.count).to_i
  results.total_pages = results.limit_value > 0 ? (results.total_count.to_f / results.limit_value).ceil : 1
  results
end
find_all(options = {}) click to toggle source
# File lib/activeadmin/active_resource/base.rb, line 63
def find_all(options = {})
  prefix_options, query_options = split_options(options[:params])
  query_options[:limit] = query_options[:per_page]
  path = collection_path(prefix_options, query_options)
  @connection_response = connection.get(path, headers)
  instantiate_collection((format.decode( @connection_response.body ) || []), query_options, prefix_options)
end
find_by(arg, *_args) click to toggle source

-> api.rubyonrails.org/classes/ActiveRecord/FinderMethods.html#method-i-find_by

# File lib/activeadmin/active_resource/base.rb, line 72
def find_by(arg, *_args)
  arg && arg['id'] ? find(arg['id']) : find(:first, arg)
end
inheritance_column() click to toggle source

-> api.rubyonrails.org/classes/ActiveRecord/ModelSchema/ClassMethods.html#method-i-inheritance_column

# File lib/activeadmin/active_resource/base.rb, line 77
def inheritance_column
  (@inheritance_column ||= nil) || 'type'
end
page(page) click to toggle source
# File lib/activeadmin/active_resource/base.rb, line 86
def page(page)
  @page = page.to_i
  @page = 1 if @page < 1
  self
end
per(page_count) click to toggle source
# File lib/activeadmin/active_resource/base.rb, line 92
def per(page_count)
  @per_page = page_count.to_i
  results
end
quoted_table_name() click to toggle source

-> api.rubyonrails.org/classes/ActiveRecord/ModelSchema/ClassMethods.html#method-i-quoted_table_name

# File lib/activeadmin/active_resource/base.rb, line 82
def quoted_table_name
  @quoted_table_name ||= "\"#{to_s.tableize}\""
end
ransack(params = {}, _options = {}) click to toggle source
# File lib/activeadmin/active_resource/base.rb, line 97
def ransack(params = {}, _options = {})
  @ransack_params = params.blank? ? {} : params.permit!.to_h
  OpenStruct.new(conditions: {}, object: OpenStruct.new(klass: self), result: self)
end
reflect_on_all_associations(_macro = nil) click to toggle source

-> api.rubyonrails.org/classes/ActiveRecord/Reflection/ClassMethods.html#method-i-reflect_on_all_associations

# File lib/activeadmin/active_resource/base.rb, line 103
def reflect_on_all_associations(_macro = nil)
  []
end
reorder(sql) click to toggle source

-> api.rubyonrails.org/classes/ActiveRecord/QueryMethods.html#method-i-reorder

# File lib/activeadmin/active_resource/base.rb, line 108
def reorder(sql)
  @order = sql
  self
end
results() click to toggle source
# File lib/activeadmin/active_resource/base.rb, line 113
def results
  results = find_all params: { page: @page, per_page: @per_page, order: @order, q: @ransack_params }
  decorate_with_pagination_data(results)
end