Sha256: 6fdad23a0598292bd5d2d28c5d93962a4e7acb8eb084679b25074f2f2df9f4f4
Contents?: true
Size: 1.09 KB
Versions: 2
Compression:
Stored size: 1.09 KB
Contents
require 'active_admin/helpers/optional_display' module ActiveAdmin module ActionItems def self.included(base) base.send :extend, ClassMethods base.class_inheritable_accessor :action_items base.action_items = [] end module ClassMethods def action_item(options = {}, &block) self.action_items << ActiveAdmin::ActionItems::ActionItem.new(options, &block) end def clear_action_items! self.action_items = [] end def action_items_for(action) action_items.select{|item| item.display_on?(action) } end end class ActionItem include ActiveAdmin::OptionalDisplay attr_accessor :block def initialize(options = {}, &block) @options, @block = options, block normalize_display_options! end end class Renderer < ActiveAdmin::Renderer def to_html(action_items) content_tag :div, :class => 'action_items' do action_items.collect do |action_item| instance_eval(&action_item.block) end.join(" ") end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
activeadmin-0.1.1 | lib/active_admin/action_items.rb |
activeadmin-0.1.0 | lib/active_admin/action_items.rb |