Sha256: 45893da6c7ce59278413fba6dd6a91ec0ee5267b3ce6dfaa9dd8431b2b79f7d5
Contents?: true
Size: 1.39 KB
Versions: 4
Compression:
Stored size: 1.39 KB
Contents
module Odania module TargetType mattr_reader :targets @@targets = Hash.new @@targets['CONTENT'] = {type: 'CONTENT', module: 'Odania::CoreTargetTypeUtil', validator_func: 'validate_content_id', render_func: 'render_content', selector: 'admin/odania/contents/choose_content'} @@targets['CONTENT_LIST'] = {type: 'CONTENT_LIST', module: 'Odania::CoreTargetTypeUtil', validator_func: 'validate_content_list', render_func: 'render_content_list', selector: 'admin/odania/contents/choose_content_list'} @@targets['URL'] = {type: 'URL', module: 'Odania::CoreTargetTypeUtil', validator_func: 'validate_url', render_func: 'render_url', selector: 'admin/odania/menu_items/choose_url'} class << self 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 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 end end end
Version data entries
4 entries across 4 versions & 1 rubygems