module Feather::Support
Public Instance Methods
cast_as_vars(object, stack)
click to toggle source
# File lib/feather/support.rb, line 33 def cast_as_vars(object, stack) if (object.is_a?(Hash)) stack.each do |parent| if (parent.is_a?(Hash)) object = parent.merge(object) end end object else object.respond_to?(:each) ? object : [ object ] end end
css_escape(object)
click to toggle source
# File lib/feather/support.rb, line 19 def css_escape(object) [ object ].flatten.join(' ') end
html_escape(object)
click to toggle source
# File lib/feather/support.rb, line 11 def html_escape(object) CGI.escapeHTML(object.to_s) end
iterate(object) { |i| ... }
click to toggle source
# File lib/feather/support.rb, line 23 def iterate(object) if (object.respond_to?(:each)) object.each do |i| yield(i) end elsif (object) yield(object) end end
js_escape(object)
click to toggle source
# File lib/feather/support.rb, line 15 def js_escape(object) object.inspect end
uri_escape(object)
click to toggle source
variable_stack(variables, force_as_array = true)
click to toggle source
# File lib/feather/support.rb, line 47 def variable_stack(variables, force_as_array = true) case (variables) when Hash remapped = Hash[ variables.collect do |k, v| [ k ? k.to_sym : k, variable_stack(v, false) ] end ] if (default = variables.default) remapped.default = default end if (default_proc = variables.default_proc) remapped.default_proc = default_proc end remapped when Array variables.collect do |v| variable_stack(v, false) end else force_as_array ? [ variables ] : variables end end