class SimpleCov::Formatter::ShieldFormatter::Generators::ShieldsIO
TODO: Make configurable
Constants
- EXTENSION
- HOST
- PATH
- STYLE
Public Class Methods
new(options)
click to toggle source
# File lib/simplecov-formatter-shield/generators/shields_io.rb, line 14 def initialize(options) @options = options @image = nil end
Public Instance Methods
build_uri()
click to toggle source
# File lib/simplecov-formatter-shield/generators/shields_io.rb, line 34 def build_uri parts = [@options.text, @options.status, @options.color].map { |part| CGI.escape(part.to_s) } path = "/#{PATH}/#{parts.join('-')}.#{EXTENSION}" return URI::HTTPS.build(host: HOST, path: path, query: "style=#{STYLE}") end
generate()
click to toggle source
# File lib/simplecov-formatter-shield/generators/shields_io.rb, line 19 def generate return @image ||= begin generate! end end
Private Instance Methods
generate!()
click to toggle source
# File lib/simplecov-formatter-shield/generators/shields_io.rb, line 25 def generate! uri = build_uri response = Net::HTTP.get_response(uri) raise(Generators::Error, "Could not fetch image at #{uri} => #{response.msg} (#{response.code})") unless (200..399).cover?(response.code.to_i) return response.body end