javaeye4r 0.1.0 → 0.1.1
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.
- checksums.yaml +7 -0
- data/javaeye4r.gemspec +15 -7
- data/lib/javaeye/base.rb +36 -0
- data/lib/javaeye/chat.rb +19 -0
- data/lib/javaeye/client.rb +82 -0
- data/lib/javaeye/user.rb +16 -0
- data/lib/javaeye4r.rb +1 -0
- metadata +28 -43
- data/README +0 -17
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: efb5fda8425988f9dac8bb03e1daecfd4e38fad4
|
4
|
+
data.tar.gz: 109531d7078a027fe037563ec23751256dbc1301
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 27e50024df531115584ba1769e9702c95f5d959a905d538026e32226d8be209b853a42367da332aaf4d313824cb257eb346f759e431ef0100e1f29d1cfebd2bd
|
7
|
+
data.tar.gz: 9e5a9727ca9b7b8eb62899311f618626f184070da7d962ce81f1ab9dc099420bf9ad7d0b4e4465eba447aa1f4769b9a5e9c2ef8b3c21828616cb17d097f3e8d6
|
data/javaeye4r.gemspec
CHANGED
@@ -1,21 +1,29 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = %q{javaeye4r}
|
3
|
-
s.version = "0.1.
|
3
|
+
s.version = "0.1.1"
|
4
4
|
|
5
5
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
6
|
-
s.authors = ["
|
7
|
-
s.date =
|
6
|
+
s.authors = ["yanguango"]
|
7
|
+
s.date = "2010-03-31"
|
8
|
+
s.licenses = ['MIT']
|
8
9
|
s.description = %q{A ruby client for JavaEye api}
|
9
10
|
s.email = %q{yanguango@gmail.com}
|
10
|
-
s.files = [
|
11
|
-
|
11
|
+
s.files = [
|
12
|
+
"lib/javaeye4r.rb",
|
13
|
+
"lib/javaeye.rb",
|
14
|
+
"lib/javaeye/base.rb",
|
15
|
+
"lib/javaeye/chat.rb",
|
16
|
+
"lib/javaeye/client.rb",
|
17
|
+
"lib/javaeye/user.rb",
|
18
|
+
"javaeye4r.gemspec"]
|
19
|
+
s.homepage = %q{http://github.com/yanguango/javaeye4r}
|
12
20
|
s.require_paths = ["lib"]
|
13
|
-
s.rubygems_version = %q{0.1.
|
21
|
+
s.rubygems_version = %q{0.1.1}
|
14
22
|
s.summary = %q{A ruby client for JavaEye api}
|
15
23
|
|
16
24
|
if s.respond_to? :specification_version then
|
17
25
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
18
|
-
s.specification_version =
|
26
|
+
s.specification_version = 4
|
19
27
|
|
20
28
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
21
29
|
else
|
data/lib/javaeye/base.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'net/http'
|
3
|
+
require 'json'
|
4
|
+
|
5
|
+
require File.join(File.dirname(__FILE__), 'chat')
|
6
|
+
require File.join(File.dirname(__FILE__), 'client')
|
7
|
+
require File.join(File.dirname(__FILE__), 'user')
|
8
|
+
module JavaEye
|
9
|
+
URL = {:auth =>"http://api.javaeye.com/api/auth/verify",
|
10
|
+
:list => "http://api.javaeye.com/api/twitters/list",
|
11
|
+
:reply => 'http://api.javaeye.com/api/twitters/replies',
|
12
|
+
:all => 'http://api.javaeye.com/api/twitters/all',
|
13
|
+
:create => "http://api.javaeye.com/api/twitters/create",
|
14
|
+
:delete => "http://api.javaeye.com/api/twitters/destroy",
|
15
|
+
:show => "http://api.javaeye.com/api/twitters/show"}
|
16
|
+
COUNT_MAX = 140
|
17
|
+
VIA = "javaeye4r"
|
18
|
+
|
19
|
+
def self.option2query(option)
|
20
|
+
query = ''
|
21
|
+
option.each do |key,value|
|
22
|
+
query << (key.to_s + '=' + value.to_s + '&')
|
23
|
+
end
|
24
|
+
query.chop
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.get_request_uri(path,option)
|
28
|
+
query = option2query(option)
|
29
|
+
if query.empty?
|
30
|
+
path
|
31
|
+
else
|
32
|
+
path + '?' + query
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
data/lib/javaeye/chat.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
module JavaEye
|
2
|
+
class Chat
|
3
|
+
|
4
|
+
%W[user id created_at body name logo domain receiver reply_to_id via].each do |attr|
|
5
|
+
attr_accessor attr.to_sym
|
6
|
+
end
|
7
|
+
|
8
|
+
def initialize(hash)
|
9
|
+
hash.each do |key,value|
|
10
|
+
if key=="user"
|
11
|
+
self.send("#{key}=",User.new(value))
|
12
|
+
else
|
13
|
+
self.send("#{key}=",value)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
module JavaEye
|
2
|
+
class Client
|
3
|
+
attr_accessor :username
|
4
|
+
attr_accessor :password
|
5
|
+
|
6
|
+
def initialize(username, password)
|
7
|
+
@username = username
|
8
|
+
@password = password
|
9
|
+
end
|
10
|
+
|
11
|
+
def verify
|
12
|
+
resp = get_request(URL[:auth])
|
13
|
+
case resp.code
|
14
|
+
when "200"
|
15
|
+
true
|
16
|
+
when "400"
|
17
|
+
false
|
18
|
+
when "401"
|
19
|
+
false
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def get_request(url,option={})
|
24
|
+
url = JavaEye::get_request_uri(url,option)
|
25
|
+
url = URI.parse(url)
|
26
|
+
Net::HTTP.start(url.host) do |http|
|
27
|
+
req = Net::HTTP::Get.new(url.request_uri)
|
28
|
+
req.basic_auth @username, @password
|
29
|
+
resp = http.request(req)
|
30
|
+
return resp
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def post_request(url,data,option={})
|
35
|
+
url = JECoat::get_request_uri(url,option)
|
36
|
+
url = URI.parse(url)
|
37
|
+
Net::HTTP.start(url.host) do |http|
|
38
|
+
req = Net::HTTP::Post.new(url.request_uri)
|
39
|
+
req.basic_auth @username, @password
|
40
|
+
req.set_form_data(data)
|
41
|
+
resp = http.request(req)
|
42
|
+
return resp
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def get_chats(url,option)
|
47
|
+
resp = get_request(url, option)
|
48
|
+
if resp.code == "200"
|
49
|
+
chats ||= []
|
50
|
+
JSON.parse(resp.body).each do |chat|
|
51
|
+
chats << Chat.new(chat)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
chats
|
55
|
+
end
|
56
|
+
|
57
|
+
def get_list(option = {})
|
58
|
+
get_chats(URL[:list], option)
|
59
|
+
end
|
60
|
+
|
61
|
+
def get_reply(option = {})
|
62
|
+
get_chats(URL[:reply], option)
|
63
|
+
end
|
64
|
+
|
65
|
+
def get_all(option = {})
|
66
|
+
get_chats(URL[:all], option)
|
67
|
+
end
|
68
|
+
|
69
|
+
def create_chat(body, option={})
|
70
|
+
chat = {}
|
71
|
+
chat[:body] = body
|
72
|
+
chat[:reply_id] = option[:reply_id] ? option[:reply_id] : nil
|
73
|
+
chat[:via] = JavaEye::VIA
|
74
|
+
resp = post_request(URL[:create],chat)
|
75
|
+
if resp.code == '200'
|
76
|
+
chat
|
77
|
+
else
|
78
|
+
nil
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
data/lib/javaeye/user.rb
ADDED
data/lib/javaeye4r.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "javaeye"
|
metadata
CHANGED
@@ -1,65 +1,50 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: javaeye4r
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
segments:
|
6
|
-
- 0
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
version: 0.1.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.1
|
10
5
|
platform: ruby
|
11
|
-
authors:
|
12
|
-
-
|
6
|
+
authors:
|
7
|
+
- yanguango
|
13
8
|
autorequire:
|
14
9
|
bindir: bin
|
15
10
|
cert_chain: []
|
16
|
-
|
17
|
-
date: 2010-03-31 00:00:00 +08:00
|
18
|
-
default_executable:
|
11
|
+
date: 2010-03-31 00:00:00.000000000 Z
|
19
12
|
dependencies: []
|
20
|
-
|
21
13
|
description: A ruby client for JavaEye api
|
22
14
|
email: yanguango@gmail.com
|
23
15
|
executables: []
|
24
|
-
|
25
16
|
extensions: []
|
26
|
-
|
27
17
|
extra_rdoc_files: []
|
28
|
-
|
29
|
-
files:
|
30
|
-
- README
|
31
|
-
- lib/javaeye.rb
|
18
|
+
files:
|
32
19
|
- javaeye4r.gemspec
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
20
|
+
- lib/javaeye.rb
|
21
|
+
- lib/javaeye/base.rb
|
22
|
+
- lib/javaeye/chat.rb
|
23
|
+
- lib/javaeye/client.rb
|
24
|
+
- lib/javaeye/user.rb
|
25
|
+
- lib/javaeye4r.rb
|
26
|
+
homepage: http://github.com/yanguango/javaeye4r
|
27
|
+
licenses:
|
28
|
+
- MIT
|
29
|
+
metadata: {}
|
37
30
|
post_install_message:
|
38
31
|
rdoc_options: []
|
39
|
-
|
40
|
-
require_paths:
|
32
|
+
require_paths:
|
41
33
|
- lib
|
42
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
43
|
-
requirements:
|
34
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
44
36
|
- - ">="
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
50
|
-
requirements:
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
39
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
51
41
|
- - ">="
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
|
54
|
-
- 1
|
55
|
-
- 2
|
56
|
-
version: "1.2"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '1.2'
|
57
44
|
requirements: []
|
58
|
-
|
59
45
|
rubyforge_project:
|
60
|
-
rubygems_version:
|
46
|
+
rubygems_version: 2.2.2
|
61
47
|
signing_key:
|
62
|
-
specification_version:
|
48
|
+
specification_version: 4
|
63
49
|
summary: A ruby client for JavaEye api
|
64
50
|
test_files: []
|
65
|
-
|
data/README
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
= javaeye4r
|
2
|
-
|
3
|
-
* Project Website - http://github.com/isamsam/javaeye4r
|
4
|
-
|
5
|
-
== Developers
|
6
|
-
* {samsam}[http://isamsam.com] <yanguango at gmail dot com>
|
7
|
-
|
8
|
-
== Description
|
9
|
-
* A ruby client for JavaEye api
|
10
|
-
|
11
|
-
== External Dependencies
|
12
|
-
* Ruby 1.8 (tested with 1.8.7)
|
13
|
-
|
14
|
-
== Usage Examples
|
15
|
-
* get chat timeline
|
16
|
-
* create new chat
|
17
|
-
* view chats that reply to you
|