Module: Garcon::Provider::BaseDSL::ClassMethods

Included in:
Garcon::Provider::BaseDSL
Defined in:
lib/garcon/chef/resource/base_dsl.rb

Instance Method Summary collapse

Instance Method Details

#included(descendant) ⇒ self

Hook called when module is included, extends a descendant with class and instance methods.

Parameters:

  • descendant (Module)

    The module or class including Garcon::Provider::BaseDSL

Returns:

  • (self)


209
210
211
212
213
214
215
216
# File 'lib/garcon/chef/resource/base_dsl.rb', line 209

def included(descendant)
  super
  descendant.extend ClassMethods
  if descendant.is_a?(Class) && descendant.superclass == Chef::Provider
    descendant.class_exec { include Implementation }
  end
  descendant.class_exec { include Chef::DSL::Recipe }
end