Module: Sass::Callbacks

Included in:
Plugin::Compiler
Defined in:
.ruby-sass/lib/sass/callbacks.rb

Overview

A lightweight infrastructure for defining and running callbacks. Callbacks are defined using #define_callback at the class level, and called using `run_#name` at the instance level.

Clients can add callbacks by calling the generated `on_#name` method, and passing in a block that's run when the callback is activated.

Examples:

Define a callback

class Munger
  extend Sass::Callbacks
  define_callback :string_munged

  def munge(str)
    res = str.gsub(/[a-z]/, '\1\1')
    run_string_munged str, res
    res
  end
end

Use a callback

m = Munger.new
m.on_string_munged {|str, res| puts "#{str} was munged into #{res}!"}
m.munge "bar" #=> bar was munged into bbaarr!

Defined Under Namespace

Modules: InstanceMethods

Class Method Summary (collapse)

Class Method Details

.extended(base) ⇒ Object

Automatically includes InstanceMethods when something extends this module.

Parameters:

  • base (Module)


30
31
32
# File '.ruby-sass/lib/sass/callbacks.rb', line 30

def self.extended(base)
  base.send(:include, InstanceMethods)
end