Sha256: 9a49d93fe819ce71ea299b1dbad1f541942dd99de7099d34a0369fcd32848b96
Contents?: true
Size: 1.34 KB
Versions: 2
Compression:
Stored size: 1.34 KB
Contents
module Storefront module AttributeHelper def underscore_class_name(record) record.class.base_class.snake_case end def datetime_for(time) with_time_at time end def record_method(method, *args, &block) record = args.shift sent_method = "#{method}_#{underscore_class_name(record)}" if args.length > 0 && options = args.pop send(sent_method, record, options, &block) else send(sent_method, record, &block) end end def merge_class!(attributes, *values) return {} if attributes.nil? hash = merge_class(attributes, *values) attributes[:class] = hash[:class] if hash attributes end def merge_class(attributes, *values) if values.present? if attributes[:class].present? classes = attributes[:class].split(/\s+/) else classes = [] end classes += values.compact.map(&:to_s) classes.uniq! else classes = nil end if classes.present? attributes.merge(:class => classes.join(" ")) else attributes end end def index_class(index, length) return nil if length.blank? || (length <= 1) if index == 0 "first" elsif index == length - 1 "last" else nil end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
storefront-0.2.1 | lib/storefront/helpers/attribute_helper.rb |
storefront-0.2.0 | lib/storefront/helpers/attribute_helper.rb |