Module: Ghaki::App::Mixer::ClassMethods

Defined in:
lib/ghaki/app/mixer.rb

Overview

Allows customizable engine mixin name.

Example

require 'ghaki/app/mixer'

class MyWidget

  include Ghaki::App::Mixer
  app_engine_mixin :sys_app

  def do_something
    sys_app.logger.info 'doing something'
  end

end

Instance Method Summary collapse

Instance Method Details

#app_engine_class_mixin(name) ⇒ Object

Generate engine mixin reader in class.



39
40
41
42
43
44
45
# File 'lib/ghaki/app/mixer.rb', line 39

def app_engine_class_mixin name
  class_eval "    def \#{name}\n      Ghaki::App::Engine.instance\n    end\n  END\nend\n"

#app_engine_eigen_mixin(name) ⇒ Object

Generate engine mixin reader in eigen class.



29
30
31
32
33
34
35
# File 'lib/ghaki/app/mixer.rb', line 29

def app_engine_eigen_mixin name
  class_eval "    def self.\#{name}\n      Ghaki::App::Engine.instance\n    end\n  END\nend\n"

#app_engine_mixin(name) ⇒ Object

Generate engine mixins in both the class and eigen class.



49
50
51
52
# File 'lib/ghaki/app/mixer.rb', line 49

def app_engine_mixin name
  app_engine_eigen_mixin name
  app_engine_class_mixin name
end