orkut 0.0.0.1 → 0.0.0.2

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