javaeye4r 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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.0"
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 = ["samsam"]
7
- s.date = %q{2010-3-31}
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 = ["README", "lib/javaeye.rb", "javaeye4r.gemspec"]
11
- s.homepage = %q{http://github.com/isamsam/javaeye4r}
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.0}
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 = 3
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
@@ -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
@@ -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
@@ -0,0 +1,16 @@
1
+ module JavaEye
2
+ class User
3
+
4
+ %w[name domain id logo].each do |attr|
5
+ attr_accessor attr.to_sym
6
+ attr_accessor :res_code
7
+ end
8
+
9
+ def initialize(hash)
10
+ hash.each do |key,value|
11
+ send("#{key}=",value)
12
+ end
13
+ end
14
+
15
+ end
16
+ end
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
- prerelease: false
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
- - samsam
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
- has_rdoc: true
34
- homepage: http://github.com/isamsam/javaeye4r
35
- licenses: []
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
- segments:
47
- - 0
48
- version: "0"
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
- segments:
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: 1.3.6
46
+ rubygems_version: 2.2.2
61
47
  signing_key:
62
- specification_version: 3
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