Module: Abid::PlayCore

Included in:
MixinTask::Mixin, Play
Defined in:
lib/abid/play_core.rb

Instance Method Summary collapse

Instance Method Details

#include(*mod) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/abid/play_core.rb', line 18

def include(*mod)
  ms = mod.map do |m|
    if m.is_a? Module
      m
    else
      mixin_task = Rake.application[m, @scope]

      fail "#{m} is not a mixin" unless mixin_task.is_a? MixinTask

      mixin_task.mixin
    end
  end

  super(*ms)
end

#set(name, value = nil, &block) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/abid/play_core.rb', line 3

def set(name, value = nil, &block)
  var = :"@#{name}"

  define_method(name) do
    unless instance_variable_defined?(var)
      if !value.nil?
        instance_variable_set(var, value)
      elsif block_given?
        instance_variable_set(var, instance_eval(&block))
      end
    end
    instance_variable_get(var)
  end
end