lib/rake/funnel/integration/teamcity/service_messages.rb in rake-funnel-0.3.2.pre vs lib/rake/funnel/integration/teamcity/service_messages.rb in rake-funnel-0.4.0.pre

- old
+ new

@@ -1,40 +1,46 @@ -module Rake::Funnel::Integration::TeamCity - class ServiceMessages - class << self - def method_missing(method, *args, &block) - return unless Rake::Funnel::Integration::TeamCity.running? - - message_name = method.camelize - publish message_name, args[0] - end - - private - def publish(message_name, args) - args = [message_name] << escaped_array_of(args) - args = args.flatten.reject(&:nil?) - - puts "##teamcity[#{args.join(' ')}]" - end - - def escape(string) - string - .gsub(/\|/, '||') - .gsub(/'/, "|'") - .gsub(/\r/, '|r') - .gsub(/\n/, '|n') - .gsub(/\u0085/, '|x') - .gsub(/\u2028/, '|l') - .gsub(/\u2029/, '|p') - .gsub(/\[/, '|[') - .gsub(/\]/, '|]') - end - - def escaped_array_of(args) - return [] if args.nil? - - return "'#{escape args}'" unless args.is_a?(Hash) - args.map { |key, value| "#{key.camelize}='#{escape value.to_s}'" } - end - end - end -end +module Rake + module Funnel + module Integration + module TeamCity + class ServiceMessages + class << self + def method_missing(method, *args, &_block) + return unless Rake::Funnel::Integration::TeamCity.running? + + message_name = method.camelize + publish message_name, args[0] + end + + private + def publish(message_name, args) + args = [message_name] << escaped_array_of(args) + args = args.flatten.reject(&:nil?) + + puts "##teamcity[#{args.join(' ')}]" + end + + def escape(string) + string + .gsub(/\|/, '||') + .gsub(/'/, "|'") + .gsub(/\r/, '|r') + .gsub(/\n/, '|n') + .gsub(/\u0085/, '|x') + .gsub(/\u2028/, '|l') + .gsub(/\u2029/, '|p') + .gsub(/\[/, '|[') + .gsub(/\]/, '|]') + end + + def escaped_array_of(args) + return [] if args.nil? + + return "'#{escape args}'" unless args.is_a?(Hash) + args.map { |key, value| "#{key.camelize}='#{escape value.to_s}'" } + end + end + end + end + end + end +end