latest_tweets 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 23a0c0b73a838ddf67e570958bcb675692709a8d
4
+ data.tar.gz: f470264006518cd26cb4f97a7cf8a408697117b7
5
+ SHA512:
6
+ metadata.gz: e14e6ba68793c58054c391c24479f9d4f5ef13d04ac04d7627bc45748fb07ee7aa49d72c3450a99fe9132604605fc79c564c76cd86d7b9716c65c503f70ba8d6
7
+ data.tar.gz: 891a8e7aee72e2c20ac540c64b4877b1839edcf1b0cd3b1c018043e7e9aa1f526194d53f412e05cb68d7022e8d8095d23a4a7ea0d6cd858b37df3576a0f02190
@@ -0,0 +1,16 @@
1
+ module TwitterSetup
2
+ class << self
3
+ def config(config = config_from_environment_variables)
4
+ Twitter::REST::Client.new(config)
5
+ end
6
+
7
+ private def config_from_environment_variables
8
+ {
9
+ :consumer_key => ENV['TWITTER_CONSUMER_KEY'],
10
+ :consumer_secret => ENV['TWITTER_CONSUMER_SECRET'],
11
+ :access_token => ENV['TWITTER_ACCESS_TOKEN'],
12
+ :access_token_secret => ENV['TWITTER_ACCESS_TOKEN_SECRET']
13
+ }
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,30 @@
1
+ module LatestTweets
2
+ class TwitterTimeline
3
+ attr_accessor :options, :client
4
+
5
+ def initialize(options)
6
+ @client = config_twitter
7
+ @options = default_options.merge(options)
8
+ if (@options[:account] && @options[:query]) || (!@options[:account] && !@options[:query])
9
+ raise "You must supply :account OR :query"
10
+ end
11
+ end
12
+
13
+ def tweets
14
+ if options[:account]
15
+ client.user_timeline(options[:account], count: options[:count])
16
+ elsif options[:query]
17
+ client.search(options[:query], count: options[:count]).to_a
18
+ end
19
+ end
20
+
21
+ private
22
+ def default_options
23
+ {count: 3}
24
+ end
25
+
26
+ def config_twitter
27
+ @client = TwitterSetup.config
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,3 @@
1
+ module LatestTweets
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,14 @@
1
+ require 'twitter'
2
+ require 'latest_tweets/version'
3
+ require 'latest_tweets/twitter_setup'
4
+ require 'latest_tweets/twitter_timeline'
5
+
6
+ module LatestTweets
7
+ def self.from_account(account, count = 3)
8
+ LatestTweets::TwitterTimeline.new({account: account, count: count}).tweets
9
+ end
10
+
11
+ def self.from_query(query, count = 3)
12
+ LatestTweets::TwitterTimeline.new({query: query, count: count}).tweets
13
+ end
14
+ end
metadata ADDED
@@ -0,0 +1,106 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: latest_tweets
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Jamie Allen
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-04-23 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.5'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.5'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.1'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.14'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.14'
55
+ - !ruby/object:Gem::Dependency
56
+ name: twitter
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '5.7'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '5.7'
69
+ description: Simple twitter gem wrapper for grabbing the latest tweets from an account
70
+ or query.
71
+ email:
72
+ - jamie@factore.ca
73
+ executables: []
74
+ extensions: []
75
+ extra_rdoc_files: []
76
+ files:
77
+ - lib/latest_tweets.rb
78
+ - lib/latest_tweets/twitter_setup.rb
79
+ - lib/latest_tweets/twitter_timeline.rb
80
+ - lib/latest_tweets/version.rb
81
+ homepage: https://github.com/eimaj/latest_tweets
82
+ licenses:
83
+ - MIT
84
+ metadata: {}
85
+ post_install_message:
86
+ rdoc_options: []
87
+ require_paths:
88
+ - lib
89
+ required_ruby_version: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ required_rubygems_version: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ requirements: []
100
+ rubyforge_project:
101
+ rubygems_version: 2.2.2
102
+ signing_key:
103
+ specification_version: 4
104
+ summary: Simple twitter gem wrapper for grabbing the latest tweets from an account
105
+ or query.
106
+ test_files: []