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 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