Module: ReeActions::DSL::ClassMethods

Includes:
Ree::Contracts::ArgContracts, Ree::Contracts::Core
Defined in:
lib/ree_lib/packages/ree_actions/package/ree_actions/dsl.rb

Instance Method Summary collapse

Instance Method Details

#action(name, &proc) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/ree_lib/packages/ree_actions/package/ree_actions/dsl.rb', line 25

def action(name, &proc)
  dsl = Ree::ObjectDsl.new(
    Ree.container.packages_facade, name, self, :fn
  )

  dsl.instance_exec(&proc) if block_given?
  dsl.tags(["action"])
  dsl.freeze(false)
  dsl.object.set_as_compiled(false)

  Ree.container.compile(dsl.package, name)
end