class Colrou::RailsRoutesParser
Constants
- COLORS
- CYAN
- GREEN
- PURPLE
- RED
- RESET_COLOR
- YELLOW
Public Class Methods
colorize_parameters(line)
click to toggle source
Uses ruby-doc.org/core-1.9.3/Regexp.html#class-Regexp-label-Capturing
# File lib/colrou/parse.rb, line 53 def self.colorize_parameters(line) line.gsub!(/(?<parameter>\/:\w+)/) do "/#{COLORS[:misc_colors][:param]}#{$~[:parameter].slice(1..-1)}#{COLORS[:misc_colors][:reset]}" end end
colorize_verbs(line)
click to toggle source
# File lib/colrou/parse.rb, line 46 def self.colorize_verbs(line) COLORS[:http_verb_colors].each do |verb, color| line.gsub!(/#{verb.upcase}/, "#{color}#{verb.upcase}#{COLORS[:misc_colors][:reset]}") end end
extract_controller_name(line)
click to toggle source
# File lib/colrou/parse.rb, line 59 def self.extract_controller_name(line) controller_action = line[/\w+#\w+$/] # Find "controller#action\n" return if nil == controller_action controller_action.split("#")[0] # Get "controller" from "controller#action" end
parse()
click to toggle source
# File lib/colrou/parse.rb, line 77 def self.parse prepare_colors prev_controller_name = nil begin while input = ARGF.gets input.each_line do |line| begin # Apply colorizations colorize_verbs(line) colorize_parameters(line) # Apply line breaks between controllers controller_name = extract_controller_name(line) $stdout.puts if controller_name != prev_controller_name && nil != prev_controller_name prev_controller_name = controller_name # Output formatted line $stdout.puts(line) rescue Errno::EPIPE exit(74) # Bash exit status code (input/output error) end end end rescue puts "Invalid input (#{$!})" end end
prepare_colors()
click to toggle source
# File lib/colrou/parse.rb, line 65 def self.prepare_colors config_file = File.join(Dir.home, ".colrou.yml") return unless File.file?(config_file) config = YAML.load_file(File.join(Dir.home, ".colrou.yml")) config["http_verb_colors"].each do |verb, color| COLORS[:http_verb_colors][verb.to_sym] = color end config["misc_colors"].each do |attrib, color| COLORS[:misc_colors][attrib.to_sym] = color end end