disqus 0.1.1 → 1.0.0

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/test/merb_test.rb ADDED
@@ -0,0 +1,15 @@
1
+ require 'test/unit'
2
+
3
+ module Merb
4
+ class Controller
5
+ end
6
+ end
7
+
8
+ class MerbTest < Test::Unit::TestCase
9
+
10
+ def test_view_helpers_should_be_included
11
+ require 'disqus'
12
+ assert Merb::Controller.new.disqus_thread
13
+ end
14
+
15
+ end
data/test/post_test.rb ADDED
@@ -0,0 +1,18 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+ class PostTest < Test::Unit::TestCase
4
+
5
+ def setup
6
+ require 'disqus'
7
+ Disqus.defaults[:api_key] = DISQUS_TEST["api_key"]
8
+ end
9
+
10
+ def test_post_list
11
+ mock_api_call(:get_thread_posts)
12
+ list = Disqus::Post.list(create_thread)
13
+ assert_equal 2, list.size
14
+ assert_equal list.first.message, "This is a mock post"
15
+ end
16
+
17
+
18
+ end
@@ -0,0 +1,18 @@
1
+ require 'test/unit'
2
+
3
+ class Rails
4
+ end
5
+
6
+ module ActionView
7
+ class Base
8
+ end
9
+ end
10
+
11
+ class RailsTest < Test::Unit::TestCase
12
+
13
+ def test_view_helpers_should_be_included
14
+ require 'disqus'
15
+ assert ActionView::Base.new.disqus_thread
16
+ end
17
+
18
+ end
@@ -0,0 +1 @@
1
+ {"message": "user_api_key BAD could not be converted to UserKey object", "code": "input-invalid", "succeeded": false}
@@ -0,0 +1,23 @@
1
+ {
2
+ "message": {
3
+ "id": "12345",
4
+ "forum": "1234",
5
+ "thread": "123",
6
+ "created_at": "2008-01-03 14:44:07.627492",
7
+ "message": "This is a mock post",
8
+ "parent_post": null,
9
+ "shown": true,
10
+ "is_anonymous": false,
11
+ "author": {
12
+ "id":12,
13
+ "username":"testuser",
14
+ "display_name":"Test User",
15
+ "url":"http://www.example.com/testuser",
16
+ "email_hash":"thisisanMD5hash",
17
+ "has_avatar": true
18
+ }
19
+ },
20
+ "code": "ok",
21
+ "succeeded": true
22
+ }
23
+
@@ -0,0 +1 @@
1
+ {"message": "FAKE_FORUM_API_KEY", "code": "ok", "succeeded": true}
@@ -0,0 +1,12 @@
1
+ {
2
+ "message": [
3
+ {
4
+ "created_at": "2008-01-03 14:44:07.627492",
5
+ "shortname": "disqus-test",
6
+ "id": "1234",
7
+ "name": "Disqus Test"
8
+ }
9
+ ],
10
+ "code": "ok",
11
+ "succeeded": true
12
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "message":{
3
+ "1001":[10,12],
4
+ "1002":[15,20],
5
+ "1003":[20,20],
6
+ "1004":[10,10],
7
+ "1005":[5,10]
8
+ },
9
+ "succeeded":true,
10
+ "code":"ok"
11
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "message":{
3
+ "slug": "test_thread",
4
+ "forum": "60732",
5
+ "title": "Test thread",
6
+ "url": "FAKE_URL",
7
+ "id": "7651269",
8
+ "identifier": null,
9
+ "created_at": "2008-11-28T01:47",
10
+ "allow_comments": true
11
+ },
12
+ "succeeded": true,
13
+ "code": "ok"
14
+ }
15
+
16
+
17
+
18
+
@@ -0,0 +1,16 @@
1
+ {
2
+ "message": [
3
+ {
4
+ "id": "12345",
5
+ "forum": "1234",
6
+ "slug": "this_is_a_thread",
7
+ "title": "This is a thread",
8
+ "created_at": "2008-01-03 14:44:07.627492",
9
+ "allow_comments": true,
10
+ "url":"http://www.example.com/testthread",
11
+ "identifier": "this_is_the_thread_identifier"
12
+ }
13
+ ],
14
+ "code": "ok",
15
+ "succeeded": true
16
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "message": [{
3
+ "id": "12345",
4
+ "forum": "1234",
5
+ "thread": "123",
6
+ "created_at": "2008-01-03 14:44:07.627492",
7
+ "message": "This is a mock post",
8
+ "parent_post": null,
9
+ "shown": true,
10
+ "is_anonymous": false,
11
+ "author": {
12
+ "id":12,
13
+ "username":"testuser",
14
+ "display_name":"Test User",
15
+ "url":"http://www.example.com/testuser",
16
+ "email_hash":"thisisanMD5hash",
17
+ "has_avatar": true
18
+ }
19
+ },{
20
+ "id": "23456",
21
+ "forum": "1234",
22
+ "thread": "123",
23
+ "created_at": "2008-01-03 14:44:07.627492",
24
+ "message": "This is another mock post",
25
+ "parent_post": null,
26
+ "shown": true,
27
+ "is_anonymous": true,
28
+ "anonymous_author": {
29
+ "id":12,
30
+ "name":"Anonymous Coward",
31
+ "email_hash":"thisisanMD5hash"
32
+ }
33
+ }],
34
+ "code": "ok",
35
+ "succeeded": true
36
+ }
37
+
@@ -0,0 +1,17 @@
1
+ {
2
+ "message":{
3
+ "thread":{
4
+ "slug": "test_thread",
5
+ "forum": "60732",
6
+ "title": "Test thread",
7
+ "url": "FAKE_URL",
8
+ "id": "7651269",
9
+ "identifier": "FAKE_IDENTIFIER",
10
+ "created_at": "2008-11-28T01:47",
11
+ "allow_comments": true
12
+ },
13
+ "created": false
14
+ },
15
+ "succeeded": true,
16
+ "code": "ok"
17
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "message":{},
3
+ "succeeded": true,
4
+ "code": "ok"
5
+ }
@@ -0,0 +1,32 @@
1
+ require 'test/unit'
2
+ require 'yaml'
3
+ require 'disqus/api'
4
+ require 'disqus/forum'
5
+ require 'disqus/thread'
6
+ require 'disqus/post'
7
+ require 'disqus/author'
8
+ require 'mocha'
9
+
10
+ DISQUS_TEST = YAML.load(File.read(File.dirname(__FILE__) + "/config.yml"))
11
+
12
+ def create_forum
13
+ forum = Disqus::Forum.new(1234, "disqus-test", "Disqus Test", "2008-01-03 14:44:07.627492")
14
+ forum.stubs(:key).returns("FAKE_FORUM_API_KEY")
15
+ forum
16
+ end
17
+
18
+ def create_thread
19
+ mock_forum = mock()
20
+ mock_forum.stubs(:key).returns("FAKE_FORUM_API_KEY")
21
+ Disqus::Thread.new("7651269", mock_forum, "test_thread", "Test thread", "2008-11-28T01:47", true, "FAKE_URL", nil)
22
+ end
23
+
24
+
25
+ def mock_api_call(method_name)
26
+ Disqus::Api.expects(method_name.to_sym).returns(JSON.parse(File.read(File.dirname(__FILE__) + "/responses/#{method_name}.json")))
27
+ end
28
+
29
+ def stub_api_call(method_name)
30
+ Disqus::Api.stubs(method_name.to_sym).returns(JSON.parse(File.read(File.dirname(__FILE__) + "/responses/#{method_name}.json")))
31
+ end
32
+
@@ -0,0 +1,28 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+ class ThreadTest < Test::Unit::TestCase
4
+
5
+ def setup
6
+ require 'disqus'
7
+ Disqus.defaults[:api_key] = DISQUS_TEST["api_key"]
8
+ stub_api_call(:get_forum_api_key)
9
+ end
10
+
11
+ def test_thread_list
12
+ mock_api_call(:get_thread_list)
13
+ forum = create_forum
14
+ list = Disqus::Thread.list(forum)
15
+ assert_equal 1, list.size
16
+ assert_equal list, [Disqus::Thread.new( 12345,
17
+ create_forum,
18
+ "this_is_a_thread",
19
+ "This is a thread",
20
+ "2008-01-03 14:44:07.627492",
21
+ true,
22
+ "http://www.example.com/testthread",
23
+ "this_is_the_thread_identifier" )]
24
+ end
25
+
26
+ end
27
+
28
+
metadata CHANGED
@@ -1,42 +1,136 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: disqus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Norman Clarke
8
+ - Matthew Van Horn
8
9
  autorequire:
9
10
  bindir: bin
10
- cert_chain: []
11
+ cert_chain:
12
+ - |
13
+ -----BEGIN CERTIFICATE-----
14
+ MIIDNDCCAhygAwIBAgIBADANBgkqhkiG9w0BAQUFADBAMQ8wDQYDVQQDDAZub3Jt
15
+ YW4xGDAWBgoJkiaJk/IsZAEZFghyYW5kb21iYTETMBEGCgmSJomT8ixkARkWA29y
16
+ ZzAeFw0wODA3MjUxOTEyMDJaFw0wOTA3MjUxOTEyMDJaMEAxDzANBgNVBAMMBm5v
17
+ cm1hbjEYMBYGCgmSJomT8ixkARkWCHJhbmRvbWJhMRMwEQYKCZImiZPyLGQBGRYD
18
+ b3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0MuX/i3u1A7Gu2pC
19
+ y3tUIeGen3nJ8KrMpugJ2bo/VRcOLwo3bQl742idpfUE/Wq3rXexxc0Dg9jKQ8yb
20
+ 1vHqM0s29UmC+UJjKG87eqQDXiq8jHgRcvykGmTZE8GBAVYvm0Wsm7aXWW6hMM/z
21
+ 9QnhZHmBjCaBb8LXsXCgNHFctKkbtxmEXQk2j9pfWuMVSWVVXJR8Nd03u8G2k4RS
22
+ DhvPTP0eAsWRda/6oxGm+QDYv1tfwDVtqUEgD0zFFlpqJcJiKjn/vquJc8tPMYwK
23
+ E7eh4J9cT83sgTGs65l9e2Z9cF920DQMJmkzSAVpm7LKSglfO+WWGQlpagZbcC3J
24
+ hoR5WQIDAQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU
25
+ axQXpjRK4llQWMZYVQvaZIJ7/a0wDQYJKoZIhvcNAQEFBQADggEBABappQnc8jtY
26
+ ZjbWN1Ya8emsRx2w//Z0LElusQ4PjBfWOzDjQ/BM6JjBA0tC1UyDISpTxD507lZ8
27
+ ydTETFAbzTrjJwBwwc1fxwgNm6MZQkZ/7A6WO7OfQw+nkiEaDw7fa10Gd4DBCqhY
28
+ Ot72besSspWtxuzTkpl/9YjbUk/XGL2ZjONUUsdzig12eGA659E0AM7LreIiLvSu
29
+ EI6rjC8mzEcTVXpeZKtVL5Ba7JSpWT5ojVXF8b4+5o3W5iSH2s4vWeRCS3KK3cww
30
+ sJ9/D9IfrPBgbrLYAldiZhGbSxBmwc6mbpPxWaT7SKRbw+XhSGhEeYbBcJs+8gvo
31
+ h7fbBRfStxI=
32
+ -----END CERTIFICATE-----
11
33
 
12
- date: 2008-09-03 00:00:00 -03:00
34
+ date: 2009-01-05 00:00:00 -02:00
13
35
  default_executable:
14
- dependencies: []
15
-
36
+ dependencies:
37
+ - !ruby/object:Gem::Dependency
38
+ name: json
39
+ type: :runtime
40
+ version_requirement:
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: "0"
46
+ version:
47
+ - !ruby/object:Gem::Dependency
48
+ name: newgem
49
+ type: :development
50
+ version_requirement:
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 1.2.3
56
+ version:
57
+ - !ruby/object:Gem::Dependency
58
+ name: mocha
59
+ type: :development
60
+ version_requirement:
61
+ version_requirements: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: "0"
66
+ version:
67
+ - !ruby/object:Gem::Dependency
68
+ name: hoe
69
+ type: :development
70
+ version_requirement:
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 1.8.0
76
+ version:
16
77
  description: Integrates Disqus into your Ruby-powered site. Works with any Ruby website, and has view helpers for Rails and Merb.
17
- email: norman@randomba.org
78
+ email:
79
+ - norman@randomba.org
80
+ - mattvanhorn@gmail.com
18
81
  executables: []
19
82
 
20
83
  extensions: []
21
84
 
22
85
  extra_rdoc_files:
23
- - README.textile
86
+ - History.txt
87
+ - Manifest.txt
88
+ - README.rdoc
24
89
  files:
90
+ - History.txt
25
91
  - MIT-LICENSE
26
- - README.textile
92
+ - Manifest.txt
93
+ - README.rdoc
94
+ - Rakefile
95
+ - disqus.gemspec
27
96
  - init.rb
28
97
  - lib/disqus.rb
29
- - lib/disqus/widget.rb
98
+ - lib/disqus/api.rb
99
+ - lib/disqus/author.rb
100
+ - lib/disqus/forum.rb
101
+ - lib/disqus/post.rb
102
+ - lib/disqus/thread.rb
103
+ - lib/disqus/version.rb
30
104
  - lib/disqus/view_helpers.rb
31
- - Rakefile
105
+ - lib/disqus/widget.rb
106
+ - tasks/rcov.rake
107
+ - test/api_test.rb
108
+ - test/config.yml
109
+ - test/config.yml.sample
110
+ - test/forum_test.rb
111
+ - test/merb_test.rb
112
+ - test/post_test.rb
113
+ - test/rails_test.rb
114
+ - test/responses/bad_api_key.json
115
+ - test/responses/create_post.json
116
+ - test/responses/get_forum_api_key.json
117
+ - test/responses/get_forum_list.json
118
+ - test/responses/get_num_posts.json
119
+ - test/responses/get_thread_by_url.json
120
+ - test/responses/get_thread_list.json
121
+ - test/responses/get_thread_posts.json
122
+ - test/responses/thread_by_identifier.json
123
+ - test/responses/update_thread.json
124
+ - test/test_helper.rb
125
+ - test/thread_test.rb
126
+ - test/view_helpers_test.rb
127
+ - test/widget_test.rb
32
128
  has_rdoc: true
33
- homepage: http://randomba.org
129
+ homepage: http://disqus.rubyforge.org
34
130
  post_install_message:
35
131
  rdoc_options:
36
132
  - --main
37
- - README.textile
38
- - --inline-source
39
- - --line-numbers
133
+ - README.rdoc
40
134
  require_paths:
41
135
  - lib
42
136
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -54,10 +148,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
54
148
  requirements: []
55
149
 
56
150
  rubyforge_project: disqus
57
- rubygems_version: 1.2.0
151
+ rubygems_version: 1.3.1
58
152
  signing_key:
59
153
  specification_version: 2
60
154
  summary: Integrates Disqus commenting system into your Ruby-powered site.
61
155
  test_files:
62
- - test/widget_test.rb
156
+ - test/api_test.rb
157
+ - test/forum_test.rb
158
+ - test/merb_test.rb
159
+ - test/post_test.rb
160
+ - test/rails_test.rb
161
+ - test/thread_test.rb
63
162
  - test/view_helpers_test.rb
163
+ - test/widget_test.rb