class ActiveadminAncestryView::IndexControllerBuilder
Constants
- OLD_SCOPED_COL_VAR_NAME
- ORDER_VAR_NAME
Private Instance Methods
build_after_action()
click to toggle source
# File lib/activeadmin_ancestry_view/controller_builder/index_controller_builder.rb, line 20 def build_after_action %{send(:after_action, only: :index) do #{restore_sort_order} #{restore_old_scoped_collection} end} end
build_attr_accessor()
click to toggle source
# File lib/activeadmin_ancestry_view/controller_builder/index_controller_builder.rb, line 8 def build_attr_accessor %{attr_accessor :#{ORDER_VAR_NAME}} end
build_before_action()
click to toggle source
# File lib/activeadmin_ancestry_view/controller_builder/index_controller_builder.rb, line 12 def build_before_action %{send(:before_action, only: :index) do #{save_and_clean_sort_order} #{save_old_scoped_collection} #{sort_scoped_collection} end} end
restore_old_scoped_collection()
click to toggle source
# File lib/activeadmin_ancestry_view/controller_builder/index_controller_builder.rb, line 38 def restore_old_scoped_collection "self.class.send :alias_method, :scoped_collection, :#{OLD_SCOPED_COL_VAR_NAME}\n" end
restore_sort_order()
click to toggle source
# File lib/activeadmin_ancestry_view/controller_builder/index_controller_builder.rb, line 47 def restore_sort_order %{if #{ORDER_VAR_NAME} active_admin_config.sort_order = #{ORDER_VAR_NAME} #{ORDER_VAR_NAME} = nil end} end
save_and_clean_sort_order()
click to toggle source
# File lib/activeadmin_ancestry_view/controller_builder/index_controller_builder.rb, line 42 def save_and_clean_sort_order %{#{ORDER_VAR_NAME} = active_admin_config.sort_order active_admin_config.sort_order = ''} end
save_old_scoped_collection()
click to toggle source
# File lib/activeadmin_ancestry_view/controller_builder/index_controller_builder.rb, line 27 def save_old_scoped_collection "self.class.send :alias_method, :#{OLD_SCOPED_COL_VAR_NAME}, :scoped_collection\n" end
sort_scoped_collection()
click to toggle source
# File lib/activeadmin_ancestry_view/controller_builder/index_controller_builder.rb, line 31 def sort_scoped_collection %{self.class.redefine_method(:scoped_collection) do ids = #{OLD_SCOPED_COL_VAR_NAME}.all.sort_by(&:full_ancestry).map(&:id) resource_class.ordered_collection(ids) end} end