class MemoryMonitoring::Injector

Public Class Methods

new(messages) click to toggle source
# File lib/memory_monitoring/injector.rb, line 6
def initialize(messages)
  @messages = messages
end

Public Instance Methods

injection(type, body) click to toggle source

注入

# File lib/memory_monitoring/injector.rb, line 11
def injection(type, body)
  case type
  when /text\/html/, '*/*'
    html_injection(body)
  when /application\/json/
    json_injection(body)
  when /text\/javascript/
    js_injection(body)
  else
    puts type
    puts '_'*88
    puts body
    puts '_'*88
    body
  end
end

Private Instance Methods

html_injection(body) click to toggle source
# File lib/memory_monitoring/injector.rb, line 34
def html_injection(body)
  body = "<!-- #{ @messages.join(', ') } -->\n" +  body
end
js_injection(body) click to toggle source
# File lib/memory_monitoring/injector.rb, line 30
def js_injection(body)
  body = "console.log('#{@messages.join(', ')}');\n" +  body
end
json_injection(body) click to toggle source
# File lib/memory_monitoring/injector.rb, line 38
def json_injection(body)
  body = ::JSON.load(body)
  @messages = @messages.map { |m| m.split(': ') }.flatten
  body[:debug] = Hash[*@messages]
  body = ::JSON.dump(body)
end