Sha256: c9e850c6f9b190b635451d7bdf30b674163d634c0028b8075e2d6cc00949da72
Contents?: true
Size: 1.91 KB
Versions: 2
Compression:
Stored size: 1.91 KB
Contents
# Phusion Passenger - http://www.modrails.com/ # Copyright (C) 2008 Phusion # # Phusion Passenger is a trademark of Hongli Lai & Ninh Bui. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. require 'erb' module PhusionPassenger class ConsoleTextTemplate TEMPLATE_DIR = "#{File.dirname(__FILE__)}/templates" def initialize(input, options = {}) @buffer = '' if input[:file] data = File.read("#{TEMPLATE_DIR}/#{input[:file]}.txt.erb") else data = input[:text] end @template = ERB.new(substitute_color_tags(data), nil, nil, '@buffer') options.each_pair do |name, value| self[name] = value end end def []=(name, value) instance_variable_set("@#{name}".to_sym, value) return self end def result return @template.result(binding) end private DEFAULT_TERMINAL_COLORS = "\e[0m\e[37m\e[40m" def substitute_color_tags(data) data = data.gsub(%r{<b>(.*?)</b>}m, "\e[1m\\1#{DEFAULT_TERMINAL_COLORS}") data.gsub!(%r{<red>(.*?)</red>}m, "\e[1m\e[31m\\1#{DEFAULT_TERMINAL_COLORS}") data.gsub!(%r{<green>(.*?)</green>}m, "\e[1m\e[32m\\1#{DEFAULT_TERMINAL_COLORS}") data.gsub!(%r{<yellow>(.*?)</yellow>}m, "\e[1m\e[33m\\1#{DEFAULT_TERMINAL_COLORS}") data.gsub!(%r{<banner>(.*?)</banner>}m, "\e[33m\e[44m\e[1m\\1#{DEFAULT_TERMINAL_COLORS}") return data end end end # module PhusionPassenger
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
passenger-2.1.2 | lib/phusion_passenger/console_text_template.rb |
passenger-2.1.3 | lib/phusion_passenger/console_text_template.rb |