twat 0.9.2 → 0.9.3

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.
@@ -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
-