denglu 0.0.1 → 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/lib/denglu/base.rb +10 -0
- data/lib/denglu/comment.rb +45 -1
- data/lib/denglu/config.rb +3 -0
- data/lib/denglu/version.rb +1 -1
- data/spec/denglu/comment_spec.rb +25 -5
- metadata +3 -3
- data/LICENSE.md +0 -0
data/lib/denglu/base.rb
CHANGED
@@ -5,6 +5,16 @@ module Denglu
|
|
5
5
|
class Base
|
6
6
|
attr_reader :app_id, :app_key
|
7
7
|
|
8
|
+
# Initialization
|
9
|
+
#
|
10
|
+
# Example:
|
11
|
+
# >> denglu = Denglu::Base.new
|
12
|
+
# => #<#Denglu::Base...>
|
13
|
+
#
|
14
|
+
# Arguments:
|
15
|
+
# app_id: (String)
|
16
|
+
# app_key: (String)
|
17
|
+
#
|
8
18
|
def initialize(app_id=nil, app_key=nil)
|
9
19
|
@app_id = app_id || Config.app_id
|
10
20
|
@app_key = app_key || Config.app_key
|
data/lib/denglu/comment.rb
CHANGED
@@ -4,6 +4,19 @@ module Denglu
|
|
4
4
|
|
5
5
|
class Comment < Base
|
6
6
|
|
7
|
+
# Get comment list
|
8
|
+
# This will contains comments' relations in response.
|
9
|
+
#
|
10
|
+
# Example:
|
11
|
+
# >> comment = Denglu::Comment.new
|
12
|
+
# => #<#Denglu::Comment...>
|
13
|
+
# >> comments = comment.list
|
14
|
+
# => [{...}, {...}]
|
15
|
+
#
|
16
|
+
# Arguments:
|
17
|
+
# comment_id: (Integer) The offset marker of response, default to 0 mains from the begining
|
18
|
+
# max: (Integer) The max records of response, default to 50
|
19
|
+
#
|
7
20
|
def list(comment_id=0, max=50)
|
8
21
|
req_method = :GET
|
9
22
|
req_uri = '/api/v4/get_comment_list'
|
@@ -17,6 +30,18 @@ module Denglu
|
|
17
30
|
normalize_comments JSON.parse(response)
|
18
31
|
end
|
19
32
|
|
33
|
+
# Get latest comments
|
34
|
+
# NOTE: This contains no relations of comments!
|
35
|
+
#
|
36
|
+
# Example:
|
37
|
+
# >> comment = Denglu::Comment.new
|
38
|
+
# => #<#Denglu::Comment...>
|
39
|
+
# >> comments = comment.latest
|
40
|
+
# => [{...}, {...}]
|
41
|
+
#
|
42
|
+
# Arguments:
|
43
|
+
# max: (Integer) The max records of response, default to 20
|
44
|
+
#
|
20
45
|
def latest(max=20)
|
21
46
|
req_method = :GET
|
22
47
|
req_uri = '/api/v4/latest_comment'
|
@@ -29,6 +54,19 @@ module Denglu
|
|
29
54
|
JSON.parse(response)
|
30
55
|
end
|
31
56
|
|
57
|
+
# Get comment count
|
58
|
+
# If resource is nil it will return all posts comment count in an array, otherwise just return a hash object.
|
59
|
+
#
|
60
|
+
# Example:
|
61
|
+
# >> comment = Denglu::Comment.new
|
62
|
+
# => #<#Denglu::Comment...>
|
63
|
+
# >> comments = comment.total
|
64
|
+
# => [{"id"=>..., "count"=>..., "url"=>...},
|
65
|
+
# => {...}]
|
66
|
+
#
|
67
|
+
# Arguments:
|
68
|
+
# resource: (Mixed) Integer for resource id or string for uri.
|
69
|
+
#
|
32
70
|
def total(resource=nil)
|
33
71
|
req_method = :GET
|
34
72
|
req_uri = '/api/v4/get_comment_count'
|
@@ -42,9 +80,15 @@ module Denglu
|
|
42
80
|
|
43
81
|
response = request_api(req_method, req_uri, req_options)
|
44
82
|
|
45
|
-
JSON.parse
|
83
|
+
response = JSON.parse(response)
|
84
|
+
unless resource.nil?
|
85
|
+
response = response[0]
|
86
|
+
end
|
87
|
+
|
88
|
+
response
|
46
89
|
end
|
47
90
|
|
91
|
+
# NOTE: NO IMPL!
|
48
92
|
def stat(from_ts=nil)
|
49
93
|
req_method = :GET
|
50
94
|
req_uri = '/api/v4/get_change_comment_ids'
|
data/lib/denglu/config.rb
CHANGED
@@ -16,14 +16,17 @@ module Denglu
|
|
16
16
|
@app_key ||= ''
|
17
17
|
end
|
18
18
|
|
19
|
+
# Denglu api host, default to http://open.denglu.cc
|
19
20
|
def host
|
20
21
|
@host ||= 'http://open.denglu.cc'
|
21
22
|
end
|
22
23
|
|
24
|
+
# Denglu api version, no used now
|
23
25
|
def version
|
24
26
|
@version ||= '1.0'
|
25
27
|
end
|
26
28
|
|
29
|
+
# Denglu api rquest sign method, only support md5
|
27
30
|
def sign_type
|
28
31
|
@sign_type ||= :md5
|
29
32
|
end
|
data/lib/denglu/version.rb
CHANGED
data/spec/denglu/comment_spec.rb
CHANGED
@@ -7,28 +7,48 @@ module Denglu
|
|
7
7
|
@comment = Comment.new
|
8
8
|
end
|
9
9
|
|
10
|
-
context
|
10
|
+
context ".list" do
|
11
11
|
it "should works" do
|
12
12
|
result = @comment.list
|
13
|
-
|
14
13
|
result.should be_instance_of(Array)
|
14
|
+
result.to_json.should include('parentID')
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
context
|
18
|
+
context ".latest" do
|
19
19
|
it "should works" do
|
20
20
|
result = @comment.latest
|
21
|
-
|
22
21
|
result.should be_instance_of(Array)
|
22
|
+
result.to_json.should_not include('parentID')
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
-
context
|
26
|
+
context ".total" do
|
27
27
|
it "should works" do
|
28
28
|
result = @comment.total
|
29
29
|
|
30
30
|
result.should be_instance_of(Array)
|
31
31
|
end
|
32
|
+
|
33
|
+
context "with argument" do
|
34
|
+
before :each do
|
35
|
+
@resource = @comment.total[0]
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should return a hash object when supply resource id" do
|
39
|
+
resource_id = @resource['id'].to_i
|
40
|
+
|
41
|
+
result = @comment.total(resource_id)
|
42
|
+
result.should be_instance_of(Hash)
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should return a hash object when supply resource url" do
|
46
|
+
resource_url = @resource['url']
|
47
|
+
|
48
|
+
result = @comment.total(resource_url)
|
49
|
+
result.should be_instance_of(Hash)
|
50
|
+
end
|
51
|
+
end
|
32
52
|
end
|
33
53
|
end
|
34
54
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: denglu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-08-
|
12
|
+
date: 2012-08-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
@@ -71,7 +71,6 @@ files:
|
|
71
71
|
- Gemfile
|
72
72
|
- Gemfile.lock
|
73
73
|
- LICENSE
|
74
|
-
- LICENSE.md
|
75
74
|
- README.md
|
76
75
|
- Rakefile
|
77
76
|
- denglu.gemspec
|
@@ -109,3 +108,4 @@ signing_key:
|
|
109
108
|
specification_version: 3
|
110
109
|
summary: Denglu open API wrapper of ruby language
|
111
110
|
test_files: []
|
111
|
+
has_rdoc:
|
data/LICENSE.md
DELETED
File without changes
|