twat 0.6.3 → 0.9.2
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.
- data/.rvmrc +1 -1
- data/.travis.yml +6 -0
- data/Gemfile +1 -4
- data/Gemfile.lock +43 -23
- data/Gemfile.travis +12 -0
- data/Rakefile +9 -0
- data/TODO +4 -1
- data/lib/twat.rb +30 -26
- data/lib/twat/argparse.rb +36 -79
- data/lib/twat/config.rb +22 -34
- data/lib/twat/endpoint.rb +11 -5
- data/lib/twat/endpoints/base.rb +39 -0
- data/lib/twat/endpoints/identica.rb +5 -1
- data/lib/twat/endpoints/twitter.rb +5 -1
- data/lib/twat/exceptions.rb +93 -46
- data/lib/twat/follow_mixin.rb +134 -0
- data/lib/twat/options.rb +28 -12
- data/lib/twat/subcommand.rb +34 -0
- data/lib/twat/subcommands/add.rb +17 -0
- data/lib/twat/subcommands/base.rb +122 -0
- data/lib/twat/subcommands/config.rb +15 -0
- data/lib/twat/subcommands/delete.rb +24 -0
- data/lib/twat/subcommands/finger.rb +23 -0
- data/lib/twat/subcommands/follow.rb +18 -0
- data/lib/twat/subcommands/follow_tag.rb +19 -0
- data/lib/twat/subcommands/list.rb +17 -0
- data/lib/twat/subcommands/mentions.rb +20 -0
- data/lib/twat/subcommands/set.rb +19 -0
- data/lib/twat/subcommands/track.rb +33 -0
- data/lib/twat/subcommands/update.rb +21 -0
- data/lib/twat/subcommands/update_config.rb +16 -0
- data/lib/twat/subcommands/version.rb +14 -0
- data/lib/twat/twatopt.rb +0 -0
- data/lib/twat/tweetstack.rb +38 -0
- data/lib/twat/version.rb +7 -0
- data/man/twat.1 +8 -5
- data/spec/argparse_spec.rb +48 -0
- data/spec/helpers/environment.rb +47 -0
- data/spec/helpers/fileutils.rb +18 -0
- data/spec/helpers/fixtures/core.rb +30 -0
- data/spec/helpers/fixtures/migrations.rb +13 -0
- data/spec/helpers/oauth.rb +15 -0
- data/spec/spec_helper.rb +13 -0
- data/spec/subcommands/add_spec.rb +61 -0
- data/spec/subcommands/config_spec.rb +13 -0
- data/spec/subcommands/delete_spec.rb +12 -0
- data/spec/subcommands/finger_spec.rb +41 -0
- data/spec/subcommands/follow_spec.rb +12 -0
- data/spec/subcommands/follow_tag_spec.rb +52 -0
- data/spec/subcommands/list_spec.rb +8 -0
- data/spec/subcommands/mentions_spec.rb +24 -0
- data/spec/subcommands/set_spec.rb +126 -0
- data/spec/subcommands/track_spec.rb +23 -0
- data/spec/subcommands/update_config_spec.rb +23 -0
- data/spec/subcommands/update_spec.rb +12 -0
- data/spec/subcommands/version_spec.rb +12 -0
- data/spec/twat_cli_spec.rb +102 -0
- data/spec/twat_spec.rb +12 -0
- data/twat.gemspec +6 -2
- metadata +135 -22
- data/lib/twat/actions.rb +0 -85
- data/lib/twat/actions/add.rb +0 -36
- data/lib/twat/actions/delete.rb +0 -14
- data/lib/twat/actions/follow.rb +0 -148
- data/lib/twat/actions/follow_user.rb +0 -11
- data/lib/twat/actions/setoption.rb +0 -14
- data/lib/twat/actions/show.rb +0 -12
- data/lib/twat/actions/tweet.rb +0 -14
- data/lib/twat/actions/updateconfig.rb +0 -9
- data/lib/twat/actions/user_feed.rb +0 -17
- data/lib/twat/actions/version.rb +0 -9
@@ -0,0 +1,126 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe Twat do
|
4
|
+
|
5
|
+
|
6
|
+
it "Should bail if set is called without an argument" do #{{{
|
7
|
+
set_argv ["set"]
|
8
|
+
STDOUT.expects(:puts).with(Twat::Subcommands::Set.usage)
|
9
|
+
|
10
|
+
lambda { Twat::Twat.new.cli_run }.should raise_error SystemExit
|
11
|
+
end #}}}
|
12
|
+
|
13
|
+
it "Should bail if set is called with only one argument" do #{{{
|
14
|
+
set_argv ["set", "key"]
|
15
|
+
STDOUT.expects(:puts).with(Twat::Subcommands::Set.usage)
|
16
|
+
|
17
|
+
lambda { Twat::Twat.new.cli_run }.should raise_error SystemExit
|
18
|
+
end #}}}
|
19
|
+
|
20
|
+
it "Should bail if set is called with more than two arguments" do #{{{
|
21
|
+
set_argv ["set", "key", "value", "junk"]
|
22
|
+
STDOUT.expects(:puts).with(Twat::Subcommands::Set.usage)
|
23
|
+
|
24
|
+
lambda { Twat::Twat.new.cli_run }.should raise_error SystemExit
|
25
|
+
end #}}}
|
26
|
+
|
27
|
+
it "Should bail on valid invocations with no config" do #{{{
|
28
|
+
with_no_config do
|
29
|
+
set_argv ["set", "beep", "rawk"]
|
30
|
+
|
31
|
+
STDOUT.expects(:puts).with(Twat::Exceptions::NoConfigFile.new.msg)
|
32
|
+
|
33
|
+
Twat::Twat.new.cli_run
|
34
|
+
end
|
35
|
+
end #}}}
|
36
|
+
|
37
|
+
it "Should bail when bool options are tried with bogus values" do #{{{
|
38
|
+
with_config(Fixtures::valid_config) do
|
39
|
+
set_argv ["set", "beep", "rawk"]
|
40
|
+
STDOUT.expects(:puts).with(Twat::Exceptions::InvalidBool.new.msg)
|
41
|
+
|
42
|
+
Twat::Twat.new.cli_run
|
43
|
+
end
|
44
|
+
end #}}}
|
45
|
+
|
46
|
+
it "Should bail if a nonexistant account is set as default" do #{{{
|
47
|
+
with_config(Fixtures::valid_config) do
|
48
|
+
set_argv ["set", "default", "rawk"]
|
49
|
+
STDOUT.expects(:puts).with(Twat::Exceptions::NoSuchAccount.new.msg)
|
50
|
+
|
51
|
+
Twat::Twat.new.cli_run
|
52
|
+
end
|
53
|
+
end #}}}
|
54
|
+
|
55
|
+
it "Should set valid accounts as default" do #{{{
|
56
|
+
with_config(Fixtures::valid_config) do
|
57
|
+
set_argv ["set", "default", "rich0H"]
|
58
|
+
STDOUT.expects(:puts).with("Successfully set default as rich0H")
|
59
|
+
|
60
|
+
Twat::Twat.new.cli_run
|
61
|
+
YAML.load_file(ENV['TWAT_CONFIG'])[:default].should == :rich0H
|
62
|
+
end
|
63
|
+
end #}}}
|
64
|
+
|
65
|
+
it "Should set a given option as show_mentions" do #{{{
|
66
|
+
with_config(Fixtures::valid_config) do
|
67
|
+
set_argv ["set", "show_mentions", "true"]
|
68
|
+
STDOUT.expects(:puts).with("Successfully set show_mentions as true")
|
69
|
+
|
70
|
+
Twat::Twat.new.cli_run
|
71
|
+
YAML.load_file(ENV['TWAT_CONFIG'])[:show_mentions].should == true
|
72
|
+
end
|
73
|
+
end #}}}
|
74
|
+
|
75
|
+
it "Should bail if non ints are given as polling intervals" do #{{{
|
76
|
+
with_config(Fixtures::valid_config) do
|
77
|
+
set_argv ["set", "polling_interval", "rawk"]
|
78
|
+
STDOUT.expects(:puts).with(Twat::Exceptions::InvalidInt.new.msg)
|
79
|
+
|
80
|
+
Twat::Twat.new.cli_run
|
81
|
+
end
|
82
|
+
end #}}}
|
83
|
+
|
84
|
+
it "Should set polling interval on valid settings" do #{{{
|
85
|
+
with_config(Fixtures::valid_config) do
|
86
|
+
set_argv ["set", "polling_interval", "75"]
|
87
|
+
STDOUT.expects(:puts).with("Successfully set polling_interval as 75")
|
88
|
+
|
89
|
+
Twat::Twat.new.cli_run
|
90
|
+
YAML.load_file(ENV['TWAT_CONFIG'])[:polling_interval].should == 75
|
91
|
+
end
|
92
|
+
end #}}}
|
93
|
+
|
94
|
+
Twat::Options::BOOL_TRUE.each do |v|
|
95
|
+
it "Should allow bool values to be set to #{v} and be considered true" do #{{{
|
96
|
+
|
97
|
+
with_config(Fixtures::valid_config) do
|
98
|
+
# TODO Build this message automagically
|
99
|
+
STDOUT.expects(:puts).with("Successfully set beep as #{v}")
|
100
|
+
|
101
|
+
set_argv ["set", "beep", v]
|
102
|
+
Twat::Twat.new.cli_run
|
103
|
+
|
104
|
+
YAML.load_file(ENV['TWAT_CONFIG'])[:beep].should === true
|
105
|
+
end
|
106
|
+
|
107
|
+
end
|
108
|
+
end #}}}
|
109
|
+
|
110
|
+
Twat::Options::BOOL_FALSE.each do |v|
|
111
|
+
it "Should allow bool values to be set to #{v} and be considered true" do #{{{
|
112
|
+
|
113
|
+
with_config(Fixtures::valid_config) do
|
114
|
+
# TODO Build this message automagically
|
115
|
+
STDOUT.expects(:puts).with("Successfully set beep as #{v}")
|
116
|
+
|
117
|
+
set_argv ["set", "beep", v]
|
118
|
+
Twat::Twat.new.cli_run
|
119
|
+
|
120
|
+
YAML.load_file(ENV['TWAT_CONFIG'])[:beep].should === false
|
121
|
+
end
|
122
|
+
|
123
|
+
end
|
124
|
+
end #}}}
|
125
|
+
|
126
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe Twat do
|
4
|
+
it "should work when called without config" do
|
5
|
+
set_argv ["track", "rich0H"]
|
6
|
+
Twat::Subcommands::Track.any_instance.expects(:untested).returns(false).at_least_once
|
7
|
+
Twitter.expects(:user_timeline).with("rich0H", {:count => 5})
|
8
|
+
|
9
|
+
Twat::Twat.new.cli_run
|
10
|
+
end
|
11
|
+
|
12
|
+
it "Should respect config when called with" do
|
13
|
+
with_config(Fixtures::multiuser_config) do
|
14
|
+
set_argv ["track", "rich0H"]
|
15
|
+
|
16
|
+
Twat::Subcommands::Track.any_instance.expects(:untested).returns(false).at_least_once
|
17
|
+
Twitter.expects(:user_timeline).with("rich0H", {:count => 5})
|
18
|
+
|
19
|
+
Twat::Twat.new.cli_run
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe Twat do
|
4
|
+
|
5
|
+
it "Should bail if called without a config file" do #{{{
|
6
|
+
with_no_config do
|
7
|
+
set_argv ["update_config"]
|
8
|
+
STDOUT.expects(:puts).with(Twat::Exceptions::NoConfigFile.new.msg)
|
9
|
+
|
10
|
+
Twat::Twat.new.cli_run
|
11
|
+
end
|
12
|
+
end #}}}
|
13
|
+
|
14
|
+
it "Should migrate a pre-v1 config to v1" do #{{{
|
15
|
+
with_config(Fixtures::Migrations::pre_v1) do
|
16
|
+
STDOUT.expects(:puts).with("Successfully ran migrations: 1")
|
17
|
+
set_argv ["update_config"]
|
18
|
+
Twat::Twat.new.cli_run
|
19
|
+
|
20
|
+
YAML.load_file(ENV['TWAT_CONFIG']).should == { accounts: Fixtures::Migrations::pre_v1 }
|
21
|
+
end
|
22
|
+
end #}}}
|
23
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe Twat do
|
4
|
+
|
5
|
+
it "Should bail if update is called without an argument" do #{{{
|
6
|
+
set_argv ["update"]
|
7
|
+
STDOUT.expects(:puts).with(Twat::Subcommands::Update.usage)
|
8
|
+
|
9
|
+
lambda { Twat::Twat.new.cli_run }.should raise_error SystemExit
|
10
|
+
end #}}}
|
11
|
+
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe Twat do
|
4
|
+
|
5
|
+
it "Should bail if add is called without an argument" do #{{{
|
6
|
+
set_argv ["add"]
|
7
|
+
STDOUT.expects(:puts).with(Twat::Subcommands::Add.usage)
|
8
|
+
|
9
|
+
lambda { Twat::Twat.new.cli_run }.should raise_error SystemExit
|
10
|
+
end #}}}
|
11
|
+
|
12
|
+
end
|
@@ -0,0 +1,102 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
describe Twat do
|
4
|
+
#{{{
|
5
|
+
# before(:each) do
|
6
|
+
# end
|
7
|
+
|
8
|
+
# after(:each) do
|
9
|
+
# end
|
10
|
+
#}}}
|
11
|
+
|
12
|
+
it "Should call follow tag by default" do #{{{
|
13
|
+
Twat::Subcommands::FollowTag.any_instance.expects(:run).returns(nil)
|
14
|
+
|
15
|
+
set_argv []
|
16
|
+
Twat::Twat.new.cli_run
|
17
|
+
end #}}}
|
18
|
+
|
19
|
+
it "Should call follow when invoked with follow" do #{{{
|
20
|
+
Twat::Subcommands::Follow.any_instance.expects(:run).returns(nil)
|
21
|
+
|
22
|
+
set_argv ["follow"]
|
23
|
+
Twat::Twat.new.cli_run
|
24
|
+
end #}}}
|
25
|
+
|
26
|
+
it "Should call add when invoked with add" do #{{{
|
27
|
+
Twat::Subcommands::Add.any_instance.expects(:run).returns(nil)
|
28
|
+
|
29
|
+
set_argv ["add"]
|
30
|
+
Twat::Twat.new.cli_run
|
31
|
+
end #}}}
|
32
|
+
|
33
|
+
it "Should call config when invoked with config" do #{{{
|
34
|
+
Twat::Subcommands::Config.any_instance.expects(:run).returns(nil)
|
35
|
+
|
36
|
+
set_argv ["config"]
|
37
|
+
Twat::Twat.new.cli_run
|
38
|
+
end #}}}
|
39
|
+
|
40
|
+
it "Should call delete when invoked with delete" do #{{{
|
41
|
+
Twat::Subcommands::Delete.any_instance.expects(:run).returns(nil)
|
42
|
+
|
43
|
+
set_argv ["delete"]
|
44
|
+
Twat::Twat.new.cli_run
|
45
|
+
end #}}}
|
46
|
+
|
47
|
+
it "Should call finger when invoked with finger" do #{{{
|
48
|
+
Twat::Subcommands::Finger.any_instance.expects(:run).returns(nil)
|
49
|
+
|
50
|
+
set_argv ["finger"]
|
51
|
+
Twat::Twat.new.cli_run
|
52
|
+
end #}}}
|
53
|
+
|
54
|
+
it "Should call follow_tag when invoked with follow_tag" do #{{{
|
55
|
+
Twat::Subcommands::FollowTag.any_instance.expects(:run).returns(nil)
|
56
|
+
|
57
|
+
set_argv ["follow_tag"]
|
58
|
+
Twat::Twat.new.cli_run
|
59
|
+
end #}}}
|
60
|
+
|
61
|
+
it "Should call list when invoked with list" do #{{{
|
62
|
+
Twat::Subcommands::List.any_instance.expects(:run).returns(nil)
|
63
|
+
|
64
|
+
set_argv ["list"]
|
65
|
+
Twat::Twat.new.cli_run
|
66
|
+
end #}}}
|
67
|
+
|
68
|
+
it "Should call set when invoked with set" do #{{{
|
69
|
+
Twat::Subcommands::Set.any_instance.expects(:run).returns(nil)
|
70
|
+
|
71
|
+
set_argv ["set"]
|
72
|
+
Twat::Twat.new.cli_run
|
73
|
+
end #}}}
|
74
|
+
|
75
|
+
it "Should call update when invoked with update" do #{{{
|
76
|
+
Twat::Subcommands::Update.any_instance.expects(:run).returns(nil)
|
77
|
+
|
78
|
+
set_argv ["update"]
|
79
|
+
Twat::Twat.new.cli_run
|
80
|
+
end #}}}
|
81
|
+
|
82
|
+
it "Should call update_config when invoked with update_config" do #{{{
|
83
|
+
Twat::Subcommands::UpdateConfig.any_instance.expects(:run).returns(nil)
|
84
|
+
|
85
|
+
set_argv ["update_config"]
|
86
|
+
Twat::Twat.new.cli_run
|
87
|
+
end #}}}
|
88
|
+
|
89
|
+
it "Should call version when invoked with version" do #{{{
|
90
|
+
Twat::Subcommands::Version.any_instance.expects(:run).returns(nil)
|
91
|
+
|
92
|
+
set_argv ["version"]
|
93
|
+
Twat::Twat.new.cli_run
|
94
|
+
end #}}}
|
95
|
+
|
96
|
+
it "Should call update when no other command matches" do #{{{
|
97
|
+
Twat::Subcommands::Update.any_instance.expects(:run).returns(nil)
|
98
|
+
|
99
|
+
set_argv ["this"]
|
100
|
+
Twat::Twat.new.cli_run
|
101
|
+
end #}}}
|
102
|
+
end
|
data/spec/twat_spec.rb
ADDED
data/twat.gemspec
CHANGED
@@ -7,13 +7,17 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.version = Twat::VERSION
|
8
8
|
s.authors = ["Rich Healey"]
|
9
9
|
s.email = ["richo@psych0tik.net"]
|
10
|
-
s.homepage = "http://github.com/
|
10
|
+
s.homepage = "http://github.com/richo/twat"
|
11
11
|
s.summary = "Command line tool for tweeting and whatnot"
|
12
12
|
s.description = s.summary
|
13
13
|
|
14
14
|
s.add_dependency "twitter"
|
15
15
|
s.add_dependency "oauth"
|
16
|
-
s.add_dependency "readline-ng", ">= 0.0.
|
16
|
+
s.add_dependency "readline-ng", ">= 0.0.8"
|
17
|
+
s.add_development_dependency "rake"
|
18
|
+
s.add_development_dependency "mocha"
|
19
|
+
s.add_development_dependency "rspec"
|
20
|
+
s.add_development_dependency "mktemp"
|
17
21
|
|
18
22
|
s.files = `git ls-files`.split("\n")
|
19
23
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: twat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-05-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: twitter
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: oauth
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,18 +37,92 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: readline-ng
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
42
52
|
- !ruby/object:Gem::Version
|
43
|
-
version: 0.0.
|
53
|
+
version: 0.0.8
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.0.8
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rake
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: mocha
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: rspec
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: mktemp
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
47
126
|
description: Command line tool for tweeting and whatnot
|
48
127
|
email:
|
49
128
|
- richo@psych0tik.net
|
@@ -54,35 +133,69 @@ extra_rdoc_files: []
|
|
54
133
|
files:
|
55
134
|
- .gitignore
|
56
135
|
- .rvmrc
|
136
|
+
- .travis.yml
|
57
137
|
- Gemfile
|
58
138
|
- Gemfile.lock
|
139
|
+
- Gemfile.travis
|
59
140
|
- README
|
141
|
+
- Rakefile
|
60
142
|
- TODO
|
61
143
|
- bin/twat
|
62
144
|
- lib/twat.rb
|
63
|
-
- lib/twat/actions.rb
|
64
|
-
- lib/twat/actions/add.rb
|
65
|
-
- lib/twat/actions/delete.rb
|
66
|
-
- lib/twat/actions/follow.rb
|
67
|
-
- lib/twat/actions/follow_user.rb
|
68
|
-
- lib/twat/actions/setoption.rb
|
69
|
-
- lib/twat/actions/show.rb
|
70
|
-
- lib/twat/actions/tweet.rb
|
71
|
-
- lib/twat/actions/updateconfig.rb
|
72
|
-
- lib/twat/actions/user_feed.rb
|
73
|
-
- lib/twat/actions/version.rb
|
74
145
|
- lib/twat/argparse.rb
|
75
146
|
- lib/twat/config.rb
|
76
147
|
- lib/twat/endpoint.rb
|
148
|
+
- lib/twat/endpoints/base.rb
|
77
149
|
- lib/twat/endpoints/identica.rb
|
78
150
|
- lib/twat/endpoints/twitter.rb
|
79
151
|
- lib/twat/exceptions.rb
|
152
|
+
- lib/twat/follow_mixin.rb
|
80
153
|
- lib/twat/migration.rb
|
81
154
|
- lib/twat/options.rb
|
155
|
+
- lib/twat/subcommand.rb
|
156
|
+
- lib/twat/subcommands/add.rb
|
157
|
+
- lib/twat/subcommands/base.rb
|
158
|
+
- lib/twat/subcommands/config.rb
|
159
|
+
- lib/twat/subcommands/delete.rb
|
160
|
+
- lib/twat/subcommands/finger.rb
|
161
|
+
- lib/twat/subcommands/follow.rb
|
162
|
+
- lib/twat/subcommands/follow_tag.rb
|
163
|
+
- lib/twat/subcommands/list.rb
|
164
|
+
- lib/twat/subcommands/mentions.rb
|
165
|
+
- lib/twat/subcommands/set.rb
|
166
|
+
- lib/twat/subcommands/track.rb
|
167
|
+
- lib/twat/subcommands/update.rb
|
168
|
+
- lib/twat/subcommands/update_config.rb
|
169
|
+
- lib/twat/subcommands/version.rb
|
170
|
+
- lib/twat/twatopt.rb
|
171
|
+
- lib/twat/tweetstack.rb
|
172
|
+
- lib/twat/version.rb
|
82
173
|
- man/twat.1
|
174
|
+
- spec/argparse_spec.rb
|
175
|
+
- spec/helpers/environment.rb
|
176
|
+
- spec/helpers/fileutils.rb
|
177
|
+
- spec/helpers/fixtures/core.rb
|
178
|
+
- spec/helpers/fixtures/migrations.rb
|
179
|
+
- spec/helpers/oauth.rb
|
180
|
+
- spec/spec_helper.rb
|
181
|
+
- spec/subcommands/add_spec.rb
|
182
|
+
- spec/subcommands/config_spec.rb
|
183
|
+
- spec/subcommands/delete_spec.rb
|
184
|
+
- spec/subcommands/finger_spec.rb
|
185
|
+
- spec/subcommands/follow_spec.rb
|
186
|
+
- spec/subcommands/follow_tag_spec.rb
|
187
|
+
- spec/subcommands/list_spec.rb
|
188
|
+
- spec/subcommands/mentions_spec.rb
|
189
|
+
- spec/subcommands/set_spec.rb
|
190
|
+
- spec/subcommands/track_spec.rb
|
191
|
+
- spec/subcommands/update_config_spec.rb
|
192
|
+
- spec/subcommands/update_spec.rb
|
193
|
+
- spec/subcommands/version_spec.rb
|
194
|
+
- spec/twat_cli_spec.rb
|
195
|
+
- spec/twat_spec.rb
|
83
196
|
- twat
|
84
197
|
- twat.gemspec
|
85
|
-
homepage: http://github.com/
|
198
|
+
homepage: http://github.com/richo/twat
|
86
199
|
licenses: []
|
87
200
|
post_install_message:
|
88
201
|
rdoc_options: []
|
@@ -102,7 +215,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
215
|
version: '0'
|
103
216
|
requirements: []
|
104
217
|
rubyforge_project:
|
105
|
-
rubygems_version: 1.8.
|
218
|
+
rubygems_version: 1.8.24
|
106
219
|
signing_key:
|
107
220
|
specification_version: 3
|
108
221
|
summary: Command line tool for tweeting and whatnot
|