kdaigle-roast 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 0
4
- :patch: 3
4
+ :patch: 4
data/bin/roast CHANGED
@@ -1,3 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "roast"
3
+ require "roast"
4
+
5
+ Roast::Main.run
data/lib/roast.rb CHANGED
@@ -1,65 +1,9 @@
1
1
  #!/usr/local/bin/ruby
2
2
 
3
3
  require 'rubygems'
4
- require 'tinder'
5
4
  require 'yaml'
5
+ require 'optparse'
6
+ require 'tinder'
6
7
 
7
- include Tinder
8
-
9
- msg = ARGV[0] || STDIN.read
10
-
11
- conf = YAML.load_file(ENV['HOME'] + '/roast.yml')['development']
12
-
13
- # puts "Available chats:"
14
- # @chats.keys.each_with_index do |key, index|
15
- # puts "(#{index}) #{key}"
16
- # end
17
-
18
- # chat_index = gets.strip.to_i || 0
19
-
20
- # conf = @chats.values[chat_index]
21
-
22
- # chat_name = @chats.keys[chat_index]
23
-
24
-
25
- puts "Joining #{conf['room']} ..."
26
-
27
-
28
- campfire = Campfire.new(conf['domain'], :ssl => conf['ssl'])
29
-
30
- puts "Logging in..."
31
- campfire.login conf['username'], conf['password']
32
- puts "Logged in!"
33
-
34
- # unless conf['default-room']
35
- # puts "Available rooms:"
36
- #
37
- # campfire.rooms.each_with_index do |room, index|
38
- # puts "(#{index}) #{room.name}"
39
- # end
40
- #
41
- # puts "Join which one?"
42
- # room = campfire.rooms[room_index]
43
- # else
44
- room = campfire.find_room_by_name conf["room"]
45
- # end
46
-
47
- puts "Joining #{room.name} ..."
48
- room.join(true)
49
- puts "Entered room #{room.name}"
50
-
51
- puts "Saying message..."
52
-
53
- if msg.split("\n").size > 1
54
- room.paste(msg)
55
- else
56
- room.speak(msg)
57
- end
58
-
59
- puts "Leaving room..."
60
-
61
- room.leave
62
-
63
- puts "Done."
64
-
65
- exit
8
+ require 'roast/main'
9
+ require 'roast/extensions'
@@ -0,0 +1,10 @@
1
+ class Object
2
+ def roast(room=nil)
3
+ msg = if self.is_a?(String)
4
+ self
5
+ else
6
+ self.inspect.to_s
7
+ end
8
+ Roast::Main.run(msg, room)
9
+ end
10
+ end
data/lib/roast/main.rb ADDED
@@ -0,0 +1,63 @@
1
+ module Roast
2
+
3
+ class Main
4
+
5
+ include Tinder
6
+
7
+ def self.run(first_msg=nil, room=nil)
8
+
9
+ config_file = YAML.load_file(ENV['HOME'] + '/roast.yml')
10
+
11
+ options = Hash.new
12
+ options[:room] = room.to_s || config_file["default"]
13
+
14
+ opts = OptionParser.new do |opt|
15
+ opt.banner = "Usage: roast [options] message"
16
+ opt.separator ""
17
+ opt.separator "Specific options:"
18
+
19
+ opt.on("-r", "--room [room config]",
20
+ "Room name from config") do |room|
21
+ options[:room] = room
22
+ end
23
+ end
24
+
25
+ opts.parse!(ARGV)
26
+
27
+ puts options.inspect
28
+
29
+ conf = config_file[options[:room]]
30
+
31
+ msg = first_msg || ARGV[0] || STDIN.read
32
+
33
+ puts "Using #{conf['room']} configuration ..."
34
+
35
+ campfire = Campfire.new(conf['domain'], :ssl => conf['ssl'])
36
+
37
+ puts "Logging in..."
38
+ campfire.login conf['username'], conf['password']
39
+ puts "Logged in!"
40
+
41
+ room = campfire.find_room_by_name conf["room"]
42
+
43
+ puts "Joining #{room.name}..."
44
+ # room.join(true)
45
+ puts "Entered room #{room.name}"
46
+
47
+ puts "Saying message..."
48
+
49
+ if msg.split("\n").size > 1
50
+ room.paste(msg)
51
+ else
52
+ room.speak(msg)
53
+ end
54
+
55
+ puts "Leaving room..."
56
+
57
+ # room.leave
58
+
59
+ puts "Done."
60
+ end
61
+ end
62
+
63
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kdaigle-roast
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Daigle
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-12 00:00:00 -07:00
12
+ date: 2009-06-13 00:00:00 -07:00
13
13
  default_executable: roast
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -38,6 +38,8 @@ files:
38
38
  - VERSION.yml
39
39
  - bin/roast
40
40
  - lib/roast.rb
41
+ - lib/roast/extensions.rb
42
+ - lib/roast/main.rb
41
43
  - test/roast_test.rb
42
44
  - test/test_helper.rb
43
45
  has_rdoc: true