class HttpMockServer
Main app class
Constants
- CORS_HEADERS
- METHODS
- MIME_JSON
Public Instance Methods
interpolate(input)
click to toggle source
# File lib/http-mock-server.rb, line 113 def interpolate(input) vars = input.to_s.scan(/\#{(.*?)}/).flatten.map { |t| eval(t) } input.to_s.gsub(/\#{(.*?)}/, '%s') % vars end
log(code, method, path)
click to toggle source
# File lib/http-mock-server.rb, line 98 def log(code, method, path) print "#{Time.now.strftime('%F %T')} - [#{code}] #{method} #{path}\n" return unless $config['config']['verbose'] if MIME_JSON.include? env['CONTENT_TYPE'] request.body.rewind data = JSON.parse request.body.read print " PARAMS_JSON: #{data}\n" unless data.empty? else pars = params.dup pars.delete 'captures' pars.delete 'splat' print " PARAMS_DATA: #{pars}\n" if pars.any? end end
reload_route(route_id)
click to toggle source
# File lib/http-mock-server.rb, line 118 def reload_route(route_id) config = YAML.safe_load File.read($config_file) || {} return config['not_found'] || {} if route_id < 0 return {} if !config['routes'] || !config['routes'][route_id] config['routes'][route_id] end
traverse!(node)
click to toggle source
# File lib/http-mock-server.rb, line 125 def traverse!(node) if node.is_a?(Hash) node.each do |k, v| traverse_node(node, k, v) end elsif node.is_a?(Array) node.each_with_index do |v, i| traverse_node(node, i, v) end end end
traverse_node(node, k, v)
click to toggle source
# File lib/http-mock-server.rb, line 137 def traverse_node(node, k, v) if v.is_a?(Hash) || v.is_a?(Array) traverse! v elsif v node[k] = interpolate v end end