Sha256: 8e09fde3f8a352525cfd4f591e9a02e18733936cc88d7784faca931cdeda9494

Contents?: true

Size: 605 Bytes

Versions: 2

Compression:

Stored size: 605 Bytes

Contents

# frozen_string_literal: true

module Phlexi
  module Display
    module FieldOptions
      module Labels
        def label(label = nil)
          if label.nil?
            options[:label] = options.fetch(:label) { calculate_label }
          else
            options[:label] = label
            self
          end
        end

        private

        def calculate_label
          if object.class.respond_to?(:human_attribute_name)
            object.class.human_attribute_name(key.to_s, {base: object})
          else
            key.to_s.humanize
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
phlexi-display-0.0.2 lib/phlexi/display/field_options/labels.rb
phlexi-display-0.0.1 lib/phlexi/display/field_options/labels.rb