Module: YummyGuide::Administrate::CollectionHelper
- Defined in:
- app/helpers/yummy_guide/administrate/collection_helper.rb
Constant Summary collapse
- COLLECTION_CELL_COPY_BLOCK_TAGS =
%w[ address article aside blockquote div dl dt dd fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hr li main nav ol p pre section table tr ul ].freeze
Instance Method Summary collapse
- #yummy_guide_administrate_build_collection_cell(content:, present_path: nil, target: nil, reference_link: false, text_link: false, leading_actions: nil, copy_text: nil, copy_text_transform: nil) ⇒ Object
- #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_table_mobile_fixed_columns_count(page:, collection_presenter:) ⇒ Object
- #yummy_guide_administrate_collection_text_link?(attribute) ⇒ Boolean
- #yummy_guide_administrate_collection_wrap(content, href:) ⇒ Object
- #yummy_guide_administrate_safe_transliterate_copy_text(text) ⇒ Object
Instance Method Details
#yummy_guide_administrate_build_collection_cell(content:, present_path: nil, target: nil, reference_link: false, text_link: false, leading_actions: nil, copy_text: nil, copy_text_transform: nil) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'app/helpers/yummy_guide/administrate/collection_helper.rb', line 29 def yummy_guide_administrate_build_collection_cell(content:, present_path: nil, target: nil, reference_link: false, text_link: false, leading_actions: nil, copy_text: nil, copy_text_transform: nil) normalized_content = yummy_guide_administrate_collection_cell_content(content) { content: yummy_guide_administrate_collection_cell_content_with_copy_frame( normalized_content, content_href: text_link ? present_path : nil, reference_href: reference_link ? present_path : nil, target: target, leading_actions: leading_actions, copy_text: copy_text, copy_text_transform: copy_text_transform ), linkable: false } end |
#yummy_guide_administrate_collection_actions_partial(partial_name) ⇒ Object
82 83 84 85 86 87 88 89 |
# File 'app/helpers/yummy_guide/administrate/collection_helper.rb', line 82 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
62 63 64 65 66 67 68 |
# File 'app/helpers/yummy_guide/administrate/collection_helper.rb', line 62 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
53 54 55 56 57 58 59 60 |
# File 'app/helpers/yummy_guide/administrate/collection_helper.rb', line 53 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
70 71 72 |
# File 'app/helpers/yummy_guide/administrate/collection_helper.rb', line 70 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
11 12 13 14 15 16 17 |
# File 'app/helpers/yummy_guide/administrate/collection_helper.rb', line 11 def yummy_guide_administrate_collection_table_fixed_columns_count(page:, collection_presenter:) yummy_guide_administrate_collection_fixed_columns_count_for( page: page, collection_presenter: collection_presenter, method_name: :index_fixed_columns_count ) end |
#yummy_guide_administrate_collection_table_mobile_fixed_columns_count(page:, collection_presenter:) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'app/helpers/yummy_guide/administrate/collection_helper.rb', line 19 def yummy_guide_administrate_collection_table_mobile_fixed_columns_count(page:, collection_presenter:) yummy_guide_administrate_collection_fixed_columns_count_for( page: page, collection_presenter: collection_presenter, method_name: :index_mobile_fixed_columns_count ) rescue NoMethodError 0 end |
#yummy_guide_administrate_collection_text_link?(attribute) ⇒ Boolean
74 75 76 |
# File 'app/helpers/yummy_guide/administrate/collection_helper.rb', line 74 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
78 79 80 |
# File 'app/helpers/yummy_guide/administrate/collection_helper.rb', line 78 def yummy_guide_administrate_collection_wrap(content, href:) yummy_guide_administrate_collection_link(content, href: href) end |
#yummy_guide_administrate_safe_transliterate_copy_text(text) ⇒ Object
46 47 48 49 50 51 |
# File 'app/helpers/yummy_guide/administrate/collection_helper.rb', line 46 def yummy_guide_administrate_safe_transliterate_copy_text(text) transliterated = ActiveSupport::Inflector.transliterate(text) return text if transliterated.count("?") > text.count("?") transliterated end |