firering 1.0.7 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +1 -0
- data/bin/campf-notify +17 -13
- data/firering.gemspec +2 -2
- data/lib/firering/data/user.rb +1 -1
- data/lib/firering/instantiator.rb +12 -1
- data/lib/firering/requests.rb +6 -1
- data/lib/firering.rb +1 -1
- metadata +6 -6
data/README.rdoc
CHANGED
@@ -84,6 +84,7 @@ For more details take a look at spec/fixtures/load_server.rb file.
|
|
84
84
|
* indirect (Andre Arko), https://github.com/EmmanuelOga/firering/pull/1 ,
|
85
85
|
https://github.com/EmmanuelOga/firering/pull/2 ,
|
86
86
|
https://github.com/EmmanuelOga/firering/pull/3
|
87
|
+
* caius (Caius Durling), https://github.com/EmmanuelOga/firering/pull/5
|
87
88
|
|
88
89
|
== Copyright
|
89
90
|
|
data/bin/campf-notify
CHANGED
@@ -19,7 +19,7 @@ if subdomain.to_s =~ /^\s*$/ || token.to_s =~ /^\s*$/ || room_name.to_s =~ /^\s*
|
|
19
19
|
puts
|
20
20
|
exit 1
|
21
21
|
else
|
22
|
-
host = "
|
22
|
+
host = "https://#{subdomain}.campfirenow.com"
|
23
23
|
puts "connecting to #{host}"
|
24
24
|
end
|
25
25
|
|
@@ -27,22 +27,26 @@ conn = Firering::Connection.new(host) {|c| c.token = token }
|
|
27
27
|
|
28
28
|
EM.run do
|
29
29
|
conn.rooms do |rooms|
|
30
|
-
room = rooms.detect { |r| r.name
|
30
|
+
room = rooms.detect { |r| room_name =~ /#{r.name}|#{r.id}/i }
|
31
31
|
|
32
|
-
|
33
|
-
puts "
|
34
|
-
rooms.each { |room| puts " * #{room}" }
|
35
|
-
exit 1
|
36
|
-
end
|
37
|
-
|
38
|
-
puts "Streaming #{room}"
|
32
|
+
if room
|
33
|
+
puts "Streaming #{room}"
|
39
34
|
|
40
|
-
|
41
|
-
|
42
|
-
|
35
|
+
room.stream do |message|
|
36
|
+
if message.from_user?
|
37
|
+
message.user { |user| system("notify-send -i #{icon_path.shellescape} -t 10000 Campfire #{ "( #{user} ) #{message}".shellescape }") }
|
38
|
+
else
|
39
|
+
system("notify-send -i #{icon_path.shellescape} -t 10000 Campfire #{message.to_s.shellescape}") if message.to_s =~ /\S/
|
40
|
+
end
|
41
|
+
end
|
42
|
+
else
|
43
|
+
if rooms.empty?
|
44
|
+
puts "Could not find any rooms on #{host}. Check your host/credentials?"
|
43
45
|
else
|
44
|
-
|
46
|
+
puts "Could not find #{room_name.inspect} room on #{host}, but found: "
|
47
|
+
rooms.each { |room| puts " * #{room}" }
|
45
48
|
end
|
49
|
+
EM.stop
|
46
50
|
end
|
47
51
|
end
|
48
52
|
|
data/firering.gemspec
CHANGED
@@ -4,8 +4,8 @@ Gem::Specification.new do |s|
|
|
4
4
|
s.rubygems_version = '1.3.5'
|
5
5
|
|
6
6
|
s.name = 'firering'
|
7
|
-
s.version = '1.0
|
8
|
-
s.date = '2011-
|
7
|
+
s.version = '1.1.0'
|
8
|
+
s.date = '2011-05-04'
|
9
9
|
s.rubyforge_project = 'firering'
|
10
10
|
|
11
11
|
s.summary = "Campfire API interface powered by eventmachine em-http-request and yajl-ruby."
|
data/lib/firering/data/user.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module Firering
|
2
|
-
User = Struct.new(:connection, :id, :name, :email_address, :admin, :created_at, :type, :api_auth_token)
|
2
|
+
User = Struct.new(:connection, :id, :name, :email_address, :admin, :created_at, :type, :api_auth_token, :avatar_url)
|
3
3
|
|
4
4
|
class User
|
5
5
|
extend Instantiator
|
@@ -10,8 +10,19 @@ module Firering
|
|
10
10
|
attributes ||= Hash.new
|
11
11
|
|
12
12
|
attributes.each do |key, val|
|
13
|
+
setter = "#{key}="
|
13
14
|
value = ( key.to_s =~ /(_at|_on)$/ ) ? (Time.parse(val) rescue val) : val
|
14
|
-
instance.
|
15
|
+
if instance.respond_to?(setter)
|
16
|
+
instance.send(setter, value)
|
17
|
+
else
|
18
|
+
warning = "WARNING: Tried to set #{setter} #{value.inspect} on a #{instance.class} instance but it didn't respond. Probably the API got updated, please report this! (https://github.com/EmmanuelOga/firering/issues)"
|
19
|
+
|
20
|
+
if conn && conn.logger
|
21
|
+
conn.logger.warn warning
|
22
|
+
else
|
23
|
+
Kernel.warn warning
|
24
|
+
end
|
25
|
+
end
|
15
26
|
end
|
16
27
|
|
17
28
|
callback.call(instance) if callback
|
data/lib/firering/requests.rb
CHANGED
@@ -27,7 +27,12 @@ module Firering
|
|
27
27
|
# multi: if true, gets all the users from each room as Firering::User objects
|
28
28
|
def rooms(&callback)
|
29
29
|
http(:get, "/rooms.json") do |data, http|
|
30
|
-
|
30
|
+
if data[:rooms]
|
31
|
+
callback.call(data[:rooms].map{|room| Firering::Room.instantiate(self, room)}) if callback
|
32
|
+
else
|
33
|
+
logger.error(http.response)
|
34
|
+
callback.call([])
|
35
|
+
end
|
31
36
|
end
|
32
37
|
end
|
33
38
|
|
data/lib/firering.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: firering
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 19
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
+
- 1
|
8
9
|
- 0
|
9
|
-
|
10
|
-
version: 1.0.7
|
10
|
+
version: 1.1.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Emmanuel Oga
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-05-04 00:00:00 -03:00
|
19
19
|
default_executable: campf-notify
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -201,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
201
201
|
requirements: []
|
202
202
|
|
203
203
|
rubyforge_project: firering
|
204
|
-
rubygems_version: 1.
|
204
|
+
rubygems_version: 1.6.0
|
205
205
|
signing_key:
|
206
206
|
specification_version: 2
|
207
207
|
summary: Campfire API interface powered by eventmachine em-http-request and yajl-ruby.
|