gazouillis 0.0.0

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.
@@ -0,0 +1,41 @@
1
+ # encoding: utf-8
2
+ module Gazouillis
3
+ class Stream
4
+ include Celluloid::IO
5
+ HOST = "stream.twitter.com"
6
+
7
+ def initialize(path, auth)
8
+ @path = path
9
+ @auth = auth
10
+
11
+ socket = TCPSocket.new "stream.twitter.com", 443
12
+ ssl = OpenSSL::SSL::SSLSocket.new(socket.to_io, OpenSSL::SSL::SSLContext.new)
13
+ ssl.sync = true
14
+ ssl.connect
15
+
16
+ @stream = ssl
17
+ end
18
+
19
+ def listen
20
+ @stream.write request
21
+
22
+ @stream.each_line do |line|
23
+ $stderr.puts line
24
+ end
25
+ end
26
+
27
+ private
28
+
29
+ def request
30
+ request = "GET #{@path} HTTP/1.1\r\n"
31
+ request << "Host: #{HOST}\r\n"
32
+ request << "Authorization: Basic #{basic_auth}\r\n"
33
+ request << "\r\n"
34
+ request
35
+ end
36
+
37
+ def basic_auth
38
+ ["#{@auth[:user]}:#{@auth[:passord]}"].pack('m').strip
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,4 @@
1
+ # encoding: utf-8
2
+ module Gazouillis
3
+ VERSION = "0.0.0"
4
+ end
data/lib/gazouillis.rb ADDED
@@ -0,0 +1,4 @@
1
+ # encoding: utf-8
2
+ require 'openssl'
3
+ require 'celluloid/io'
4
+ require_relative 'gazouillis/stream'
metadata ADDED
@@ -0,0 +1,60 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gazouillis
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.0.0
6
+ platform: ruby
7
+ authors:
8
+ - chatgris
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-07-15 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: celluloid-io
16
+ version_requirements: &2056 !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ! '>='
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ none: false
22
+ requirement: *2056
23
+ prerelease: false
24
+ type: :runtime
25
+ description: Twitter stream client.
26
+ email:
27
+ - jboyer@af83.com
28
+ executables: []
29
+ extensions: []
30
+ extra_rdoc_files: []
31
+ files:
32
+ - lib/gazouillis.rb
33
+ - lib/gazouillis/stream.rb
34
+ - lib/gazouillis/version.rb
35
+ homepage: https://github.com/chatgris/gazouillis
36
+ licenses: []
37
+ post_install_message:
38
+ rdoc_options: []
39
+ require_paths:
40
+ - lib
41
+ required_ruby_version: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ none: false
47
+ required_rubygems_version: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ! '>='
50
+ - !ruby/object:Gem::Version
51
+ version: '0'
52
+ none: false
53
+ requirements: []
54
+ rubyforge_project:
55
+ rubygems_version: 1.8.15
56
+ signing_key:
57
+ specification_version: 3
58
+ summary: Twitter stream client.
59
+ test_files: []
60
+ ...