Module: Odania::TargetType

Defined in:
lib/odania/target_type.rb

Constant Summary collapse

@@targets =
Hash.new

Class Method Summary collapse

Class Method Details

.get_target(menu_item) ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/odania/target_type.rb', line 16

def get_target(menu_item)
	target_info = self.targets[menu_item.target_type]
	return nil if target_info.nil?

	m = target_info[:module].constantize
	return m.send(target_info[:render_func], menu_item) if m.respond_to?(target_info[:render_func])
	return nil
end

.validate_data(menu_item, target_type, target_data) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/odania/target_type.rb', line 25

def validate_data(menu_item, target_type, target_data)
	return 'invalid target_data' if target_data.nil?

	target_info = self.targets[target_type]
	return 'invalid target_type' if target_info.nil?

	m = target_info[:module].constantize
	return m.send(target_info[:validator_func], menu_item, target_data) if m.respond_to?(target_info[:validator_func])

	return nil
end