ttt-client 0.1.0 → 0.2.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 +4 -4
- data/README.md +20 -4
- data/lib/ttt.rb +48 -15
- data/lib/ttt/version.rb +2 -2
- data/ttt.gemspec +0 -1
- metadata +1 -16
- data/lib/ttt/extra.rb +0 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 85d61e2150cf0180526c80bd5b4963b0f6597b86
|
4
|
+
data.tar.gz: 011de8143003d66cecaa338311d5059f67509dec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 06c51ad9cee1fe7e924714f8af3678cfc5d476ca1269b42cae2eefedcdce625105834369228cfeab78eaec08ad9fe3b6c9150321cefbbe67d387f405dc21253d
|
7
|
+
data.tar.gz: 13b5acf707fa65548b877424aa43b0674d4557b23a39dada6dfe4e7946fd9b03b1f14cbbcdd3845854eb917ba8314d9c167dc984e5de547f0aa95f7e75f8b522
|
data/README.md
CHANGED
@@ -1,10 +1,15 @@
|
|
1
1
|
tech teen twitter CLI
|
2
2
|
======================
|
3
3
|
|
4
|
+
[](https://gemnasium.com/probablyjosh/ttt)
|
5
|
+
[](https://rubygems.org/gems/ttt-client)
|
6
|
+
[](http://probablyjosh.mit-license.org)
|
7
|
+
|
8
|
+
|
4
9
|
a Twitter CLI for the future steve jobs'.
|
5
10
|
|
6
11
|
usage
|
7
|
-
|
12
|
+
-----
|
8
13
|
|
9
14
|
```bash
|
10
15
|
gem install ttt-client
|
@@ -14,15 +19,26 @@ ttt [arguments]
|
|
14
19
|
rake isn't working with this project (at least to install gems) because i'm stupid
|
15
20
|
|
16
21
|
goal
|
17
|
-
|
22
|
+
----
|
18
23
|
|
19
24
|
make a CLI Twitter client that you can only interact with members of
|
20
25
|
teen tech twitter with
|
21
26
|
|
22
27
|
docs
|
23
|
-
|
28
|
+
----
|
29
|
+
|
30
|
+
### tweet
|
31
|
+
tweet text to a user
|
32
|
+
```bash
|
33
|
+
ttt tweet --user jfkingsley --body 'jon you tech teeeen'
|
34
|
+
```
|
35
|
+
|
36
|
+
### get members
|
37
|
+
see the members in teen tech twitter. these are the only users you can tweet to
|
24
38
|
|
25
|
-
|
39
|
+
```bash
|
40
|
+
ttt members
|
41
|
+
```
|
26
42
|
|
27
43
|
|
28
44
|
contribution
|
data/lib/ttt.rb
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
|
4
4
|
# Require gems
|
5
5
|
require 'twitter'
|
6
|
-
require 'colorize'
|
7
6
|
require 'json'
|
8
7
|
require 'commander/import'
|
9
8
|
require_relative 'ttt/version'
|
@@ -12,25 +11,26 @@ program :name, 'teen tech twitter client'
|
|
12
11
|
program :version, Ttt::Version::STRING
|
13
12
|
program :description, 'The official Twitter CLI for Tech Teen Twitter'
|
14
13
|
|
14
|
+
file = ENV['HOME'] + '/.ttt_keys.json'
|
15
|
+
if File.file? file
|
16
|
+
keys = JSON.parse(File.read(file))
|
17
|
+
client = Twitter::REST::Client.new do |config|
|
18
|
+
config.consumer_key = keys['consumer_key']
|
19
|
+
config.consumer_secret = keys['consumer_secret']
|
20
|
+
config.access_token = keys['access_token']
|
21
|
+
config.access_token_secret = keys['access_token_secret']
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
15
25
|
command :init do |c|
|
16
26
|
c.syntax = 'ttt init'
|
17
27
|
c.description = 'Initializes ~/.ttt_keys.json'
|
18
28
|
c.action do
|
19
|
-
keys = {}
|
20
|
-
print "Consumer key: "
|
21
|
-
keys[:consumer_key] = STDIN.gets.chomp
|
22
|
-
print "Consumer secret: "
|
23
|
-
keys[:consumer_secret] = STDIN.gets.chomp
|
24
|
-
print "Access Token: "
|
25
|
-
keys[:access_token] = STDIN.gets.chomp
|
26
|
-
print "Access Token Secret: "
|
27
|
-
keys[:access_token_secret] = STDIN.gets.chomp
|
28
|
-
|
29
29
|
tempHash = {
|
30
|
-
:consumer_key =>
|
31
|
-
:consumer_secret =>
|
32
|
-
:access_token =>
|
33
|
-
:access_token_secret =>
|
30
|
+
:consumer_key => ask("Consumer key: "),
|
31
|
+
:consumer_secret => ask("Consumer secret: "),
|
32
|
+
:access_token => ask("Access Token: "),
|
33
|
+
:access_token_secret => ask("Access Token Secret: ")
|
34
34
|
}
|
35
35
|
|
36
36
|
file = ENV['HOME'] + '/.ttt_keys.json'
|
@@ -38,3 +38,36 @@ command :init do |c|
|
|
38
38
|
puts "Keys written to #{file}"
|
39
39
|
end
|
40
40
|
end
|
41
|
+
|
42
|
+
command :members do |c|
|
43
|
+
c.syntax = 'ttt members'
|
44
|
+
c.description = 'Lists TTT\'s current members'
|
45
|
+
c.action do
|
46
|
+
client.lists.each do |list|
|
47
|
+
if list.name == "Teen Tech Twitter"
|
48
|
+
client.list_members(list).each {|user| puts user.screen_name }
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
command :tweet do |c|
|
55
|
+
c.syntax = 'ttt tweet'
|
56
|
+
c.description = 'Tweets to a specified user in the list'
|
57
|
+
c.option '--user STRING', String, 'The user you want to tweet to'
|
58
|
+
c.option '--body STRING', String, 'The body of the tweet'
|
59
|
+
c.action do |args, options|
|
60
|
+
client.lists.each do |list|
|
61
|
+
if list.name == "Teen Tech Twitter"
|
62
|
+
members = []
|
63
|
+
client.list_members(list).each { |user| members << user.screen_name }
|
64
|
+
if members.include? options.user
|
65
|
+
client.update('@' + options.user + ' ' + options.body)
|
66
|
+
puts "Success: #{options.user} is a tech teen"
|
67
|
+
else
|
68
|
+
puts "Error: #{options.user} is not a tech teen"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
data/lib/ttt/version.rb
CHANGED
data/ttt.gemspec
CHANGED
@@ -19,7 +19,6 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
21
|
spec.add_runtime_dependency 'twitter', '~> 5.14', '>= 5.14.0'
|
22
|
-
spec.add_runtime_dependency "colorize", "~> 0.7.5"
|
23
22
|
spec.add_runtime_dependency "commander", "~> 4.3.0", '>= 4.3.0'
|
24
23
|
|
25
24
|
spec.add_development_dependency "bundler", "~> 1.8"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ttt-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josh Trommel
|
@@ -30,20 +30,6 @@ dependencies:
|
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 5.14.0
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: colorize
|
35
|
-
requirement: !ruby/object:Gem::Requirement
|
36
|
-
requirements:
|
37
|
-
- - "~>"
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: 0.7.5
|
40
|
-
type: :runtime
|
41
|
-
prerelease: false
|
42
|
-
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
requirements:
|
44
|
-
- - "~>"
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: 0.7.5
|
47
33
|
- !ruby/object:Gem::Dependency
|
48
34
|
name: commander
|
49
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -107,7 +93,6 @@ files:
|
|
107
93
|
- Rakefile
|
108
94
|
- bin/ttt
|
109
95
|
- lib/ttt.rb
|
110
|
-
- lib/ttt/extra.rb
|
111
96
|
- lib/ttt/version.rb
|
112
97
|
- ttt.gemspec
|
113
98
|
homepage: https://github.com/probablyjosh/ttt
|
data/lib/ttt/extra.rb
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
# Read & parse JSON for keys
|
2
|
-
file = File.read ENV['HOME'] + '/.ttt_keys.json'
|
3
|
-
keys = JSON.parse file
|
4
|
-
|
5
|
-
client = Twitter::REST::Client.new do |config|
|
6
|
-
config.consumer_key = keys['consumer_key']
|
7
|
-
config.consumer_secret = keys['consumer_secret']
|
8
|
-
config.access_token = keys['access_token']
|
9
|
-
config.access_token_secret = keys['access_token_secret']
|
10
|
-
end
|
11
|
-
|
12
|
-
client.lists.each do |list|
|
13
|
-
if list.name == "Teen Tech Twitter"
|
14
|
-
|
15
|
-
# Header and description
|
16
|
-
puts list.name.colorize(:blue)
|
17
|
-
puts list.description.colorize(:green)
|
18
|
-
|
19
|
-
# Print list members
|
20
|
-
client.list_members(list).each do |user|
|
21
|
-
print '@' + user.screen_name + ' '
|
22
|
-
end
|
23
|
-
|
24
|
-
puts
|
25
|
-
|
26
|
-
end
|
27
|
-
end
|