webmat-tweet 0.0.2 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/bin/tweet +12 -4
  2. data/lib/tweet.rb +15 -4
  3. metadata +6 -4
data/bin/tweet CHANGED
@@ -1,7 +1,15 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- abort("Usage: tweet 'command'") unless ARGV.length >= 1
3
+ THIS_FILE = File.symlink?(__FILE__) ? File.readlink(__FILE__) : __FILE__
4
+ require "#{File.dirname(THIS_FILE)}/../lib/tweet"
4
5
 
5
- require File.dirname(__FILE__)+'/../lib/tweet'
6
-
7
- Tweet.create_status(ARGV.join(' '))
6
+ case ARGV.first
7
+ when nil, "--help", "-h"
8
+ abort "Usage: tweet STATUS\nRequires a ~/.tweet YAML file with two keys: username and password."
9
+ when "-v", "--version"
10
+ puts Gem.loaded_specs["tweet"].version
11
+ when '-c', '--count'
12
+ Tweet.create_status(ARGV.join(' '), true)
13
+ else
14
+ Tweet.create_status(ARGV.join(' '))
15
+ end
@@ -9,19 +9,30 @@ module Tweet
9
9
  class << self
10
10
  attr_accessor :username, :password
11
11
 
12
- def create_status(status)
12
+ def create_status(status, just_count = false)
13
13
  len = status.length
14
+ if just_count
15
+ puts "Counting... #{len} chars"
16
+ exit 0
17
+ end
18
+
14
19
  abort "Message limit is 140 characters. You currently have #{len}" if len > 140
15
20
  get_credentials!
16
- resource = RestClient::Resource.new 'http://twitter.com/statuses/update.xml', username, password
17
- resource.post(:status => status, :source => 'tweetgem', :content_type => 'application/xml', :accept => 'application/xml')
21
+
22
+ if @debug
23
+ puts "Would have tweeted:", status
24
+ else
25
+ resource = RestClient::Resource.new 'http://twitter.com/statuses/update.xml', username, password
26
+ resource.post(:status => status, :source => 'tweetgem', :content_type => 'application/xml', :accept => 'application/xml')
27
+ end
18
28
  puts "#{len} chars" + (len == 140 ? "!\nYou rock!" : '.')
19
29
  end
20
30
 
21
31
  def get_credentials!
22
32
  abort "You must create a #{CONFIG_FILE} file to use this CLI." unless File.exist?(CONFIG_FILE)
23
33
  config = YAML.load(File.read(CONFIG_FILE)).symbolize_keys
24
- @username, @password = config[:username], config[:password]
34
+ @username, @password, @debug = config[:username], config[:password], config[:debug]
35
+ warn " debug mode (not really posting)" if @debug
25
36
  end
26
37
  end
27
38
  end
metadata CHANGED
@@ -1,20 +1,22 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webmat-tweet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Golick
8
8
  - Mathieu Martin
9
+ - Francois Beausoleil
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
13
 
13
- date: 2008-12-19 00:00:00 -08:00
14
+ date: 2009-02-20 00:00:00 -08:00
14
15
  default_executable:
15
16
  dependencies:
16
17
  - !ruby/object:Gem::Dependency
17
18
  name: technoweenie-rest-client
19
+ type: :runtime
18
20
  version_requirement:
19
21
  version_requirements: !ruby/object:Gem::Requirement
20
22
  requirements:
@@ -22,7 +24,7 @@ dependencies:
22
24
  - !ruby/object:Gem::Version
23
25
  version: "0"
24
26
  version:
25
- description: ""
27
+ description: Tweet from the command-line
26
28
  email: james@giraffesoft.ca
27
29
  executables:
28
30
  - tweet
@@ -37,7 +39,7 @@ files:
37
39
  - LICENSE
38
40
  - test/test_helper.rb
39
41
  has_rdoc: false
40
- homepage: http://twitter.com
42
+ homepage: http://twitter.com/
41
43
  post_install_message:
42
44
  rdoc_options: []
43
45