croudia 1.0.14 → 1.0.15
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 +4 -4
- data/.travis.yml +8 -0
- data/lib/croudia/access_token.rb +4 -9
- data/lib/croudia/base.rb +71 -37
- data/lib/croudia/cursor.rb +6 -7
- data/lib/croudia/entities.rb +3 -10
- data/lib/croudia/entity/media.rb +3 -4
- data/lib/croudia/identity.rb +5 -5
- data/lib/croudia/relationship.rb +4 -12
- data/lib/croudia/search_metadata.rb +3 -5
- data/lib/croudia/search_results.rb +4 -14
- data/lib/croudia/secret_mail.rb +7 -15
- data/lib/croudia/source.rb +3 -6
- data/lib/croudia/status.rb +11 -25
- data/lib/croudia/user.rb +3 -6
- data/lib/croudia/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba8b2c711483759304f9c6e9d3142c595ba5f8fc
|
4
|
+
data.tar.gz: 2b00fe7aa4eed970cedfc9175bd3d49c0bdc1baf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 724038816211fd2537c9cc8cbfe00d4476d58f4444318964d7d821f7c5faa15d5e5716358ac52f4155ae932ce64be48b46c3506ab95d3f5b7469b0060316712a
|
7
|
+
data.tar.gz: ea16c2207d4eae82ee7d1261f6047f7c7cad0dc2e01b647b2629877977347953b85cebacac57e352868f844505c17963efe927918858d2403fe7870a4bf3a76a
|
data/.travis.yml
CHANGED
@@ -2,3 +2,11 @@ language: ruby
|
|
2
2
|
rvm:
|
3
3
|
- 2.0.0
|
4
4
|
- 1.9.3
|
5
|
+
deploy:
|
6
|
+
provider: rubygems
|
7
|
+
api_key:
|
8
|
+
secure: UZBvpa1if3PwDR7xRI1Hrhzz9pu+jUcbsHuDrMAm8DYdNsiBfja6ZxSDFvF9S+wOtkQFLGzUJS8OXIL/iKar2aCTNZxqrTThehtOqhyGeBog/3omYUp5Hw3hBL3XFbls4cfBQZTRTD/LJHhRdi/bo3tI8aqqU5ulAx4F893KjNs=
|
9
|
+
gem: croudia
|
10
|
+
on:
|
11
|
+
tags: true
|
12
|
+
repo: wktk/croudia-gem
|
data/lib/croudia/access_token.rb
CHANGED
@@ -2,19 +2,14 @@ require 'croudia/base'
|
|
2
2
|
|
3
3
|
module Croudia
|
4
4
|
class AccessToken < Croudia::Base
|
5
|
-
|
5
|
+
attr_reader(
|
6
6
|
:access_token,
|
7
7
|
:expires_in,
|
8
8
|
:refresh_token,
|
9
|
-
:token_type
|
10
|
-
|
11
|
-
|
12
|
-
attr_reader(*KEYS)
|
9
|
+
:token_type
|
10
|
+
)
|
13
11
|
|
14
12
|
alias :token :access_token
|
15
|
-
|
16
|
-
def to_s
|
17
|
-
access_token
|
18
|
-
end
|
13
|
+
alias :to_s :access_token
|
19
14
|
end
|
20
15
|
end
|
data/lib/croudia/base.rb
CHANGED
@@ -1,37 +1,71 @@
|
|
1
|
-
module Croudia
|
2
|
-
class Base
|
3
|
-
class << self
|
4
|
-
def attr_reader(*attrs)
|
5
|
-
attrs.each do |attr|
|
6
|
-
define_method(attr) do
|
7
|
-
@attrs[attr.to_s] || @attrs[attr.to_sym]
|
8
|
-
end
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
1
|
+
module Croudia
|
2
|
+
class Base
|
3
|
+
class << self
|
4
|
+
def attr_reader(*attrs)
|
5
|
+
attrs.each do |attr|
|
6
|
+
define_method(attr) do
|
7
|
+
@attrs[attr.to_s] || @attrs[attr.to_sym]
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
# @param attrs [Hash] { name: Class, name: Class, ... }
|
13
|
+
def attr_object_reader(attrs)
|
14
|
+
attrs.each_pair do |path, klass|
|
15
|
+
path = [path] unless path.is_a?(Array)
|
16
|
+
attr = path.join('_').to_sym
|
17
|
+
|
18
|
+
define_method(path.last) do
|
19
|
+
object = instance_variable_get("@#{attr}")
|
20
|
+
|
21
|
+
unless object
|
22
|
+
object_attrs = @attrs
|
23
|
+
path.each { |p| object_attrs = object_attrs[p.to_s] }
|
24
|
+
|
25
|
+
object = if object_attrs.nil?
|
26
|
+
nil
|
27
|
+
elsif klass.is_a?(Array)
|
28
|
+
klass = klass.shift
|
29
|
+
object_attrs.map { |o| klass.new(o) }
|
30
|
+
else
|
31
|
+
klass.new(object_attrs)
|
32
|
+
end
|
33
|
+
|
34
|
+
instance_variable_set("@#{attr}", object)
|
35
|
+
end
|
36
|
+
|
37
|
+
object
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# Initialize a new object
|
44
|
+
#
|
45
|
+
# @param attrs [Hash]
|
46
|
+
# @return [Croudia::Base]
|
47
|
+
def initialize(attrs = {})
|
48
|
+
@attrs = attrs || {}
|
49
|
+
end
|
50
|
+
|
51
|
+
# Fetch an attribute
|
52
|
+
#
|
53
|
+
# @param name [String, Symobol]
|
54
|
+
def [](name)
|
55
|
+
__send__(name.to_sym)
|
56
|
+
rescue NoMethodError
|
57
|
+
nil
|
58
|
+
end
|
59
|
+
|
60
|
+
# @return [Hash]
|
61
|
+
def attrs
|
62
|
+
@attrs
|
63
|
+
end
|
64
|
+
alias to_h attrs
|
65
|
+
alias to_hash attrs
|
66
|
+
|
67
|
+
def inspect
|
68
|
+
"#<#{self.class}:0x#{__id__.abs.to_s(16)} #{@attrs.inspect}>"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
data/lib/croudia/cursor.rb
CHANGED
@@ -2,20 +2,19 @@ require 'croudia/base'
|
|
2
2
|
|
3
3
|
module Croudia
|
4
4
|
class Cursor < Croudia::Base
|
5
|
-
|
5
|
+
attr_reader(
|
6
6
|
:next_cursor,
|
7
7
|
:next_cursor_str,
|
8
8
|
:previous_cursor,
|
9
|
-
:previous_cursor_str
|
10
|
-
|
11
|
-
|
12
|
-
attr_reader(*KEYS)
|
9
|
+
:previous_cursor_str
|
10
|
+
)
|
13
11
|
|
14
12
|
def initialize(key, klass, attrs)
|
15
13
|
if klass.is_a?(Class)
|
16
|
-
|
14
|
+
singleton_class.attr_object_reader(key => Array(klass))
|
15
|
+
else
|
16
|
+
singleton_class.attr_reader(key)
|
17
17
|
end
|
18
|
-
singleton_class.attr_reader(key)
|
19
18
|
super(attrs)
|
20
19
|
end
|
21
20
|
|
data/lib/croudia/entities.rb
CHANGED
@@ -3,15 +3,8 @@ require 'croudia/entity/media'
|
|
3
3
|
|
4
4
|
module Croudia
|
5
5
|
class Entities < Croudia::Base
|
6
|
-
|
7
|
-
:
|
8
|
-
|
9
|
-
attr_reader(*KEYS)
|
10
|
-
|
11
|
-
def initialize(attrs)
|
12
|
-
media = attrs.delete('media')
|
13
|
-
super(attrs)
|
14
|
-
@attrs['media'] = Croudia::Entity::Media.new(media) if media
|
15
|
-
end
|
6
|
+
attr_object_reader(
|
7
|
+
media: Croudia::Entity::Media
|
8
|
+
)
|
16
9
|
end
|
17
10
|
end
|
data/lib/croudia/entity/media.rb
CHANGED
data/lib/croudia/identity.rb
CHANGED
@@ -2,6 +2,11 @@ require 'croudia/base'
|
|
2
2
|
|
3
3
|
module Croudia
|
4
4
|
class Identity < Croudia::Base
|
5
|
+
attr_reader(
|
6
|
+
:id,
|
7
|
+
:id_str
|
8
|
+
)
|
9
|
+
|
5
10
|
def initialize(*)
|
6
11
|
super
|
7
12
|
raise ArgumentError, 'argument must have an "id" key' unless id
|
@@ -13,10 +18,5 @@ module Croudia
|
|
13
18
|
def ==(other)
|
14
19
|
super || self.class == other.class && id == other.id
|
15
20
|
end
|
16
|
-
|
17
|
-
# @return [Integer]
|
18
|
-
def id
|
19
|
-
@attrs['id'] || @attrs[:id]
|
20
|
-
end
|
21
21
|
end
|
22
22
|
end
|
data/lib/croudia/relationship.rb
CHANGED
@@ -1,20 +1,12 @@
|
|
1
1
|
require 'croudia/base'
|
2
2
|
|
3
3
|
class Croudia::Relationship < Croudia::Base
|
4
|
-
|
5
|
-
:
|
6
|
-
:target
|
7
|
-
|
4
|
+
attr_object_reader(
|
5
|
+
[:relationship, :source] => Croudia::User,
|
6
|
+
[:relationship, :target] => Croudia::User
|
7
|
+
)
|
8
8
|
|
9
9
|
def relationship
|
10
10
|
self
|
11
11
|
end
|
12
|
-
|
13
|
-
def source
|
14
|
-
@source ||= Croudia::User.new(@attrs['relationship']['source'])
|
15
|
-
end
|
16
|
-
|
17
|
-
def target
|
18
|
-
@target ||= Croudia::User.new(@attrs['relationship']['target'])
|
19
|
-
end
|
20
12
|
end
|
@@ -2,7 +2,7 @@ require 'croudia/base'
|
|
2
2
|
|
3
3
|
module Croudia
|
4
4
|
class SearchMetadata < Croudia::Base
|
5
|
-
|
5
|
+
attr_reader(
|
6
6
|
:completed_in,
|
7
7
|
:count,
|
8
8
|
:max_id,
|
@@ -11,9 +11,7 @@ module Croudia
|
|
11
11
|
:query,
|
12
12
|
:refresh_url,
|
13
13
|
:since_id,
|
14
|
-
:since_ids_str
|
15
|
-
|
16
|
-
|
17
|
-
attr_reader(*KEYS)
|
14
|
+
:since_ids_str
|
15
|
+
)
|
18
16
|
end
|
19
17
|
end
|
@@ -4,19 +4,9 @@ require 'croudia/status'
|
|
4
4
|
|
5
5
|
module Croudia
|
6
6
|
class SearchResults < Croudia::Base
|
7
|
-
|
8
|
-
:
|
9
|
-
:
|
10
|
-
|
11
|
-
|
12
|
-
attr_reader(*KEYS)
|
13
|
-
|
14
|
-
def initialize(attrs)
|
15
|
-
statuses = attrs.delete('statuses')
|
16
|
-
metadata = attrs.delete('search_metadata')
|
17
|
-
attrs['statuses'] = statuses.map { |s| Croudia::Status.new(s) }
|
18
|
-
attrs['search_metadata'] = Croudia::SearchMetadata.new(metadata)
|
19
|
-
super(attrs)
|
20
|
-
end
|
7
|
+
attr_object_reader(
|
8
|
+
search_metadata: Croudia::SearchMetadata,
|
9
|
+
statuses: Array(Croudia::Status)
|
10
|
+
)
|
21
11
|
end
|
22
12
|
end
|
data/lib/croudia/secret_mail.rb
CHANGED
@@ -5,25 +5,17 @@ module Croudia
|
|
5
5
|
class SecretMail < Croudia::Identity
|
6
6
|
include Croudia::Creatable
|
7
7
|
|
8
|
-
|
9
|
-
:id_str,
|
10
|
-
:recipient,
|
8
|
+
attr_reader(
|
11
9
|
:recipient_id,
|
12
10
|
:recipient_screen_name,
|
13
|
-
:sender,
|
14
11
|
:sender_id,
|
15
12
|
:sender_screen_name,
|
16
|
-
:text
|
17
|
-
|
13
|
+
:text
|
14
|
+
)
|
18
15
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
sender = attrs.delete('sender')
|
24
|
-
super(attrs)
|
25
|
-
@attrs['recipient'] = Croudia::User.new(recipient) if recipient
|
26
|
-
@attrs['sender'] = Croudia::User.new(sender) if sender
|
27
|
-
end
|
16
|
+
attr_object_reader(
|
17
|
+
recipient: Croudia::User,
|
18
|
+
sender: Croudia::User
|
19
|
+
)
|
28
20
|
end
|
29
21
|
end
|
data/lib/croudia/source.rb
CHANGED
@@ -2,19 +2,16 @@ require 'croudia/base'
|
|
2
2
|
|
3
3
|
module Croudia
|
4
4
|
class Source < Croudia::Base
|
5
|
-
|
6
|
-
KEYS = [
|
5
|
+
attr_reader(
|
7
6
|
:name,
|
8
|
-
:url
|
9
|
-
|
7
|
+
:url
|
8
|
+
)
|
10
9
|
|
11
|
-
attr_reader(*KEYS)
|
12
10
|
alias to_s name
|
13
11
|
|
14
12
|
def ==(other)
|
15
13
|
super || (other.is_a?(Croudia::Source) &&
|
16
14
|
name == other.name && url == other.url)
|
17
15
|
end
|
18
|
-
|
19
16
|
end
|
20
17
|
end
|
data/lib/croudia/status.rb
CHANGED
@@ -8,39 +8,25 @@ module Croudia
|
|
8
8
|
class Status < Croudia::Identity
|
9
9
|
include Croudia::Creatable
|
10
10
|
|
11
|
-
|
12
|
-
:id_str,
|
13
|
-
:entities,
|
11
|
+
attr_reader(
|
14
12
|
:favorited,
|
15
13
|
:favorited_count,
|
16
14
|
:in_reply_to_screen_name,
|
17
|
-
:in_reply_to_status_id_str,
|
18
15
|
:in_reply_to_status_id,
|
19
|
-
:
|
16
|
+
:in_reply_to_status_id_str,
|
20
17
|
:in_reply_to_user_id,
|
18
|
+
:in_reply_to_user_id_str,
|
21
19
|
:spread,
|
22
20
|
:spread_count,
|
23
|
-
:spread_status,
|
24
|
-
:reply_status,
|
25
|
-
:source,
|
26
21
|
:text,
|
27
|
-
|
28
|
-
]
|
29
|
-
|
30
|
-
attr_reader(*KEYS)
|
22
|
+
)
|
31
23
|
|
32
|
-
|
33
|
-
entities
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
@attrs['entities'] = Croudia::Entities.new(entities) if entities
|
40
|
-
@attrs['user'] = Croudia::User.new(user) if user
|
41
|
-
@attrs['reply_status'] = Croudia::Status.new(reply_status) if reply_status
|
42
|
-
@attrs['spread_status'] = Croudia::Status.new(spread_status) if spread_status
|
43
|
-
@attrs['source'] = Croudia::Source.new(source) if source
|
44
|
-
end
|
24
|
+
attr_object_reader(
|
25
|
+
entities: Croudia::Entities,
|
26
|
+
reply_status: Croudia::Status,
|
27
|
+
spread_status: Croudia::Status,
|
28
|
+
source: Croudia::Source,
|
29
|
+
user: Croudia::User
|
30
|
+
)
|
45
31
|
end
|
46
32
|
end
|
data/lib/croudia/user.rb
CHANGED
@@ -5,8 +5,7 @@ module Croudia
|
|
5
5
|
class User < Croudia::Identity
|
6
6
|
include Croudia::Creatable
|
7
7
|
|
8
|
-
|
9
|
-
:id_str,
|
8
|
+
attr_reader(
|
10
9
|
:blocking,
|
11
10
|
:connections,
|
12
11
|
:description,
|
@@ -22,9 +21,7 @@ module Croudia
|
|
22
21
|
:protected,
|
23
22
|
:screen_name,
|
24
23
|
:statuses_count,
|
25
|
-
:url
|
26
|
-
|
27
|
-
|
28
|
-
attr_reader(*KEYS)
|
24
|
+
:url
|
25
|
+
)
|
29
26
|
end
|
30
27
|
end
|
data/lib/croudia/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: croudia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- wktk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-09-
|
11
|
+
date: 2013-09-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|