firering 1.0.2 → 1.0.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.
data/README.rdoc CHANGED
@@ -1,6 +1,6 @@
1
1
  = firering
2
2
 
3
- Campfire API interface powered by EventMachine and Yajl.
3
+ Campfire API interface powered by eventmachine, em-http-request and yajl-ruby.
4
4
 
5
5
  require 'firering'
6
6
 
data/firering.gemspec CHANGED
@@ -4,12 +4,12 @@ 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.2'
8
- s.date = '2010-10-01'
7
+ s.version = '1.0.3'
8
+ s.date = '2010-10-12'
9
9
  s.rubyforge_project = 'firering'
10
10
 
11
- s.summary = "Campfire API interface powered by EventMachine and Yajl."
12
- s.description = "Campfire API interface powered by EventMachine and Yajl."
11
+ s.summary = "Campfire API interface powered by eventmachine em-http-request and yajl-ruby."
12
+ s.description = "Campfire API interface powered by eventmachine em-http-request and yajl-ruby."
13
13
 
14
14
  s.authors = ["Emmanuel Oga"]
15
15
  s.email = 'EmmanuelOga@gmail.com'
@@ -77,14 +77,14 @@ module Firering
77
77
  # The Streaming API allows you to monitor a room in real time. The
78
78
  # authenticated user must already have joined the room in order to use this
79
79
  # API.
80
- def stream(room_id, &callback)
80
+ def stream(room, &callback)
81
81
  parser = Yajl::Parser.new(:symbolize_keys => true)
82
82
 
83
83
  parser.on_parse_complete = proc do |data|
84
84
  callback.call(Firering::Message.instantiate(self, data)) if callback
85
85
  end
86
86
 
87
- uri = streaming_host.join("/room/#{room_id}/live.json")
87
+ uri = streaming_host.join("/room/#{room.id}/live.json")
88
88
  logger.info("performing streaming request to #{uri.to_s}")
89
89
  http = EventMachine::HttpRequest.new(uri).get(parameters)
90
90
 
@@ -93,7 +93,7 @@ module Firering
93
93
  parser << chunk; reset_retries_counter
94
94
  rescue Yajl::ParseError
95
95
  perform_retry(http) do
96
- stream(room_id, &callback)
96
+ room.stream(&callback)
97
97
  end
98
98
  end
99
99
  end
@@ -104,7 +104,7 @@ module Firering
104
104
  # few seconds before trying to reconnect. Formats
105
105
  http.errback do
106
106
  perform_retry(http) do
107
- stream(room_id, &callback)
107
+ room.stream(&callback)
108
108
  end
109
109
  end
110
110
 
@@ -8,7 +8,7 @@ class Firering::Room < Firering::Data
8
8
  alias_method :open_to_guests?, :open_to_guests
9
9
 
10
10
  def stream(&callback)
11
- join { |data, http| connection.stream(id, &callback) }
11
+ join { |data, http| connection.stream(self, &callback) }
12
12
  end
13
13
 
14
14
  # we perform a request each time so
data/lib/firering/data.rb CHANGED
@@ -29,7 +29,7 @@ module Firering
29
29
  def initialize_attributes(data, base_key = nil)
30
30
  @_attributes = data.is_a?(Hash) ? data : Yajl::Parser.parse(data, :symbolize_keys => true)
31
31
  @_attributes = @_attributes[base_key] if base_key
32
-
32
+ @_attributes ||= Hash.new
33
33
  @_attributes.each do |key, val|
34
34
  @_attributes[key] = Date.parse(val) rescue val if key.to_s =~ /(_at|_on)$/
35
35
  end
data/lib/firering.rb CHANGED
@@ -5,7 +5,7 @@ require 'yajl'
5
5
  require 'em-http'
6
6
 
7
7
  module Firering
8
- VERSION = '1.0.2'
8
+ VERSION = '1.0.3'
9
9
 
10
10
  class Error < StandardError; end
11
11
 
@@ -13,7 +13,7 @@ describe Firering::Connection do
13
13
 
14
14
  it "stream messages" do
15
15
  EM.run {
16
- conn.stream(304355) do |message|
16
+ conn.stream(Firering::Room.instantiate(conn, :id => 304355)) do |message|
17
17
  message.should be_an_instance_of(Firering::Message)
18
18
  end
19
19
 
@@ -29,7 +29,7 @@ describe Firering::Connection do
29
29
  messages = []
30
30
 
31
31
  EM.run {
32
- conn.stream(304355) do |message|
32
+ conn.stream(Firering::Room.instantiate(conn, :id => 304355)) do |message|
33
33
  messages << message
34
34
  end
35
35
  EM.add_timer(conn.max_retries * conn.retry_delay + 1) do
@@ -47,7 +47,7 @@ describe Firering::Connection do
47
47
 
48
48
  begin
49
49
  EM.run {
50
- conn.stream(304355) { |message| messages << message }
50
+ conn.stream(Firering::Room.instantiate(conn, :id => 304355)) { |message| messages << message }
51
51
 
52
52
  EM.add_timer(conn.max_retries * conn.retry_delay + 1) { EM.stop }
53
53
  }
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: 19
4
+ hash: 17
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 2
10
- version: 1.0.2
9
+ - 3
10
+ version: 1.0.3
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: 2010-10-01 00:00:00 -03:00
18
+ date: 2010-10-12 00:00:00 -03:00
19
19
  default_executable: campf-notify
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -98,7 +98,7 @@ dependencies:
98
98
  version: 1.0.0
99
99
  type: :development
100
100
  version_requirements: *id005
101
- description: Campfire API interface powered by EventMachine and Yajl.
101
+ description: Campfire API interface powered by eventmachine em-http-request and yajl-ruby.
102
102
  email: EmmanuelOga@gmail.com
103
103
  executables:
104
104
  - campf-notify
@@ -204,7 +204,7 @@ rubyforge_project: firering
204
204
  rubygems_version: 1.3.7
205
205
  signing_key:
206
206
  specification_version: 2
207
- summary: Campfire API interface powered by EventMachine and Yajl.
207
+ summary: Campfire API interface powered by eventmachine em-http-request and yajl-ruby.
208
208
  test_files:
209
209
  - spec/firering/connection_spec.rb
210
210
  - spec/firering/data/message_spec.rb