Sha256: 63d29d8d357250fda2d236431d9f7b4594d7f71cb65bcd2ae934de89ee611b26
Contents?: true
Size: 1.93 KB
Versions: 20
Compression:
Stored size: 1.93 KB
Contents
module Lockdown module Helper # # If str_sym is a Symbol (:users), give me back "Users" # If str_sym is a String ("Users"), give me back :users # # Was :to_title_sym for String and :to_title_str for Symbol # def convert_reference_name(str_sym) if str_sym.is_a?(Symbol) titleize(str_sym) else underscore(str_sym).tr(' ','_').to_sym end end def lockdown_string(value) if value.respond_to?(:name) string_name(value.name) else string_name(value) end end def lockdown_symbol(value) if value.respond_to?(:name) symbol_name(value.name) elsif value.is_a?(String) symbol_name(value) else value end end def camelize(str) str.to_s.gsub(/\/(.?)/) { "::" + $1.upcase }.gsub(/(^|_)(.)/) { $2.upcase } end def random_string(len = 10) chars = ("a".."z").to_a + ("A".."Z").to_a + ("0".."9").to_a Array.new(len){||chars[rand(chars.size)]}.join end def administrator_group_string string_name(:administrators) end def administrator_group_symbol :administrators end private def string_name(str_sym) str_sym.is_a?(Symbol) ? convert_reference_name(str_sym) : str_sym end def symbol_name(str_sym) str_sym.is_a?(String) ? convert_reference_name(str_sym) : str_sym end def titleize(str) humanize(underscore(str)).gsub(/\b([a-z])/) { $1.capitalize } end def humanize(str) str.to_s.gsub(/_id$/, "").gsub(/_/, " ").capitalize end def underscore(str) str.to_s.gsub(/::/, '/'). gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2'). gsub(/([a-z\d])([A-Z])/,'\1_\2'). tr("-", "_").downcase end if Lockdown.rails_app? def controller_class_name(str) "#{str}Controller" end else def controller_class_name(str) str end end end end
Version data entries
20 entries across 20 versions & 1 rubygems