Method: Ergo::Book#rule

Defined in:
lib/ergo/book.rb

#rule(state, &procedure) ⇒ Rule

Define a rule. Rules are procedures that are tiggered by logical states.

Examples:

rule no_rdocs do |files|
  sh "rdoc --output doc/rdoc " + files.join(" ")
end

Returns:

  • (Rule)

    Returns



152
153
154
155
156
157
158
159
160
161
162
163
164
# File 'lib/ergo/book.rb', line 152

def rule(state, &procedure)
  case state
  when String, Regexp
    state = file(state)
  when Symbol
    # TODO: Is this really the best idea?
    #@states[state.to_sym]
  end
  rule = Rule.new(state, get_rule_options, &procedure)
  @rules << rule
  clear_rule_options
  rule
end