Sha256: 8c22cabd030181a49a54c1771cfa8f9c5cb87ae9817635962dd875652d2ccbfe
Contents?: true
Size: 922 Bytes
Versions: 1
Compression:
Stored size: 922 Bytes
Contents
# frozen_string_literal: true module FoxTail::Concerns::Placeholderable extend ActiveSupport::Concern included do has_option :placeholder end def placeholder? !!placeholder.presence end def before_render super html_attributes[:placeholder] = retrieve_placeholder if placeholder? end protected def retrieve_placeholder return placeholder if placeholder.is_a? String return nil unless object_name? && method_name? value = placeholder unless placeholder.is_a? TrueClass placeholder_translator(value: value).translate || default_placeholder end def default_placeholder object = convert_to_model self.object return object.class.human_attribute_name(method_name) if object.class.respond_to?(:human_attribute_name) method_name&.humanize end def placeholder_translator(value: nil) translator value: value, scope: "helpers.placeholder" end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fox_tail-0.1.0 | app/components/fox_tail/concerns/placeholderable.rb |