Module: Odania::TargetType

Defined in:
app/models/odania/target_type.rb

Constant Summary collapse

@@targets =
Hash.new

Class Method Summary collapse

Class Method Details

.get_target(menu_item) ⇒ Object



13
14
15
16
17
18
19
20
# File 'app/models/odania/target_type.rb', line 13

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



22
23
24
25
26
27
28
29
30
31
32
# File 'app/models/odania/target_type.rb', line 22

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