Module: Hammer::DSL
- Defined in:
- lib/hammer/builder.rb
Overview
Top-level Hammer DSL. Extended onto ‘main` (below) so any file `require`d 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 |