discourse_api 0.10.0 → 0.10.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e57bcd2a78c13b23aec46e81e2d724162fd10961
4
- data.tar.gz: f389353f7d7ba78e7922eeadd8c97b5a5522cf60
3
+ metadata.gz: 3af8ad3a0d23af70f79f3ddb2f65793588101c8f
4
+ data.tar.gz: 05ad2d4a02ea54c36327e6a8b2f0802cc9bf1481
5
5
  SHA512:
6
- metadata.gz: ad4e8dd9988cdcb700e329dd0bc12b13793cfdee35625c01a8a1891294615e84e17ea265cad4078a1a12253a94db9e8498343f185187f70fae22fdea05cb9266
7
- data.tar.gz: a3af5756b6f6f93e1db8272a8b4964ab77043d433fa3147fd42c54cd1fcfeefd48f518f1b148f0d4a7c1e9ff032d520cd31997dfd662dc4b585ae20d28e29088
6
+ metadata.gz: 68449b81818c0e042ac7b55f016e8919b3f91a2ab58fdc84b07f4fd311a149f9d5854ef9dcd54516f52b8616d29e630833c68fae30bd0473550d7429459f4a35
7
+ data.tar.gz: 9992861878efb6dc3448b2fc6893c4e11b4f191091599ba2b4ab31d3d5c8e7137a40ae3aa7bc6cba7f1a0a16d010577d4724b19a32383a4c26b73bf49656fa17
data/examples/groups.rb CHANGED
@@ -18,3 +18,8 @@ client.group_remove(group_id, username: "neil")
18
18
  client.group_remove(group_id, user_id: 123)
19
19
 
20
20
  client.delete_group(group_id)
21
+
22
+ ## List users of a group
23
+
24
+ members = client.group_members('trust_level_0')
25
+ puts members
@@ -27,16 +27,24 @@ module DiscourseApi
27
27
  url = "#{url}?page=#{params[:page]}"
28
28
  end
29
29
  response = get(url)
30
- response[:body]['topic_list']['topics']
30
+ if response[:body]['errors']
31
+ response[:body]['errors']
32
+ else
33
+ response[:body]['topic_list']['topics']
34
+ end
31
35
  end
32
36
 
33
37
  def category_top_topics(category_slug)
34
- response = get("/category/#{category_slug}/l/top.json")
35
- response[:body]['topic_list']['topics']
38
+ response = get("/c/#{category_slug}/l/top.json")
39
+ if response[:body]['errors']
40
+ response[:body]['errors']
41
+ else
42
+ response[:body]['topic_list']['topics']
43
+ end
36
44
  end
37
45
 
38
46
  def category_new_topics(category_slug)
39
- response = get("/category/#{category_slug}/l/new.json")
47
+ response = get("/c/#{category_slug}/l/new.json")
40
48
  response[:body]['topic_list']['topics']
41
49
  end
42
50
 
@@ -8,6 +8,9 @@ module DiscourseApi
8
8
  # @option options [String] :type_filter Returns results of the specified type.
9
9
  # @return [Array] Return results as an array of Hashes.
10
10
  def search(term, options={})
11
+ raise ArgumentError.new("#{term} is required but not specified") unless term
12
+ raise ArgumentError.new("#{term} is required but not specified") unless !term.empty?
13
+
11
14
  response = get('/search/query', options.merge(term: term))
12
15
  response[:body]
13
16
  end
@@ -1,3 +1,3 @@
1
1
  module DiscourseApi
2
- VERSION = "0.10.0"
2
+ VERSION = "0.10.1"
3
3
  end
@@ -41,7 +41,7 @@ describe DiscourseApi::API::Categories do
41
41
 
42
42
  describe '#category_top_topics' do
43
43
  before do
44
- stub_get("http://localhost:3000/category/category-slug/l/top.json?api_key=test_d7fd0429940&api_username=test_user")
44
+ stub_get("http://localhost:3000/c/category-slug/l/top.json?api_key=test_d7fd0429940&api_username=test_user")
45
45
  .to_return(
46
46
  body: fixture("category_topics.json"),
47
47
  headers: { content_type: "application/json" }
@@ -56,7 +56,7 @@ describe DiscourseApi::API::Categories do
56
56
 
57
57
  describe '#category_new_topics' do
58
58
  before do
59
- stub_get("http://localhost:3000/category/category-slug/l/new.json?api_key=test_d7fd0429940&api_username=test_user")
59
+ stub_get("http://localhost:3000/c/category-slug/l/new.json?api_key=test_d7fd0429940&api_username=test_user")
60
60
  .to_return(
61
61
  body: fixture("category_topics.json"),
62
62
  headers: { content_type: "application/json" }
@@ -18,5 +18,13 @@ describe DiscourseApi::API::Search do
18
18
  expect(results).to be_an Array
19
19
  expect(results.first).to be_a Hash
20
20
  end
21
+
22
+ it "raises an ArgumentError for nil" do
23
+ expect { subject.search(nil) }.to raise_error(ArgumentError)
24
+ end
25
+
26
+ it "raises an ArgumentError for empty string" do
27
+ expect { subject.search('') }.to raise_error(ArgumentError)
28
+ end
21
29
  end
22
30
  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.10.0
4
+ version: 0.10.1
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: 2016-04-19 00:00:00.000000000 Z
14
+ date: 2016-05-05 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: faraday