travis-api/lib/travis/api/app/responders/image.rb
2014-03-19 14:31:38 +01:00

46 lines
889 B
Ruby

module Travis::Api::App::Responders
class Image < Base
def format
'png'
end
def set_headers
headers['Pragma'] = "no-cache"
headers['Expires'] = Time.now.utc.httpdate
headers['Content-Disposition'] = %(inline; filename="#{File.basename(filename)}")
end
def apply
set_headers
send_file(filename, type: :png, last_modified: last_modified)
end
def apply?
super && resource.is_a?(Repository)
end
private
def content_type
'image/png'
end
def filename
"#{root}/public/images/result/#{result}.png"
end
def result
Repository::StatusImage.new(resource, params[:branch]).result
end
def root
File.expand_path('.') # TODO wat.
end
def last_modified
resource ? resource.last_build_finished_at : nil
end
end
end