twat 0.9.2 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,4 @@
1
1
  language: ruby
2
- gemfile: Gemfile.travis
3
2
  rvm:
4
3
  # - 1.8.7
5
4
  - 1.9.2
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- twat (0.9.1)
4
+ twat (0.9.2)
5
5
  oauth
6
6
  readline-ng (>= 0.0.8)
7
7
  twitter
@@ -18,23 +18,23 @@ GEM
18
18
  i18n (0.6.0)
19
19
  metaclass (0.0.1)
20
20
  mktemp (0.0.1)
21
- mocha (0.11.3)
21
+ mocha (0.11.4)
22
22
  metaclass (~> 0.0.1)
23
- multi_json (1.3.2)
23
+ multi_json (1.3.5)
24
24
  multipart-post (1.1.5)
25
25
  oauth (0.4.6)
26
26
  rake (0.9.2.2)
27
- readline-ng (0.0.8)
28
- rspec (2.9.0)
29
- rspec-core (~> 2.9.0)
30
- rspec-expectations (~> 2.9.0)
31
- rspec-mocks (~> 2.9.0)
32
- rspec-core (2.9.0)
33
- rspec-expectations (2.9.1)
27
+ readline-ng (0.0.9)
28
+ rspec (2.10.0)
29
+ rspec-core (~> 2.10.0)
30
+ rspec-expectations (~> 2.10.0)
31
+ rspec-mocks (~> 2.10.0)
32
+ rspec-core (2.10.1)
33
+ rspec-expectations (2.10.0)
34
34
  diff-lcs (~> 1.1.3)
35
- rspec-mocks (2.9.0)
36
- simple_oauth (0.1.7)
37
- twitter (2.2.4)
35
+ rspec-mocks (2.10.1)
36
+ simple_oauth (0.1.8)
37
+ twitter (2.4.0)
38
38
  activesupport (>= 2.3.9, < 4)
39
39
  faraday (~> 0.8)
40
40
  multi_json (~> 1.3)
@@ -68,9 +68,10 @@ module FollowMixin
68
68
 
69
69
  def process_input(inp)
70
70
  case inp
71
- when /^[rR][tT] ([0-9]{1,2})/
71
+ when /^(?:retweet|rt) ([0-9]{1,2})/i
72
72
  begin
73
- retweet($1.to_i)
73
+ twt = get_tweet($1.to_i)
74
+ Twitter.retweet(twt.id)
74
75
  return true
75
76
  rescue ::Twat::Exceptions::NoSuchTweet
76
77
  return "#{inp.red} #{":: No such tweet".bold.red}"
@@ -105,11 +106,6 @@ module FollowMixin
105
106
  @tweetstack[idx]
106
107
  end
107
108
 
108
- # Wrapper methods from the tweetstack implementation
109
- def retweet(idx)
110
- Twitter.retweet(get_tweet(idx).id)
111
- end
112
-
113
109
  def fail_or_bail
114
110
  if @failcount > 2
115
111
  puts "3 consecutive failures, giving up"
@@ -1,7 +1,7 @@
1
1
  module Twat
2
2
  VERSION_MAJOR = 0
3
3
  VERSION_MINOR = 9
4
- VERSION_PATCH = 2
4
+ VERSION_PATCH = 3
5
5
 
6
6
  VERSION = "#{VERSION_MAJOR}.#{VERSION_MINOR}.#{VERSION_PATCH}"
7
7
  end
@@ -0,0 +1,19 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe FollowMixin do
4
+
5
+ it "Should not retweet users with numbers for usernames" do
6
+ # 58 seems to be a magic number
7
+ subcmd = Twat::Subcommands::FollowTag.new([])
8
+ def subcmd.tweetstack
9
+ @tweetstack ||= ::Twat::TweetStack.new
10
+ end
11
+
12
+ # We start tweetstack offsets at 1 for easy readability
13
+ (1..60).each { |n| subcmd.tweetstack << Twat::Mocks::Tweet.new(:id => n) }
14
+
15
+ Twitter.expects(:retweet).with(10058)
16
+ subcmd.send(:process_input, "rt 58")
17
+ end
18
+
19
+ end
@@ -1,14 +1,14 @@
1
1
  STUB_URL = "url"
2
2
  STUB_PIN = "1234"
3
3
  def mock_request_token
4
- t = mock()
4
+ t = ::Mocha::Mock.new(Object)
5
5
  t.expects(:authorize_url).returns(STUB_URL)
6
6
  t.expects(:get_access_token).with(oauth_verifier: STUB_PIN).returns(mock_access_token)
7
7
  return t
8
8
  end
9
9
 
10
10
  def mock_access_token
11
- t = mock()
11
+ t = ::Mocha::Mock.new(Object)
12
12
  t.expects(:token).returns("I'mtotallyatokenbrah")
13
13
  t.expects(:secret).returns("I'mtotallyasecretbrah")
14
14
  return t
@@ -0,0 +1,19 @@
1
+ module Twat::Mocks
2
+ class Tweet
3
+ def initialize(opts={})
4
+ @opts = opts
5
+ end
6
+
7
+ def id
8
+ @opts[:id]+10000
9
+ end
10
+
11
+ # def method_missing(sym, *args)
12
+ # if opts.include? sym
13
+ # opts[sym]
14
+ # else
15
+ # raise "#{sym}"
16
+ # end
17
+ # end
18
+ end
19
+ end
@@ -9,5 +9,5 @@ Dir["#{File.expand_path(File.dirname(__FILE__))}/helpers/**/*.rb"].each do |f|
9
9
  end
10
10
 
11
11
  RSpec.configure do |config|
12
- config.mock_with :mocha
12
+ config.mock_framework = :mocha
13
13
  end
@@ -13,7 +13,7 @@ describe Twat do
13
13
 
14
14
  it "Should retrieve a tweet for user if called with only a user" do #{{{
15
15
  with_config(Fixtures::multiuser_config) do
16
- tweet = mock()
16
+ tweet = Twat::Mocks::Tweet.new
17
17
  tweet.expects(:each).yields(tweet)
18
18
  Twitter.expects(:user_timeline).with("hanke", :count => 1).returns(tweet)
19
19
  Twat::Subcommands::Finger.any_instance.expects(:format).with(tweet)
@@ -27,7 +27,7 @@ describe Twat do
27
27
 
28
28
  it "Should retrieve n tweets for user if invoked with count" do #{{{
29
29
  with_config(Fixtures::multiuser_config) do
30
- tweet = mock()
30
+ tweet = Twat::Mocks::Tweet.new
31
31
  Twitter.expects(:user_timeline).with("hanke", :count => 3).returns([tweet, tweet, tweet])
32
32
  Twat::Subcommands::Finger.any_instance.expects(:format).with(tweet).times(3)
33
33
 
@@ -26,7 +26,7 @@ describe Twat do
26
26
 
27
27
  it "Should call search with the argument if called with one" do #{{{
28
28
  with_config(Fixtures::multiuser_config) do
29
- mock_opts = mock()
29
+ mock_opts = Mocha::Mock.new(Object)
30
30
  Twitter.expects(:search).with("#hackmelb", count: 5)
31
31
  Twat::Subcommands::FollowTag.any_instance.expects(:untested).returns(false).at_least_once
32
32
  set_argv ["follow_tag", "#hackmelb"]
@@ -38,7 +38,7 @@ describe Twat do
38
38
 
39
39
  it "Should cat together all commandline args" do #{{{
40
40
  with_config(Fixtures::multiuser_config) do
41
- mock_opts = mock()
41
+ mock_opts = Mocha::Mock.new(Object)
42
42
  Twitter.expects(:search).with("#hackmelb richo", count: 5)
43
43
  Twat::Subcommands::FollowTag.any_instance.expects(:untested).returns(false).at_least_once
44
44
  set_argv ["follow_tag", "#hackmelb", "richo"]
@@ -1,6 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  $:.push File.expand_path("../lib", __FILE__)
3
- require "twat"
3
+ require "twat/version"
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "twat"
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.9.2
4
+ version: 0.9.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-24 00:00:00.000000000 Z
12
+ date: 2012-06-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: twitter
@@ -136,7 +136,6 @@ files:
136
136
  - .travis.yml
137
137
  - Gemfile
138
138
  - Gemfile.lock
139
- - Gemfile.travis
140
139
  - README
141
140
  - Rakefile
142
141
  - TODO
@@ -172,11 +171,13 @@ files:
172
171
  - lib/twat/version.rb
173
172
  - man/twat.1
174
173
  - spec/argparse_spec.rb
174
+ - spec/follow_mixin_spec.rb
175
175
  - spec/helpers/environment.rb
176
176
  - spec/helpers/fileutils.rb
177
177
  - spec/helpers/fixtures/core.rb
178
178
  - spec/helpers/fixtures/migrations.rb
179
- - spec/helpers/oauth.rb
179
+ - spec/helpers/mocks/oauth.rb
180
+ - spec/helpers/mocks/tweet.rb
180
181
  - spec/spec_helper.rb
181
182
  - spec/subcommands/add_spec.rb
182
183
  - spec/subcommands/config_spec.rb
@@ -220,3 +221,4 @@ signing_key:
220
221
  specification_version: 3
221
222
  summary: Command line tool for tweeting and whatnot
222
223
  test_files: []
224
+ has_rdoc:
@@ -1,12 +0,0 @@
1
- source :rubygems
2
-
3
- gem "twitter"
4
- gem "oauth"
5
- gem "readline-ng", ">= 0.0.4"
6
- group :test do
7
- gem "rake"
8
- gem "mocha"
9
- gem "rspec"
10
- gem "mktemp"
11
- end
12
-