discourse_api 0.34.0 → 0.35.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.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/.rubocop.yml +6 -0
  4. data/.travis.yml +10 -4
  5. data/CHANGELOG.md +12 -0
  6. data/Gemfile +1 -0
  7. data/Guardfile +2 -1
  8. data/Rakefile +7 -2
  9. data/discourse_api.gemspec +23 -22
  10. data/examples/backups.rb +1 -0
  11. data/examples/badges.rb +1 -0
  12. data/examples/category.rb +1 -0
  13. data/examples/change_topic_status.rb +3 -3
  14. data/examples/create_private_message.rb +1 -0
  15. data/examples/create_topic.rb +1 -0
  16. data/examples/create_update_category.rb +1 -1
  17. data/examples/create_user.rb +1 -0
  18. data/examples/dashboard.rb +3 -2
  19. data/examples/disposable_invite_tokens.rb +1 -0
  20. data/examples/example.rb +1 -0
  21. data/examples/group_set_user_notification_level.rb +1 -1
  22. data/examples/groups.rb +1 -0
  23. data/examples/invite_users.rb +1 -0
  24. data/examples/post_action.rb +1 -0
  25. data/examples/search.rb +1 -0
  26. data/examples/sent_private_messages.rb +1 -0
  27. data/examples/sso.rb +1 -0
  28. data/examples/topic_lists.rb +1 -0
  29. data/examples/update_user.rb +1 -0
  30. data/examples/upload_file.rb +1 -0
  31. data/lib/discourse_api.rb +1 -0
  32. data/lib/discourse_api/api/api_key.rb +3 -2
  33. data/lib/discourse_api/api/backups.rb +1 -0
  34. data/lib/discourse_api/api/badges.rb +5 -4
  35. data/lib/discourse_api/api/categories.rb +16 -15
  36. data/lib/discourse_api/api/dashboard.rb +7 -6
  37. data/lib/discourse_api/api/email.rb +1 -0
  38. data/lib/discourse_api/api/groups.rb +11 -10
  39. data/lib/discourse_api/api/invite.rb +4 -3
  40. data/lib/discourse_api/api/notifications.rb +2 -1
  41. data/lib/discourse_api/api/params.rb +3 -2
  42. data/lib/discourse_api/api/posts.rb +7 -6
  43. data/lib/discourse_api/api/private_messages.rb +4 -3
  44. data/lib/discourse_api/api/search.rb +2 -1
  45. data/lib/discourse_api/api/site_settings.rb +3 -2
  46. data/lib/discourse_api/api/sso.rb +3 -2
  47. data/lib/discourse_api/api/tags.rb +1 -0
  48. data/lib/discourse_api/api/topics.rb +17 -16
  49. data/lib/discourse_api/api/uploads.rb +4 -3
  50. data/lib/discourse_api/api/user_actions.rb +3 -2
  51. data/lib/discourse_api/api/users.rb +23 -20
  52. data/lib/discourse_api/client.rb +8 -7
  53. data/lib/discourse_api/error.rb +2 -1
  54. data/lib/discourse_api/single_sign_on.rb +1 -0
  55. data/lib/discourse_api/version.rb +2 -1
  56. data/spec/discourse_api/api/users_spec.rb +13 -13
  57. metadata +38 -25
  58. data/routes.txt +0 -203
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DiscourseApi
2
3
  class DiscourseError < StandardError
3
4
  attr_reader :response
@@ -15,7 +16,7 @@ module DiscourseApi
15
16
  #
16
17
  # @param exception [Exception, String]
17
18
  # @return [DiscourseApi::Error]
18
- def initialize(exception=$!)
19
+ def initialize(exception = $!)
19
20
  @wrapped_exception = exception
20
21
  exception.respond_to?(:message) ? super(exception.message) : super(exception.to_s)
21
22
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'base64'
2
3
  require 'rack'
3
4
  require 'openssl'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DiscourseApi
2
- VERSION = "0.34.0"
3
+ VERSION = "0.35.0"
3
4
  end
@@ -44,25 +44,25 @@ describe DiscourseApi::API::Users do
44
44
  describe "#update_avatar" do
45
45
  before do
46
46
  stub_post("http://localhost:3000/uploads").to_return(body: fixture("upload_avatar.json"), headers: { content_type: "application/json" })
47
- stub_put("http://localhost:3000/users/test_user/preferences/avatar/pick").to_return(body: fixture("user_update_avatar_success.json"), headers: { content_type: "application/json" })
47
+ stub_put("http://localhost:3000/u/test_user/preferences/avatar/pick").to_return(body: fixture("user_update_avatar_success.json"), headers: { content_type: "application/json" })
48
48
  end
49
49
 
50
50
  it "uploads an image" do
51
51
  sam = "https://meta-discourse.global.ssl.fastly.net/user_avatar/meta.discourse.org/sam/120/5243.png"
52
- args = { username: 'test_user', url: sam }
53
- response = subject.update_avatar(args)
52
+ args = { url: sam }
53
+ response = subject.update_avatar('test_user', args)
54
54
  expect(response[:body]['success']).to eq('OK')
55
55
  end
56
56
  end
57
57
 
58
58
  describe "#update_email" do
59
59
  before do
60
- stub_put("http://localhost:3000/users/fake_user/preferences/email").to_return(body: fixture("user_update_user.json"), headers: { content_type: "application/json" })
60
+ stub_put("http://localhost:3000/u/fake_user/preferences/email").to_return(body: fixture("user_update_user.json"), headers: { content_type: "application/json" })
61
61
  end
62
62
 
63
63
  it "makes the put request" do
64
64
  subject.update_email("fake_user", "fake_user_2@example.com")
65
- expect(a_put("http://localhost:3000/users/fake_user/preferences/email")).to have_been_made
65
+ expect(a_put("http://localhost:3000/u/fake_user/preferences/email")).to have_been_made
66
66
  end
67
67
 
68
68
  it "returns success" do
@@ -73,14 +73,14 @@ describe DiscourseApi::API::Users do
73
73
 
74
74
  describe "#update_user" do
75
75
  before do
76
- stub_put("http://localhost:3000/users/fake_user").to_return(body: fixture("user_update_user.json"), headers: { content_type: "application/json" })
76
+ stub_put("http://localhost:3000/u/fake_user").to_return(body: fixture("user_update_user.json"), headers: { content_type: "application/json" })
77
77
  end
78
78
 
79
79
  it "makes the put request" do
80
80
  subject.api_key = 'test_d7fd0429940'
81
81
  subject.api_username = 'test_user'
82
82
  subject.update_user("fake_user", name: "Fake User 2")
83
- expect(a_put("http://localhost:3000/users/fake_user")).to have_been_made
83
+ expect(a_put("http://localhost:3000/u/fake_user")).to have_been_made
84
84
  end
85
85
 
86
86
  it "returns success" do
@@ -93,12 +93,12 @@ describe DiscourseApi::API::Users do
93
93
 
94
94
  describe "#update_username" do
95
95
  before do
96
- stub_put("http://localhost:3000/users/fake_user/preferences/username").to_return(body: fixture("user_update_username.json"), headers: { content_type: "application/json" })
96
+ stub_put("http://localhost:3000/u/fake_user/preferences/username").to_return(body: fixture("user_update_username.json"), headers: { content_type: "application/json" })
97
97
  end
98
98
 
99
99
  it "makes the put request" do
100
100
  subject.update_username("fake_user", "fake_user_2")
101
- expect(a_put("http://localhost:3000/users/fake_user/preferences/username")).to have_been_made
101
+ expect(a_put("http://localhost:3000/u/fake_user/preferences/username")).to have_been_made
102
102
  end
103
103
 
104
104
  it "returns the updated username" do
@@ -192,15 +192,15 @@ describe DiscourseApi::API::Users do
192
192
  end
193
193
 
194
194
  it "makes the correct put request" do
195
- params = { user_id: 2, level: 2 }
196
- subject.update_trust_level(params)
195
+ params = { level: 2 }
196
+ subject.update_trust_level(2, params)
197
197
  url = "http://localhost:3000/admin/users/2/trust_level"
198
198
  expect(a_put(url)).to have_been_made
199
199
  end
200
200
 
201
201
  it "updates the trust_level" do
202
- params = { user_id: 2, level: 2 }
203
- admin_user = subject.update_trust_level(params)
202
+ params = { level: 2 }
203
+ admin_user = subject.update_trust_level(2, params)
204
204
  expect(admin_user).to be_a Hash
205
205
  expect(admin_user['admin_user']).to have_key('trust_level')
206
206
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: discourse_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.34.0
4
+ version: 0.35.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Saffron
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2019-04-02 00:00:00.000000000 Z
14
+ date: 2019-05-15 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: faraday
@@ -61,98 +61,98 @@ dependencies:
61
61
  requirements:
62
62
  - - "~>"
63
63
  - !ruby/object:Gem::Version
64
- version: '1.12'
64
+ version: '2.0'
65
65
  type: :development
66
66
  prerelease: false
67
67
  version_requirements: !ruby/object:Gem::Requirement
68
68
  requirements:
69
69
  - - "~>"
70
70
  - !ruby/object:Gem::Version
71
- version: '1.12'
71
+ version: '2.0'
72
72
  - !ruby/object:Gem::Dependency
73
- name: rake
73
+ name: guard
74
74
  requirement: !ruby/object:Gem::Requirement
75
75
  requirements:
76
76
  - - "~>"
77
77
  - !ruby/object:Gem::Version
78
- version: '11.1'
78
+ version: '2.14'
79
79
  type: :development
80
80
  prerelease: false
81
81
  version_requirements: !ruby/object:Gem::Requirement
82
82
  requirements:
83
83
  - - "~>"
84
84
  - !ruby/object:Gem::Version
85
- version: '11.1'
85
+ version: '2.14'
86
86
  - !ruby/object:Gem::Dependency
87
- name: rspec
87
+ name: guard-rspec
88
88
  requirement: !ruby/object:Gem::Requirement
89
89
  requirements:
90
90
  - - "~>"
91
91
  - !ruby/object:Gem::Version
92
- version: '3.4'
92
+ version: '4.7'
93
93
  type: :development
94
94
  prerelease: false
95
95
  version_requirements: !ruby/object:Gem::Requirement
96
96
  requirements:
97
97
  - - "~>"
98
98
  - !ruby/object:Gem::Version
99
- version: '3.4'
99
+ version: '4.7'
100
100
  - !ruby/object:Gem::Dependency
101
- name: webmock
101
+ name: rake
102
102
  requirement: !ruby/object:Gem::Requirement
103
103
  requirements:
104
104
  - - "~>"
105
105
  - !ruby/object:Gem::Version
106
- version: '2.0'
106
+ version: '11.1'
107
107
  type: :development
108
108
  prerelease: false
109
109
  version_requirements: !ruby/object:Gem::Requirement
110
110
  requirements:
111
111
  - - "~>"
112
112
  - !ruby/object:Gem::Version
113
- version: '2.0'
113
+ version: '11.1'
114
114
  - !ruby/object:Gem::Dependency
115
- name: guard-rspec
115
+ name: rb-inotify
116
116
  requirement: !ruby/object:Gem::Requirement
117
117
  requirements:
118
118
  - - "~>"
119
119
  - !ruby/object:Gem::Version
120
- version: '4.7'
120
+ version: '0.9'
121
121
  type: :development
122
122
  prerelease: false
123
123
  version_requirements: !ruby/object:Gem::Requirement
124
124
  requirements:
125
125
  - - "~>"
126
126
  - !ruby/object:Gem::Version
127
- version: '4.7'
127
+ version: '0.9'
128
128
  - !ruby/object:Gem::Dependency
129
- name: guard
129
+ name: rspec
130
130
  requirement: !ruby/object:Gem::Requirement
131
131
  requirements:
132
132
  - - "~>"
133
133
  - !ruby/object:Gem::Version
134
- version: '2.14'
134
+ version: '3.4'
135
135
  type: :development
136
136
  prerelease: false
137
137
  version_requirements: !ruby/object:Gem::Requirement
138
138
  requirements:
139
139
  - - "~>"
140
140
  - !ruby/object:Gem::Version
141
- version: '2.14'
141
+ version: '3.4'
142
142
  - !ruby/object:Gem::Dependency
143
- name: rb-inotify
143
+ name: rubocop
144
144
  requirement: !ruby/object:Gem::Requirement
145
145
  requirements:
146
146
  - - "~>"
147
147
  - !ruby/object:Gem::Version
148
- version: '0.9'
148
+ version: 0.67.2
149
149
  type: :development
150
150
  prerelease: false
151
151
  version_requirements: !ruby/object:Gem::Requirement
152
152
  requirements:
153
153
  - - "~>"
154
154
  - !ruby/object:Gem::Version
155
- version: '0.9'
155
+ version: 0.67.2
156
156
  - !ruby/object:Gem::Dependency
157
157
  name: simplecov
158
158
  requirement: !ruby/object:Gem::Requirement
@@ -167,6 +167,20 @@ dependencies:
167
167
  - - "~>"
168
168
  - !ruby/object:Gem::Version
169
169
  version: '0.11'
170
+ - !ruby/object:Gem::Dependency
171
+ name: webmock
172
+ requirement: !ruby/object:Gem::Requirement
173
+ requirements:
174
+ - - "~>"
175
+ - !ruby/object:Gem::Version
176
+ version: '2.0'
177
+ type: :development
178
+ prerelease: false
179
+ version_requirements: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - "~>"
182
+ - !ruby/object:Gem::Version
183
+ version: '2.0'
170
184
  description: Discourse API
171
185
  email:
172
186
  - sam.saffron@gmail.com
@@ -178,6 +192,7 @@ extensions: []
178
192
  extra_rdoc_files: []
179
193
  files:
180
194
  - ".gitignore"
195
+ - ".rubocop.yml"
181
196
  - ".travis.yml"
182
197
  - CHANGELOG.md
183
198
  - Gemfile
@@ -232,7 +247,6 @@ files:
232
247
  - lib/discourse_api/error.rb
233
248
  - lib/discourse_api/single_sign_on.rb
234
249
  - lib/discourse_api/version.rb
235
- - routes.txt
236
250
  - spec/discourse_api/api/api_key_spec.rb
237
251
  - spec/discourse_api/api/backups_spec.rb
238
252
  - spec/discourse_api/api/badges_spec.rb
@@ -313,8 +327,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
313
327
  - !ruby/object:Gem::Version
314
328
  version: '0'
315
329
  requirements: []
316
- rubyforge_project:
317
- rubygems_version: 2.7.8
330
+ rubygems_version: 3.0.1
318
331
  signing_key:
319
332
  specification_version: 4
320
333
  summary: Allows access to the Discourse API
data/routes.txt DELETED
@@ -1,203 +0,0 @@
1
- forums GET /forums(.:format) forums#index
2
- POST /forums(.:format) forums#create
3
- new_forum GET /forums/new(.:format) forums#new
4
- edit_forum GET /forums/:id/edit(.:format) forums#edit
5
- forum GET /forums/:id(.:format) forums#show
6
- PUT /forums/:id(.:format) forums#update
7
- DELETE /forums/:id(.:format) forums#destroy
8
- srv_status GET /srv/status(.:format) forums#status
9
- admin_users_sync_sso POST /admin/users/sync_sso(.:format) admin/users#sync_sso
10
- generate_key_admin_api_index POST /admin/api/generate_key(.:format) admin/api#generate_key
11
- admin_api_index GET /admin/api(.:format) admin/api#index
12
- email_preferences_redirect GET /email_preferences(.:format) email#preferences_redirect
13
- email_unsubscribe GET /email/unsubscribe/:key(.:format) email#unsubscribe
14
- email_resubscribe POST /email/resubscribe/:key(.:format) email#resubscribe
15
- forgot_password_session_index POST /session/forgot_password(.:format) session#forgot_password {:id=>/[A-Za-z0-9\_]+/}
16
- session_index POST /session(.:format) session#create {:id=>/[A-Za-z0-9\_]+/}
17
- session DELETE /session/:id(.:format) session#destroy {:id=>/[A-Za-z0-9\_]+/}
18
- session_csrf GET /session/csrf(.:format) session#csrf
19
- GET /composer-messages(.:format) composer_messages#index
20
- check_username_users GET /users/check_username(.:format) users#check_username
21
- is_local_username_users GET /users/is_local_username(.:format) users#is_local_username
22
- users GET /users(.:format) users#index
23
- POST /users(.:format) users#create
24
- new_user GET /users/new(.:format) users#new
25
- edit_user GET /users/:id/edit(.:format) users#edit
26
- user DELETE /users/:id(.:format) users#destroy
27
- static_index GET /static(.:format) static#index
28
- POST /static(.:format) static#create
29
- new_static GET /static/new(.:format) static#new
30
- edit_static GET /static/:id/edit(.:format) static#edit
31
- static GET /static/:id(.:format) static#show
32
- PUT /static/:id(.:format) static#update
33
- DELETE /static/:id(.:format) static#destroy
34
- login POST /login(.:format) static#enter
35
- GET /login(.:format) static#show {:id=>"login"}
36
- faq GET /faq(.:format) static#show {:id=>"faq"}
37
- tos GET /tos(.:format) static#show {:id=>"tos"}
38
- privacy GET /privacy(.:format) static#show {:id=>"privacy"}
39
- users_search_users GET /users/search/users(.:format) users#search_users
40
- GET /users/password-reset/:token(.:format) users#password_reset
41
- PUT /users/password-reset/:token(.:format) users#password_reset
42
- GET /users/activate-account/:token(.:format) users#activate_account
43
- GET /users/authorize-email/:token(.:format) users#authorize_email
44
- users_hp GET /users/hp(.:format) users#get_honeypot_value
45
- user_preferences GET /user_preferences(.:format) users#user_preferences_redirect
46
- GET /users/:username/private-messages(.:format) user_actions#private_messages {:username=>/[A-Za-z0-9\_]+/}
47
- GET /users/:username/private-messages/:filter(.:format) user_actions#private_messages {:username=>/[A-Za-z0-9\_]+/}
48
- GET /users/:username(.:format) users#show {:username=>/[A-Za-z0-9\_]+/}
49
- PUT /users/:username(.:format) users#update {:username=>/[A-Za-z0-9\_]+/}
50
- email_preferences GET /users/:username/preferences(.:format) users#preferences {:username=>/[A-Za-z0-9\_]+/}
51
- GET /users/:username/preferences/email(.:format) users#preferences {:username=>/[A-Za-z0-9\_]+/}
52
- PUT /users/:username/preferences/email(.:format) users#change_email {:username=>/[A-Za-z0-9\_]+/}
53
- GET /users/:username/preferences/about-me(.:format) users#preferences {:username=>/[A-Za-z0-9\_]+/}
54
- GET /users/:username/preferences/username(.:format) users#preferences {:username=>/[A-Za-z0-9\_]+/}
55
- PUT /users/:username/preferences/username(.:format) users#username {:username=>/[A-Za-z0-9\_]+/}
56
- GET /users/:username/avatar(/:size)(.:format) users#avatar {:username=>/[A-Za-z0-9\_]+/}
57
- POST /users/:username/preferences/avatar(.:format) users#upload_avatar {:username=>/[A-Za-z0-9\_]+/}
58
- PUT /users/:username/preferences/avatar/toggle(.:format) users#toggle_avatar {:username=>/[A-Za-z0-9\_]+/}
59
- GET /users/:username/invited(.:format) users#invited {:username=>/[A-Za-z0-9\_]+/}
60
- POST /users/:username/send_activation_email(.:format) users#send_activation_email {:username=>/[A-Za-z0-9\_]+/}
61
- GET /users/:username/activity(.:format) users#show {:username=>/[A-Za-z0-9\_]+/}
62
- GET /users/:username/activity/:filter(.:format) users#show {:username=>/[A-Za-z0-9\_]+/}
63
- GET /uploads/:site/:id/:sha.:extension(.:format) uploads#show {:site=>/\w+/, :id=>/\d+/, :sha=>/[a-z0-9]{15,16}/i, :extension=>/\w{2,}/}
64
- uploads POST /uploads(.:format) uploads#create
65
- GET /posts/by_number/:topic_id/:post_number(.:format) posts#by_number
66
- GET /posts/:id/reply-history(.:format) posts#reply_history
67
- post_versions GET /posts/:post_id/versions(.:format) posts#versions
68
- post_bookmark PUT /posts/:post_id/bookmark(.:format) posts#bookmark
69
- post_replies GET /posts/:post_id/replies(.:format) posts#replies
70
- post_recover PUT /posts/:post_id/recover(.:format) posts#recover
71
- destroy_many_posts DELETE /posts/destroy_many(.:format) posts#destroy_many
72
- posts GET /posts(.:format) posts#index
73
- POST /posts(.:format) posts#create
74
- new_post GET /posts/new(.:format) posts#new
75
- edit_post GET /posts/:id/edit(.:format) posts#edit
76
- post GET /posts/:id(.:format) posts#show
77
- PUT /posts/:id(.:format) posts#update
78
- DELETE /posts/:id(.:format) posts#destroy
79
- GET /p/:post_id/:user_id(.:format) posts#short_link
80
- notifications GET /notifications(.:format) notifications#index
81
- POST /notifications(.:format) notifications#create
82
- new_notification GET /notifications/new(.:format) notifications#new
83
- edit_notification GET /notifications/:id/edit(.:format) notifications#edit
84
- notification GET /notifications/:id(.:format) notifications#show
85
- PUT /notifications/:id(.:format) notifications#update
86
- DELETE /notifications/:id(.:format) notifications#destroy
87
- GET|POST /auth/:provider/callback(.:format) users/omniauth_callbacks#complete
88
- auth_failure GET|POST /auth/failure(.:format) users/omniauth_callbacks#failure
89
- track_clicks GET /clicks/track(.:format) clicks#track
90
- clicks GET /clicks(.:format) clicks#index
91
- POST /clicks(.:format) clicks#create
92
- new_click GET /clicks/new(.:format) clicks#new
93
- edit_click GET /clicks/:id/edit(.:format) clicks#edit
94
- click GET /clicks/:id(.:format) clicks#show
95
- PUT /clicks/:id(.:format) clicks#update
96
- DELETE /clicks/:id(.:format) clicks#destroy
97
- excerpt GET /excerpt(.:format) excerpt#show
98
- users_post_actions GET /post_actions/users(.:format) post_actions#users
99
- clear_flags_post_actions POST /post_actions/clear_flags(.:format) post_actions#clear_flags
100
- post_actions GET /post_actions(.:format) post_actions#index
101
- POST /post_actions(.:format) post_actions#create
102
- new_post_action GET /post_actions/new(.:format) post_actions#new
103
- edit_post_action GET /post_actions/:id/edit(.:format) post_actions#edit
104
- post_action GET /post_actions/:id(.:format) post_actions#show
105
- PUT /post_actions/:id(.:format) post_actions#update
106
- DELETE /post_actions/:id(.:format) post_actions#destroy
107
- user_actions GET /user_actions(.:format) user_actions#index
108
- POST /user_actions(.:format) user_actions#create
109
- new_user_action GET /user_actions/new(.:format) user_actions#new
110
- edit_user_action GET /user_actions/:id/edit(.:format) user_actions#edit
111
- user_action GET /user_actions/:id(.:format) user_actions#show
112
- PUT /user_actions/:id(.:format) user_actions#update
113
- DELETE /user_actions/:id(.:format) user_actions#destroy
114
- categories GET /categories(.:format) categories#index
115
- POST /categories(.:format) categories#create
116
- new_category GET /categories/new(.:format) categories#new
117
- edit_category GET /categories/:id/edit(.:format) categories#edit
118
- category PUT /categories/:id(.:format) categories#update
119
- DELETE /categories/:id(.:format) categories#destroy
120
- GET /category/:id/show(.:format) categories#show
121
- category_feed GET /category/:category.rss(.:format) list#category_feed {:format=>:rss}
122
- category_list GET /category/:category(.:format) list#category
123
- category_list_more GET /category/:category/more(.:format) list#category
124
- popular GET /popular(.:format) list#popular_redirect
125
- popular_more GET /popular/more(.:format) list#popular_redirect
126
- latest_feed GET /latest.rss(.:format) list#latest_feed {:format=>:rss, :filter=>:latest}
127
- hot_feed GET /hot.rss(.:format) list#hot_feed {:format=>:rss, :filter=>:hot}
128
- latest GET /latest(.:format) list#latest
129
- latest_more GET /latest/more(.:format) list#latest
130
- hot GET /hot(.:format) list#hot
131
- hot_more GET /hot/more(.:format) list#hot
132
- favorited GET /favorited(.:format) list#favorited
133
- favorited_more GET /favorited/more(.:format) list#favorited
134
- read GET /read(.:format) list#read
135
- read_more GET /read/more(.:format) list#read
136
- posted GET /posted(.:format) list#posted
137
- posted_more GET /posted/more(.:format) list#posted
138
- unread GET /unread(.:format) list#unread
139
- unread_more GET /unread/more(.:format) list#unread
140
- new GET /new(.:format) list#new
141
- new_more GET /new/more(.:format) list#new
142
- search GET /search(.:format) search#query
143
- GET /t/:id(.:format) topics#show
144
- DELETE /t/:id(.:format) topics#destroy
145
- PUT /t/:id(.:format) topics#update
146
- t POST /t(.:format) topics#create
147
- topics_timings POST /topics/timings(.:format) topics#timings
148
- topics_similar_to GET /topics/similar_to(.:format) topics#similar_to
149
- topics_by GET /topics/created-by/:username(.:format) list#topics_by {:username=>/[A-Za-z0-9\_]+/}
150
- topics_private_messages GET /topics/private-messages/:username(.:format) list#private_messages {:username=>/[A-Za-z0-9\_]+/}
151
- topics_private_messages_sent GET /topics/private-messages-sent/:username(.:format) list#private_messages_sent {:username=>/[A-Za-z0-9\_]+/}
152
- topics_private_messages_unread GET /topics/private-messages-unread/:username(.:format) list#private_messages_unread {:username=>/[A-Za-z0-9\_]+/}
153
- GET /t/:slug/:topic_id/wordpress(.:format) topics#wordpress {:topic_id=>/\d+/}
154
- GET /t/:slug/:topic_id/moderator-liked(.:format) topics#moderator_liked {:topic_id=>/\d+/}
155
- GET /t/:topic_id/wordpress(.:format) topics#wordpress {:topic_id=>/\d+/}
156
- GET /t/:slug/:topic_id/best_of(.:format) topics#show {:topic_id=>/\d+/, :post_number=>/\d+/, :best_of=>true}
157
- GET /t/:topic_id/best_of(.:format) topics#show {:topic_id=>/\d+/, :post_number=>/\d+/}
158
- PUT /t/:slug/:topic_id(.:format) topics#update {:topic_id=>/\d+/}
159
- PUT /t/:slug/:topic_id/star(.:format) topics#star {:topic_id=>/\d+/}
160
- PUT /t/:topic_id/star(.:format) topics#star {:topic_id=>/\d+/}
161
- PUT /t/:slug/:topic_id/status(.:format) topics#status {:topic_id=>/\d+/}
162
- PUT /t/:topic_id/status(.:format) topics#status {:topic_id=>/\d+/}
163
- PUT /t/:topic_id/clear-pin(.:format) topics#clear_pin {:topic_id=>/\d+/}
164
- PUT /t/:topic_id/mute(.:format) topics#mute {:topic_id=>/\d+/}
165
- PUT /t/:topic_id/unmute(.:format) topics#unmute {:topic_id=>/\d+/}
166
- PUT /t/:topic_id/autoclose(.:format) topics#autoclose {:topic_id=>/\d+/}
167
- PUT /t/:topic_id/remove-allowed-user(.:format) topics#remove_allowed_user {:topic_id=>/\d+/}
168
- PUT /t/:topic_id/recover(.:format) topics#recover {:topic_id=>/\d+/}
169
- GET /t/:topic_id/:post_number(.:format) topics#show {:topic_id=>/\d+/, :post_number=>/\d+/}
170
- GET /t/:slug/:topic_id.rss(.:format) topics#feed {:topic_id=>/\d+/, :format=>:rss}
171
- GET /t/:slug/:topic_id(.:format) topics#show {:topic_id=>/\d+/}
172
- GET /t/:slug/:topic_id/:post_number(.:format) topics#show {:topic_id=>/\d+/, :post_number=>/\d+/}
173
- GET /t/:topic_id/posts(.:format) topics#posts {:topic_id=>/\d+/}
174
- POST /t/:topic_id/timings(.:format) topics#timings {:topic_id=>/\d+/}
175
- POST /t/:topic_id/invite(.:format) topics#invite {:topic_id=>/\d+/}
176
- POST /t/:topic_id/move-posts(.:format) topics#move_posts {:topic_id=>/\d+/}
177
- POST /t/:topic_id/merge-topic(.:format) topics#merge_topic {:topic_id=>/\d+/}
178
- DELETE /t/:topic_id/timings(.:format) topics#destroy_timings {:topic_id=>/\d+/}
179
- POST /t/:topic_id/notifications(.:format) topics#set_notifications {:topic_id=>/\d+/}
180
- GET /raw/:topic_id(/:post_number)(.:format) posts#markdown
181
- invites GET /invites(.:format) invites#index
182
- POST /invites(.:format) invites#create
183
- new_invite GET /invites/new(.:format) invites#new
184
- edit_invite GET /invites/:id/edit(.:format) invites#edit
185
- invite GET /invites/:id(.:format) invites#show
186
- PUT /invites/:id(.:format) invites#update
187
- DELETE /invites/:id(.:format) invites#destroy
188
- DELETE /invites(.:format) invites#destroy
189
- onebox GET /onebox(.:format) onebox#show
190
- error GET /error(.:format) forums#error
191
- GET /message-bus/poll(.:format) message_bus#poll
192
- draft GET /draft(.:format) draft#show
193
- POST /draft(.:format) draft#update
194
- DELETE /draft(.:format) draft#destroy
195
- GET /robots.txt(.:format) robots_txt#index
196
- list_latest / list#latest
197
- list_hot / list#hot
198
- list_unread / list#unread
199
- list_new / list#new
200
- list_favorited / list#favorited
201
- list_read / list#read
202
- list_posted / list#posted
203
- categories_index / categories#index