orkut 0.0.0.1 → 0.0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ /pkg/
data/lib/orkut/client.rb CHANGED
@@ -4,9 +4,21 @@ module Orkut
4
4
  class Client < API
5
5
 
6
6
  require 'orkut/client/timelines'
7
+ require 'orkut/client/messages'
8
+ require 'orkut/client/albums'
9
+ require 'orkut/client/comments'
10
+ require 'orkut/client/mediaitems'
11
+ require 'orkut/client/people'
12
+ require 'orkut/client/videos'
7
13
 
8
14
  alias :api_endpoint :endpoint
9
15
 
10
16
  include Orkut::Client::Timelines
17
+ include Orkut::Client::Messages
18
+ include Orkut::Client::Albums
19
+ include Orkut::Client::Comments
20
+ include Orkut::Client::Mediaitems
21
+ include Orkut::Client::People
22
+ include Orkut::Client::Videos
11
23
  end
12
24
  end
@@ -0,0 +1,10 @@
1
+ require 'orkut/client/base'
2
+
3
+ module Orkut
4
+ class Client
5
+ module Albums
6
+ include Base
7
+ # TODO implements features
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,24 @@
1
+ require 'orkut/version'
2
+ require 'orkut/constants/internal_constants'
3
+
4
+ module Orkut
5
+ class Client
6
+ module Base
7
+
8
+ DEFAULT_COUNT = 40
9
+
10
+ def default_headers
11
+ return {
12
+ Orkut::Constants::InternalConstants::CONTENT_TYPE => Orkut::Constants::InternalConstants::JSON_CONTENT_TYPE,
13
+ Orkut::Constants::InternalConstants::ORKUT_CLIENT_LIB_HEADER => Orkut::Version.to_s
14
+ }
15
+ end
16
+
17
+ def request_id
18
+ @request_id = 0
19
+ @request_id += 1
20
+ @request_id
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,10 @@
1
+ require 'orkut/client/base'
2
+
3
+ module Orkut
4
+ class Client
5
+ module Comments
6
+ include Base
7
+ # TODO implements features
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'orkut/client/base'
2
+
3
+ module Orkut
4
+ class Client
5
+ module Mediaitems
6
+ include Base
7
+ # TODO implements features
8
+ end
9
+ end
10
+ end
@@ -1,22 +1,44 @@
1
+ require 'orkut/error'
2
+ require 'orkut/client/base'
3
+
1
4
  module Orkut
2
5
  class Client
3
- # Defines methods related to timelines
4
- module Messages
6
+ module Messages
7
+ include Base
5
8
 
6
- def home_timeline(options={})
9
+ def post_message(options={})
10
+ raise(Orkut::Error, "Parameters title and body cannot be nil") if options[:title].blank? and options[:body].blank?
11
+ params = [{
12
+ Orkut::Constants::Fields::PARAMS => {
13
+ Orkut::Constants::Fields::GROUP_ID => Orkut::Constants::Group::SELF,
14
+ Orkut::Constants::Fields::USER_ID => Orkut::Constants::InternalConstants::USERID_VIEWER,
15
+ Orkut::Constants::Fields::APP_ID => Orkut::Constants::InternalConstants::Values::APP,
16
+ Orkut::Constants::Fields::ACTIVITY => {
17
+ Orkut::Constants::Fields::TITLE => options[:title],
18
+ Orkut::Constants::Fields::BODY => options[:body]
19
+ }
20
+ },
21
+ Orkut::Constants::Fields::ID => request_id.to_s+'-'+Orkut::Constants::MethodNames::CREATE_ACTIVITIES,
22
+ Orkut::Constants::Fields::METHOD => Orkut::Constants::MethodNames::CREATE_ACTIVITIES
23
+ }]
24
+ MultiJson.decode(post(nil, params.to_s, default_headers).body)
25
+ end
26
+
27
+ def post_scrap(options={})
28
+ raise(Orkut::Error, "Parameters user_id and body cannot be nil") if options[:user_id].blank? and options[:body].blank?
7
29
  params = [{
8
- "params" => {
9
- "pageType" => "first",
10
- "messageType" => "public_message",
11
- "groupId" => "@friends",
12
- "count" => 20,
13
- "messageFormat" => "fullHtml"
30
+ Orkut::Constants::Fields::PARAMS => {
31
+ Orkut::Constants::Fields::MESSAGE_TYPE => Orkut::Constants::InternalConstants::Values::PUBLIC_MESSAGE,
32
+ Orkut::Constants::Fields::GROUP_ID => Orkut::Constants::Group::SELF,
33
+ Orkut::Constants::Fields::USER_ID => options[:user_id],
34
+ Orkut::Constants::Fields::MESSAGE => {
35
+ Orkut::Constants::Fields::BODY => options[:body]
36
+ }
14
37
  },
15
- "id" => "0-messages.get",
16
- "method" => "messages.get"
38
+ Orkut::Constants::Fields::ID => request_id.to_s+'-'+Orkut::Constants::MethodNames::MESSAGES_CREATE,
39
+ Orkut::Constants::Fields::METHOD => Orkut::Constants::MethodNames::MESSAGES_CREATE
17
40
  }]
18
- headers = {'Content-Type' => 'application/json'}
19
- post(nil, params.to_s, headers).body
41
+ MultiJson.decode(post(nil, params.to_s, default_headers).body)
20
42
  end
21
43
  end
22
44
  end
@@ -0,0 +1,10 @@
1
+ require 'orkut/client/base'
2
+
3
+ module Orkut
4
+ class Client
5
+ module People
6
+ include Base
7
+ # TODO implements features
8
+ end
9
+ end
10
+ end
@@ -1,52 +1,46 @@
1
+ require 'orkut/client/base'
1
2
  require 'orkut/constants/fields'
2
3
  require 'orkut/constants/group'
3
4
  require 'orkut/constants/internal_constants'
4
5
  require 'orkut/constants/method_names'
5
6
  require 'orkut/constants/params'
7
+ require 'multi_json'
6
8
 
7
9
  module Orkut
8
10
  class Client
9
11
  # Defines methods related to timelines
10
12
  module Timelines
11
-
12
- DEFAULT_COUNT = 40
13
+ include Base
13
14
 
14
15
  def home_timeline(options={})
15
16
  params = [{
16
17
  Orkut::Constants::Fields::PARAMS => {
17
- Orkut::Constants::Params::GROUP_ID => Orkut::Constants::Group::ALL,
18
- Orkut::Constants::Params::USER_ID => Orkut::Constants::InternalConstants::USERID_ME,
19
- Orkut::Constants::Params::COUNT => (options[:count] || DEFAULT_COUNT),
18
+ Orkut::Constants::Fields::GROUP_ID => Orkut::Constants::Group::ALL,
19
+ Orkut::Constants::Fields::USER_ID => Orkut::Constants::InternalConstants::USERID_ME,
20
+ Orkut::Constants::Fields::COUNT => (options[:count] || Orkut::Client::Base::DEFAULT_COUNT),
20
21
  Orkut::Constants::Fields::COALESCE => true,
21
22
  Orkut::Constants::Fields::START_INDEX => 0
22
23
  },
23
- Orkut::Constants::Fields::ID => ''+Orkut::Constants::MethodNames::ACTIVITIES_GET,
24
+ Orkut::Constants::Fields::ID => request_id.to_s+'-'+Orkut::Constants::MethodNames::ACTIVITIES_GET,
24
25
  Orkut::Constants::Fields::METHOD => Orkut::Constants::MethodNames::ACTIVITIES_GET
25
26
  }]
26
- post(nil, params.to_s, default_headers).body
27
+ MultiJson.decode(post(nil, params.to_s, default_headers).body)
27
28
  end
28
29
 
29
30
  def scraps_timeline(options={})
30
31
  params = [{
31
32
  Orkut::Constants::Fields::PARAMS => {
32
33
  Orkut::Constants::Fields::PAGE_TYPE => Orkut::Constants::Params::PageType::FIRST,
33
- Orkut::Constants::Fields::MESSAGE_TYPE => Orkut::Constants::InternalConstants::Values::PUBLIC_MESSAGE,
34
- Orkut::Constants::Params::GROUP_ID => Orkut::Constants::Group::FRIENDS,
35
- Orkut::Constants::Params::USER_ID => Orkut::Constants::InternalConstants::USERID_ME,
36
- Orkut::Constants::Params::COUNT => (options[:count] || DEFAULT_COUNT),
34
+ Orkut::Constants::Fields::MESSAGE_TYPE => Orkut::Constants::InternalConstants::Values::PUBLIC_MESSAGE,
35
+ Orkut::Constants::Fields::GROUP_ID => Orkut::Constants::Group::FRIENDS,
36
+ Orkut::Constants::Fields::USER_ID => Orkut::Constants::InternalConstants::USERID_ME,
37
+ Orkut::Constants::Fields::COUNT => (options[:count] || Orkut::Client::Base::DEFAULT_COUNT),
37
38
  Orkut::Constants::Fields::MESSAGE_FORMAT => Orkut::Constants::Params::MessageFormat::FULL_HTML
38
39
  },
39
- Orkut::Constants::Fields::ID => '-'+Orkut::Constants::MethodNames::MESSAGES_GET,
40
+ Orkut::Constants::Fields::ID => request_id.to_s+'-'+Orkut::Constants::MethodNames::MESSAGES_GET,
40
41
  Orkut::Constants::Fields::METHOD => Orkut::Constants::MethodNames::MESSAGES_GET
41
42
  }]
42
- post(nil, params.to_s, default_headers).body
43
- end
44
-
45
- def default_headers
46
- return {
47
- Orkut::Constants::InternalConstants::CONTENT_TYPE => Orkut::Constants::InternalConstants::JSON_CONTENT_TYPE,
48
- Orkut::Constants::InternalConstants::ORKUT_CLIENT_LIB_HEADER => Orkut::Version.to_s
49
- }
43
+ MultiJson.decode(post(nil, params.to_s, default_headers).body)
50
44
  end
51
45
  end
52
46
  end
@@ -0,0 +1,10 @@
1
+ require 'orkut/client/base'
2
+
3
+ module Orkut
4
+ class Client
5
+ module Videos
6
+ include Base
7
+ # TODO implements features
8
+ end
9
+ end
10
+ end
@@ -13,6 +13,7 @@ module Orkut
13
13
  ACCESSOR_TYPE = 'accessorType'
14
14
  end
15
15
 
16
+ ACTIVITY = 'activity'
16
17
  BIRTHDAY = 'birthday'
17
18
  COUNTRY = 'country'
18
19
  CURRENT_LOCATION = 'currentLocation'
@@ -32,6 +33,7 @@ module Orkut
32
33
  BODY = 'body'
33
34
  COALESCE = 'coalesce'
34
35
  COMMENTS = 'comments'
36
+ COUNT = 'count'
35
37
  CREATED = 'created'
36
38
  DESCRIPTION = 'description'
37
39
  DISPLAY_NAME = 'displayName'
@@ -42,6 +44,7 @@ module Orkut
42
44
  FROM_USER_ID = 'fromUserId'
43
45
  FROM_USER_PROFILE = 'fromUserProfile'
44
46
  GENDER = 'gender'
47
+ GROUP_ID = 'groupId'
45
48
  ID = 'id'
46
49
 
47
50
  # the json field for location
@@ -53,6 +56,7 @@ module Orkut
53
56
  MEDIA_MIME_TYPE = 'mediaMimeType'
54
57
  # media types in the album
55
58
  MEDIA_TYPE = 'mediaType'
59
+ MESSAGE = 'message'
56
60
  MESSAGE_TYPE = 'messageType'
57
61
  METHOD = 'method'
58
62
  NAME = 'name'
@@ -81,6 +85,7 @@ module Orkut
81
85
  TOTAL_RESULTS = 'totalResults'
82
86
  TYPE = 'type'
83
87
  URL = 'url'
88
+ USER_ID = 'userId'
84
89
  VALUE = 'value'
85
90
  YOUTUBE_URL = 'youtubeUrl'
86
91
  VIDEO_DURATION = 'durationInSec'
@@ -5,6 +5,7 @@ module Orkut
5
5
  CONTENT_TYPE ='Content-Type'
6
6
  JSON_CONTENT_TYPE = 'application/json'
7
7
  USERID_ME = '@me'
8
+ USERID_VIEWER = '@viewer'
8
9
 
9
10
  module Values
10
11
  ALBUMS = 'albums'
@@ -15,7 +15,6 @@ module Orkut
15
15
  end
16
16
 
17
17
  ACLENTRY = 'aclentry'
18
- ACTIVITY = 'activity'
19
18
  ALBUM = 'album'
20
19
  ALBUM_ID = 'albumId'
21
20
  CAPTCHA_ANSWER = 'captchaAnswer'
@@ -23,13 +22,10 @@ module Orkut
23
22
  CAPTCHA_URL = 'captchaUrl'
24
23
  COMMENT = 'comment'
25
24
  COMMENT_ID = 'commentId'
26
- COUNT = 'count'
27
25
  FIELDS = 'fields'
28
- GROUP_ID = 'groupId'
29
26
  LAST_KEY = 'lastKey'
30
27
  MEDIA_ITEM = 'mediaItem'
31
28
  MEDIA_ITEM_ID = 'mediaItemId'
32
- MESSAGE = 'message'
33
29
  MSG_ID = 'msgId'
34
30
  NOTIFICATION = 'notification'
35
31
  OWNER_ID = 'ownerId'
@@ -39,7 +35,6 @@ module Orkut
39
35
  SORT_BY = 'sortBy'
40
36
  TYPE = 'type'
41
37
  UPDATED_BEFORE = 'updatedBefore'
42
- USER_ID = 'userId'
43
38
  end
44
39
  end
45
40
  end
@@ -0,0 +1,5 @@
1
+ module Orkut
2
+ class Error < StandardError
3
+
4
+ end
5
+ end
data/lib/orkut/version.rb CHANGED
@@ -14,7 +14,7 @@ module Orkut
14
14
  end
15
15
 
16
16
  def self.pre
17
- 1 #nil
17
+ 2 #nil
18
18
  end
19
19
 
20
20
  def self.to_s
data/orkut.gemspec CHANGED
@@ -22,4 +22,5 @@ Gem::Specification.new do |s|
22
22
  s.require_paths = ["lib"]
23
23
 
24
24
  s.add_dependency 'omniauth', [">= 0.3.0"]
25
+ s.add_dependency 'multi_json'
25
26
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orkut
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0.1
4
+ version: 0.0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-19 00:00:00.000000000Z
12
+ date: 2011-10-20 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: omniauth
16
- requirement: &19747780 !ruby/object:Gem::Requirement
16
+ requirement: &21509080 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,18 @@ dependencies:
21
21
  version: 0.3.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *19747780
24
+ version_requirements: *21509080
25
+ - !ruby/object:Gem::Dependency
26
+ name: multi_json
27
+ requirement: &21508560 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *21508560
25
36
  description: A Ruby wrapper for the Orkut REST/RPC API.
26
37
  email:
27
38
  - contato@umanni.com
@@ -31,6 +42,7 @@ extra_rdoc_files:
31
42
  - LICENSE
32
43
  - README.rdoc
33
44
  files:
45
+ - .gitignore
34
46
  - Gemfile
35
47
  - LICENSE
36
48
  - README.rdoc
@@ -40,8 +52,14 @@ files:
40
52
  - lib/orkut/authenticatable.rb
41
53
  - lib/orkut/base.rb
42
54
  - lib/orkut/client.rb
55
+ - lib/orkut/client/albums.rb
56
+ - lib/orkut/client/base.rb
57
+ - lib/orkut/client/comments.rb
58
+ - lib/orkut/client/mediaitems.rb
43
59
  - lib/orkut/client/messages.rb
60
+ - lib/orkut/client/people.rb
44
61
  - lib/orkut/client/timelines.rb
62
+ - lib/orkut/client/videos.rb
45
63
  - lib/orkut/config.rb
46
64
  - lib/orkut/connection.rb
47
65
  - lib/orkut/constants/activity_type.rb
@@ -50,6 +68,7 @@ files:
50
68
  - lib/orkut/constants/internal_constants.rb
51
69
  - lib/orkut/constants/method_names.rb
52
70
  - lib/orkut/constants/params.rb
71
+ - lib/orkut/error.rb
53
72
  - lib/orkut/request.rb
54
73
  - lib/orkut/version.rb
55
74
  - orkut.gemspec