Module: HashBrowns::LinksHelpers

Defined in:
lib/hashbrowns/helpers/links_helpers.rb

Instance Method Summary collapse

Instance Method Details

#get_value_and_id(object, path) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/hashbrowns/helpers/links_helpers.rb', line 15

def get_value_and_id(object, path)
  #puts "o #{object.inspect} p #{p.inspect}"
  value = object[path.shift.to_s]
  value = "false" if value.nil?
  #puts "value is '#{value}'"
  return value.to_s, object["id"] if path.empty? or value.nil?
  return get_value_and_id(value, path)
end

#linkify(key, value, parent = false, id = false, text = false) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/hashbrowns/helpers/links_helpers.rb', line 3

def linkify(key, value, parent = false, id = false, text = false)
  return "" if value.nil? or key.nil? or !value or !key
  key, value, parent, id, text = key.to_s, value.to_s, parent.to_s, id.to_s, text.to_s
  text = value if text
  #puts "k #{key}, v #{value}, p #{parent} i #{id} t #{text}"
  return link_to(text, HashBrowns.conf.link_parents[parent][key]+value).html_safe if parent && HashBrowns.conf.link_parents.has_key?(parent) && HashBrowns.conf.link_parents[parent].has_key?(key)
  return link_to(text, HashBrowns.conf.link_hash[key]+value).html_safe if HashBrowns.conf.link_hash.has_key?(key)
  return link_to(text, value).html_safe if HashBrowns.conf.links.include?(key)
  return link_to(text, HashBrowns.conf.link_parents[parent]["id"]+id).html_safe if id && parent && HashBrowns.conf.link_for_id.has_key?(key) && HashBrowns.conf.link_for_id[key].include?(parent)
  return value
end