Sha256: 4d426d9f229fb778ac677934fb63579b282c06995591c92e1b57b90f90bf6efd
Contents?: true
Size: 1.63 KB
Versions: 1
Compression:
Stored size: 1.63 KB
Contents
# Rails helper for producing Twitter Bootstrap badges # # See: http://twitter.github.io/bootstrap/components.html#labels-badges # # Default badge: # # @example # badge('Default') # # badge('Info', :info) # # badge('Warning', :warning, id: 'warn-id', class: 'more-class', my_key: 'my_value') # module Bootstrap::BadgeHelper InvalidBadgeTypeError = Class.new(StandardError) BADGE_TYPES = %w(default primary success info warning danger) # Returns html for a Bootstrap badge. # # @overload badge(text, options={}) # Returns html for +default+ badge # @param [String] text Text of badge # @param [Hash] options Html attributes for badge <span> # @overload badge(text, badge_type, options={}) # Returns html for badge of type _badge_type_ # @param [String] text Text of badge # @param [String, Symbol] badge_type one of BADGE_TYPES # @param [Hash] options Html attributes for badge <span> # @return [String] html for badge # @raise [InvalidBadgeTypeError] When a badge type is passed and isn't one of the BADGE_TYPES def badge(*args) text = args.shift options = add_badge_classes(*args) content_tag(:span, text, options) end private def add_badge_classes(*args) options = canonicalize_options(args.extract_options!) validate_badge_types(args) classes = ['label', 'label-pill'] + args.map { |arg| "label-#{arg}" } classes << 'label-default' if classes == ['label', 'label-pill'] ensure_class(options, classes) end def validate_badge_types(badge_types) badge_types.each { |e| raise(InvalidBadgeTypeError, e.inspect) unless BADGE_TYPES.include?(e.to_s) } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bootstrap-view-helpers-0.0.14 | app/helpers/bootstrap/badge_helper.rb |