From b25ebfe67b0e5448e9625e7a5c469ab41a4b7059 Mon Sep 17 00:00:00 2001
From: Stan Hu <stanhu@gmail.com>
Date: Fri, 11 Nov 2016 16:08:03 -0800
Subject: Lazily load Bitbucket connection

---
 lib/bitbucket/connection.rb | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

(limited to 'lib/bitbucket')

diff --git a/lib/bitbucket/connection.rb b/lib/bitbucket/connection.rb
index 00f127f9507..e9cbf36a44b 100644
--- a/lib/bitbucket/connection.rb
+++ b/lib/bitbucket/connection.rb
@@ -13,13 +13,18 @@ module Bitbucket
       @expires_at    = options.fetch(:expires_at)
       @expires_in    = options.fetch(:expires_in)
       @refresh_token = options.fetch(:refresh_token)
+    end
 
-      @client     = OAuth2::Client.new(provider.app_id, provider.app_secret, options)
-      @connection = OAuth2::AccessToken.new(@client, @token, refresh_token: @refresh_token, expires_at: @expires_at, expires_in: @expires_in)
+    def client
+      @client ||= OAuth2::Client.new(provider.app_id, provider.app_secret, options)
+    end
+
+    def connection
+      @connection ||= OAuth2::AccessToken.new(client, @token, refresh_token: @refresh_token, expires_at: @expires_at, expires_in: @expires_in)
     end
 
     def query(params = {})
-      @query.update(params)
+      @query.merge!(params)
     end
 
     def get(path, query = {})
@@ -46,7 +51,7 @@ module Bitbucket
 
     private
 
-    attr_reader :connection, :expires_at, :expires_in, :refresh_token, :token
+    attr_reader :expires_at, :expires_in, :refresh_token, :token
 
     def build_url(path)
       return path if path.starts_with?(root_url)
-- 
cgit v1.2.1