Commit 074f391

mo <mo@mokhan.ca>
2018-10-13 16:01:51
collapse redirect method
1 parent 8edcfa6
Changed files (2)
app
spec
app/models/client.rb
@@ -53,11 +53,10 @@ class Client < ApplicationRecord
     end
   end
 
-  def redirect_uri_path(code: nil, state: nil)
-    result = redirect_uri
-    result = yield result if block_given?
-    result += '?code=' + code if code
-    result += "&state=#{state}" if state.present?
-    result
+  private
+
+  def redirect_uri_path(state: nil)
+    x = yield redirect_uri
+    state.present? ? "#{x}&state=#{state}" : x
   end
 end
spec/requests/oauth_spec.rb
@@ -61,7 +61,7 @@ RSpec.describe '/oauth' do
             post "/oauth"
           end
 
-          specify { expect(response).to redirect_to(client.redirect_uri_path(code: Authorization.last.code, state: state)) }
+          specify { expect(response).to redirect_to(client.redirect_uri_for(Authorization.last, 'code', state)) }
         end
 
         context "when the client requested a token" do