class FakeRest::ProfileLoader
Public Class Methods
upload_file(file_params)
click to toggle source
# File lib/fakerest/profileloader.rb, line 59 def self.upload_file(file_params) file_name =Time.now.strftime("%Y%m%d%H%M%S") + "_" + file_params[:filename] File.open("#{@@options[:uploads]}/" + file_name, "w") do |f| f.write(file_params[:tempfile].read) end [file_name, file_params[:type]] end
Public Instance Methods
configure_requests(request_mappings)
click to toggle source
# File lib/fakerest/profileloader.rb, line 42 def configure_requests(request_mappings) request_mappings.each do |request_mapping| block = Proc.new { request_file_path, request_file_type = ProfileLoader.upload_file(params['file']) if(params[:file] != nil) content_type request_mapping.content_type status request_mapping.status_code request_body = UserRequests.generate_request_body(params, request) UserRequests.add UserRequest.new(request.request_method, request.url, request_body, request_mapping.status_code, params, request_file_path, request_file_type) erb request_mapping.response_file.to_sym, params } Sinatra::Base.send request_mapping.method, request_mapping.path, &block end end
load(profile_file, options)
click to toggle source
# File lib/fakerest/profileloader.rb, line 20 def load(profile_file, options) @@options = options request_mappings = [] profile_file_path = profile_file defns = YAML::load_documents(File.open(profile_file_path)) defns.each do |doc| method = doc['method'] path = doc['path'] response = doc['response'] response_file = response['content_file'] content_type = response['content_type'] status_code = response['status_code'] request_mappings << RequestMapping.new(method, path, status_code, response_file, content_type) end configure_requests(request_mappings) end