lib/kss/modifier.rb

Summary

Maintainability
A
0 mins
Test Coverage
module Kss
  # Public: Represents a style modifier. Usually a class name or a
  # pseudo-class such as :hover. See the spec on The Modifiers Section for
  # more information.
  class Modifier

    # Public: Returns the modifier name String.
    attr_accessor :name

    # Public: Returns the description String for a Modifier.
    attr_accessor :description

    # Public: Initialize a new Modifier.
    #
    # name        - The name String of the modifier.
    # description - The description String of the modifier.
    def initialize(name, description=nil)
      @name = name.to_s
      @description = description
    end

    # Public: The modifier name as a CSS class. For pseudo-classes, a
    # generated class name is returned. Useful for generating styleguides.
    #
    # Examples
    #
    #   :hover => "pseudo-class-hover"
    #   sexy-button => "sexy-button"
    #
    # Returns a CSS class String.
    def class_name
      name.gsub('.', ' ').gsub(':', ' pseudo-class-').strip
    end

  end
end