Module: MandrillQueue::Variables::DSL

Defined in:
lib/mandrill_queue/variables.rb

Overview

Define DSL for inclusion in remote classes

Class Method Summary collapse

Class Method Details

.include_as(base, name) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/mandrill_queue/variables.rb', line 5

def self.include_as(base, name)
	base.class_eval <<-RUBY, __FILE__, __LINE__ + 1
	def #{name}(values = nil, &block)
		@_#{name} ||= Variables::Internal.new
		@_#{name}.merge!(values) if values.is_a?(Hash)
		@_#{name}.dsl(&block) if block_given?
		block_given? ? self : @_#{name}
	end
	RUBY
end

.included(base) ⇒ Object



16
17
18
# File 'lib/mandrill_queue/variables.rb', line 16

def self.included(base)
	include_as(base, :variables)
end