Module: Hammer::DSL
- Defined in:
- lib/hammer/builder.rb
Overview
Top-level Hammer DSL. Extended onto main (below) so any file
required from within a Hammerfile - where self == main - can
still call task, namespace, and before. Delegates to whichever
Hammer subclass is currently being evaluated.
Instance Method Summary collapse
-
#desc(text) ⇒ Object
Top-level
desc 'text'from inside a Hammerfile / fragment - sets the CLI's overall description on the current target. -
#helpers(&block) ⇒ Object
Same as Builder#helpers - top-level `helpers do ...
Instance Method Details
#desc(text) ⇒ Object
Top-level desc 'text' from inside a Hammerfile / fragment - sets
the CLI's overall description on the current target. Separate from
the class-level desc (which is per-task pending state).
90 91 92 93 94 95 |
# File 'lib/hammer/builder.rb', line 90 def desc(text) target = Thread.current[:hammer_target] raise Hammer::Error, '`desc` called outside a Hammer context ' \ '(Hammerfile / Hammer.run block / *_hammer.rb)' unless target target.app_desc(text) end |
#helpers(&block) ⇒ Object
Same as Builder#helpers - top-level helpers do ... end in a
fragment or Hammerfile adds private instance methods to the
current target's class.
100 101 102 103 104 105 |
# File 'lib/hammer/builder.rb', line 100 def helpers(&block) target = Thread.current[:hammer_target] raise Hammer::Error, '`helpers` called outside a Hammer context ' \ '(Hammerfile / Hammer.run block / *_hammer.rb)' unless target target.class_eval(&block) end |