Sha256: a24655cd3021fba242093e9fb82330d3c812dc5421d53e59e3f8b609b082c239

Contents?: true

Size: 1.32 KB

Versions: 6

Compression:

Stored size: 1.32 KB

Contents

module InactiveRecord
  class Base
    class <<self
      # Allows alternate humanized versions of attributes to be set.  For example, an attribute such as 'num_employees' would be
      # converted to 'Num employees' normally using <tt>human_attribute_name</tt>.  More descriptive text can be set. Example:
      #   attr_human_name 'num_employees' => 'Number of employees'
      def attr_human_hint(attributes) # :nodoc:
        return unless table_exists?

        attributes.stringify_keys!
        write_inheritable_hash("attr_human_hint", attributes || {})

        # assign the current class to each column that is being assigned a new human attribute name
        self.columns.reject{|c| !attributes.has_key?(c.name)}.each{|c| c.parent_record_class = self}
      end

      # Returns a hash of alternate human name conversions set with <tt>attr_human_name</tt>.
      def human_hint_attributes # :nodoc:
        read_inheritable_attribute("attr_human_hint")
      end

      # Transforms attribute key names into a more humane format, such as "First name" instead of "first_name". Example:
      #   Person.human_attribute_name("first_name") # => "First name"
      def human_attribute_hint(attribute_key_name) #:nodoc:
        (read_inheritable_attribute("attr_human_hint") || {})[attribute_key_name.to_s] || ''
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
midas-guilded-0.2.1 lib/guilded/rails/inactive_record/human_attribute_hint.rb
midas-guilded-0.2.3 lib/guilded/rails/inactive_record/human_attribute_hint.rb
midas-guilded-0.2.4 lib/guilded/rails/inactive_record/human_attribute_hint.rb
midas-guilded-0.2.5 lib/guilded/rails/inactive_record/human_attribute_hint.rb
midas-guilded-0.2.6 lib/guilded/rails/inactive_record/human_attribute_hint.rb
midas-guilded-0.2.7 lib/guilded/rails/inactive_record/human_attribute_hint.rb