Skip to content

Commit 047dada

Browse files
author
julianfoo
committed
Figure out how to create new connection in response module
1 parent 3de2572 commit 047dada

3 files changed

Lines changed: 16 additions & 12 deletions

File tree

lib/tweetkit/client.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
require 'tweetkit/configurable'
2-
require 'tweetkit/connection'
2+
require 'tweetkit/default'
3+
require 'tweetkit/response'
34
require 'tweetkit/client/tweets'
45

56
module Tweetkit
67
class Client
7-
include Tweetkit::Connection
8+
include Tweetkit::Response
89
include Tweetkit::Client::Tweets
910

1011
attr_accessor :access_token, :access_token_secret, :bearer_token, :consumer_key, :consumer_secret, :email, :password

lib/tweetkit/connection.rb

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
require 'faraday'
22
require 'faraday_middleware'
33
require 'tweetkit/auth'
4-
require 'tweetkit/default'
5-
require 'tweetkit/response'
64

75
module Tweetkit
86
module Connection
97
include Tweetkit::Auth
10-
include Tweetkit::Response
118

12-
attr_accessor :saved_params, :saved_url
9+
attr_accessor :previous_query, :previous_url
1310

1411
BASE_URL = 'https://api.twitter.com/2/'
1512

@@ -19,8 +16,9 @@ def get(endpoint, **options)
1916

2017
def request(method, endpoint, data, **options)
2118
auth_type = options.delete(:auth_type)
22-
@saved_url = URI.parse("#{BASE_URL}#{endpoint}")
23-
@saved_params = data
19+
url = URI.parse("#{BASE_URL}#{endpoint}")
20+
@previous_url = url
21+
@previous_query = data
2422

2523
if method == :get
2624
conn = Faraday.new(params: data) do |c|
@@ -30,14 +28,14 @@ def request(method, endpoint, data, **options)
3028
c.authorization :Bearer, @bearer_token
3129
end
3230
end
33-
response = conn.get(saved_url)
31+
response = conn.get(url)
3432
else
3533
conn = Faraday.new do |f|
3634
end
3735
response = conn.post(url)
3836
end
3937
conn.close
40-
Tweetkit::Response::Tweets.new(response)
38+
Tweetkit::Response::Tweets.new response, twitter_request: { previous_url: @previous_url, previous_query: @previous_query }
4139
rescue StandardError => e
4240
raise e
4341
end

lib/tweetkit/response.rb

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,23 @@
11
require 'json'
22
require 'pry'
3+
require 'tweetkit/connection'
34

45
module Tweetkit
56
module Response
7+
include Tweetkit::Connection
8+
69
class Tweets
710
include Enumerable
811

9-
attr_accessor :meta, :original_response, :resources, :tweets
12+
attr_accessor :meta, :original_response, :resources, :tweets, :twitter_request
1013

11-
def initialize(response)
14+
def initialize(response, **options)
1215
@original_response = response.body
1316
response = JSON.parse(@original_response)
1417
@tweets = response['data'] ? response['data'].collect { |tweet| Tweetkit::Response::Tweets::Tweet.new(tweet) } : []
1518
@meta = Tweetkit::Response::Tweets::Meta.new(response['meta'])
1619
@resources = response['includes']
20+
@twitter_request = options[:twitter_request]
1721
end
1822

1923
def each(*args, &block)
@@ -25,6 +29,7 @@ def last
2529
end
2630

2731
def next
32+
binding.pry
2833
end
2934

3035
def prev

0 commit comments

Comments
 (0)