Sha256: f1e686ba3e5c9745f7af6da6bfe43ac92ac81540ea2fcfb9df2628f4a9b69a93

Contents?: true

Size: 1.25 KB

Versions: 1

Compression:

Stored size: 1.25 KB

Contents

module BootstrapIt
  #
  module ViewHelpers
    #
    # ListItem
    #
    # @author Alexey Ovchinnikov <alexiss@cybernetlab.ru>
    #
    class ListItem < WrapIt::Base
      include WrapIt::TextContainer
      include Activable
      include Disableable

      default_tag 'li'
    end


    #
    # ListLinkItem
    #
    # @author Alexey Ovchinnikov <alexiss@cybernetlab.ru>
    #
    class ListLinkItem < WrapIt::Link
      REGEXP = /\Ali_/
      after_initialize do
        li_options = @options[:li] || @options[:li_options] || {}
        @options.delete(:li)
        @options.delete(:li_options)
        @options.keys.select { |o| REGEXP =~ o }.each do |k|
          li_options[k[3..-1].to_sym] = @options.delete(k)
        end
        @options.key?(:active) &&
          li_options[:active] = @options.delete(:active)
        @options.key?(:disabled) &&
          li_options[:disabled] = @options.delete(:disabled)
        @options.key?(:disable) &&
          li_options[:disabled] = @options.delete(:disable)
        li_args = @arguments.extract!(
          Symbol,
          and: [:active, :disabled, :disable, REGEXP]
        ).map { |a| REGEXP =~ a ? a.to_s[3..-1].to_sym : a }
        li_args << li_options
        wrap ListItem, *li_args
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bootstrap_it-0.1.2 lib/bootstrap_it/view_helpers/list.rb