Sha256: 759743ae25521b937262a78d88d36356b83a6492dcb12541d1f287e172f04b98
Contents?: true
Size: 1.05 KB
Versions: 2
Compression:
Stored size: 1.05 KB
Contents
require "link_header" module RestApiSpecHelper extend ActiveSupport::Concern def link_for(rel) value = response.header["Link"] parsed = LinkHeader.parse(value) link = parsed.find_link(["rel", rel]) link && Rack::Utils.parse_query(URI.parse(link.href).query).symbolize_keys end included do let(:link) do LinkHeader.parse(response.header["Link"]) end let(:params) do {} end let(:header) do { "Accept" => "application/json" } end let(:env) do header.inject({}) do |table, (key, value)| table.merge("HTTP_#{key.upcase.gsub(?-, ?_)}" => value.to_s) end end let(:method) do example.full_description[/ (GET|POST|PUT|DELETE) /, 1].downcase end let(:path) do example.full_description[/ (?:GET|POST|PUT|DELETE) (.+?)(?: |$)/, 1].gsub(/:([^\s\/]+)/) { send($1) } end subject do body = params.presence body = params.to_json if body && env["CONTENT_TYPE"].try(:include?, "application/json") send(method, path, body, env) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
garage-doorkeeper-2.0.0 | spec/support/rest_api_spec_helper.rb |
garage-doorkeeper-1.0.0 | spec/support/rest_api_spec_helper.rb |