Module: YummyGuide::Administrate::CollectionHelper
- Defined in:
- app/helpers/yummy_guide/administrate/collection_helper.rb
Instance Method Summary collapse
- #yummy_guide_administrate_collection_actions_partial(partial_name) ⇒ Object
- #yummy_guide_administrate_collection_attribute_path(attribute:, resource:, namespace:) ⇒ Object
- #yummy_guide_administrate_collection_detail_path(resource, namespace:) ⇒ Object
- #yummy_guide_administrate_collection_reference_link?(attribute) ⇒ Boolean
- #yummy_guide_administrate_collection_table_fixed_columns_count(page:, collection_presenter:) ⇒ Object
- #yummy_guide_administrate_collection_text_link?(attribute) ⇒ Boolean
- #yummy_guide_administrate_collection_wrap(content, href:) ⇒ Object
Instance Method Details
#yummy_guide_administrate_collection_actions_partial(partial_name) ⇒ Object
52 53 54 55 56 57 58 59 |
# File 'app/helpers/yummy_guide/administrate/collection_helper.rb', line 52 def yummy_guide_administrate_collection_actions_partial(partial_name) if controller.respond_to?(:controller_path) controller_partial = "#{controller.controller_path}/#{partial_name}" return controller_partial if lookup_context.exists?(controller_partial, [], true) end "administrate/application/#{partial_name}" end |
#yummy_guide_administrate_collection_attribute_path(attribute:, resource:, namespace:) ⇒ Object
30 31 32 33 34 35 36 |
# File 'app/helpers/yummy_guide/administrate/collection_helper.rb', line 30 def yummy_guide_administrate_collection_attribute_path(attribute:, resource:, namespace:) if yummy_guide_administrate_collection_reference_link?(attribute) yummy_guide_administrate_collection_detail_path(attribute.data, namespace: namespace) elsif yummy_guide_administrate_collection_text_link?(attribute) yummy_guide_administrate_collection_detail_path(resource, namespace: namespace) end end |
#yummy_guide_administrate_collection_detail_path(resource, namespace:) ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'app/helpers/yummy_guide/administrate/collection_helper.rb', line 21 def yummy_guide_administrate_collection_detail_path(resource, namespace:) return if resource.blank? return if respond_to?(:accessible_action?) && !accessible_action?(resource, :show) polymorphic_path([namespace, resource]) rescue StandardError nil end |
#yummy_guide_administrate_collection_reference_link?(attribute) ⇒ Boolean
38 39 40 |
# File 'app/helpers/yummy_guide/administrate/collection_helper.rb', line 38 def yummy_guide_administrate_collection_reference_link?(attribute) attribute.is_a?(::Administrate::Field::BelongsTo) && attribute.data.present? end |
#yummy_guide_administrate_collection_table_fixed_columns_count(page:, collection_presenter:) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'app/helpers/yummy_guide/administrate/collection_helper.rb', line 6 def yummy_guide_administrate_collection_table_fixed_columns_count(page:, collection_presenter:) return 0 unless page.respond_to?(:instance_variable_defined?) && page.instance_variable_defined?(:@dashboard) dashboard = page.instance_variable_get(:@dashboard) return 0 unless dashboard&.class&.respond_to?(:index_fixed_columns_count) fixed_columns_count = dashboard.class.index_fixed_columns_count.to_i fixed_columns_count = 0 if fixed_columns_count.negative? attribute_count = collection_presenter.attribute_types.size [fixed_columns_count, attribute_count].min rescue NoMethodError 0 end |
#yummy_guide_administrate_collection_text_link?(attribute) ⇒ Boolean
42 43 44 |
# File 'app/helpers/yummy_guide/administrate/collection_helper.rb', line 42 def yummy_guide_administrate_collection_text_link?(attribute) attribute.respond_to?(:name) && attribute.name.to_s == "id" end |
#yummy_guide_administrate_collection_wrap(content, href:) ⇒ Object
46 47 48 49 50 |
# File 'app/helpers/yummy_guide/administrate/collection_helper.rb', line 46 def yummy_guide_administrate_collection_wrap(content, href:) return content if href.blank? link_to(href, class: "action-show") { content } end |