class Engine2::ArrayListAction

Public Instance Methods

data_source(handler) click to toggle source
# File lib/engine2/action/array.rb, line 42
def data_source handler
    []
end
invoke(handler) click to toggle source
# File lib/engine2/action/array.rb, line 50
def invoke handler
    params = handler.params
    # if params[:initial] || params[:refresh]
    entries = data_source(handler)

    per_page = lookup(:config, :per_page)
    page = params[:page].to_i
    handler.permit page >= 0 && page < 1000

    if order_str = params[:order]
        order = order_str.to_sym
        handler.permit lookup(:fields, order, :sort)
        entries = entries.sort_by{|e|e[order].to_s}
        entries = entries.reverse if params[:asc] == "true"
    end

    if search = params[:search]
        entries = list_search(entries, handler, search)
    end

    {entries: page_frame(handler, entries[page, per_page]), count: entries.size}
end
page_frame(handler, entries) click to toggle source
# File lib/engine2/action/array.rb, line 46
def page_frame handler, entries
    entries
end