Module: Tight::Engine::Utils
- Defined in:
- lib/tight-engine/utils.rb
Instance Method Summary collapse
- #icon_for(filename) ⇒ Object
- #mk_datetime(date, time) ⇒ Object
- #report_error(error, subsystem = 'system', fallback = nil) ⇒ Object
- #show_asset(asset, options = {}) ⇒ Object
- #url_replace(target, *args) ⇒ Object
Instance Method Details
#icon_for(filename) ⇒ Object
51 52 53 54 55 56 57 58 59 |
# 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) ⇒ Object
41 42 43 |
# 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) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# 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 = '' [ "Swift caught a runtime error at #{subsystem}", "Fallback for development was #{fallback||'empty'}, production displayed empty string.", error., ].each do || logger.error << + "\r\n" end error.backtrace.reject{ |e| e.match /phusion_passenger/ }.each do |step| logger << step << step + "\r\n" end swift. ||= [] swift. << '' else fallback || raise end end |
#show_asset(asset, options = {}) ⇒ Object
45 46 47 48 49 |
# File 'lib/tight-engine/utils.rb', line 45 def show_asset(asset, ={}) @file = asset @opts = element_view 'File/view' end |
#url_replace(target, *args) ⇒ Object
30 31 32 33 34 35 36 37 38 39 |
# 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 |