module Tight::Engine::Utils
Public Instance Methods
icon_for(filename)
click to toggle source
# File lib/tight-engine/utils.rb, line 51 def icon_for(filename) iconfile = 'images/extname/16/file_extension_'+File.extname(filename)[1..-1]+'.png' iconpath = Padrino.root('public', iconfile) if File.file?(iconpath) image_tag '/'+iconfile else image_tag '/images/extname/16/file_extension_bin.png' end end
mk_datetime(date, time)
click to toggle source
# File lib/tight-engine/utils.rb, line 41 def mk_datetime(date, time) DateTime.new date.year, date.month, date.day, time.hour, time.min, time.sec end
report_error( error, subsystem = 'system', fallback = nil )
click to toggle source
# File lib/tight-engine/utils.rb, line 7 def report_error( error, subsystem = 'system', fallback = nil ) @_out_buf ||= ''.html_safe # !!! FIXME this might be fixed at tilt 1.3.8+ if Padrino.env == :production messages = '' [ "Swift caught a runtime error at #{subsystem}", "Fallback for development was #{fallback||'empty'}, production displayed empty string.", error.message, ].each do |message| logger.error message messages << message + "\r\n" end error.backtrace.reject{ |e| e.match /phusion_passenger/ }.each do |step| logger << step messages << step + "\r\n" end swift.error_messages ||= [] swift.error_messages << messages '' else fallback || raise end end
show_asset(asset, options={})
click to toggle source
# File lib/tight-engine/utils.rb, line 45 def show_asset(asset, options={}) @file = asset @opts = options element_view 'File/view' end
url_replace( target, *args )
click to toggle source
# File lib/tight-engine/utils.rb, line 30 def url_replace( target, *args ) uri = URI.parse(URI::DEFAULT_PARSER.escape target) uri.path = CGI.escape(args.first) if args.first.kind_of?(String) if args.last.kind_of?(Hash) query = uri.query ? CGI.parse(uri.query) : {} args.last.each{ |k,v| v ? query[k.to_s] = v.to_s : query.delete(k.to_s) } uri.query = query.any? && URI.encode_www_form(query) end CGI.unescape(uri.to_s) end