slideshare_api 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e776ba29ac6587e0d9c29059fb8cd152b5b78ba0
4
- data.tar.gz: 9b7c6b750b62c5a9ed91d24f5788dfdd67774854
3
+ metadata.gz: a16c3c28fdd13a8757eae15e401b942d07599654
4
+ data.tar.gz: 24dded61dd55b4c4e6904d65d59cfc525a61dc2d
5
5
  SHA512:
6
- metadata.gz: b9f3a09abb779cd3c354422f54dcc0908a38ac4abd539afdf706ef42a604606853aa6f9b68ca7ec6373c1b67d8879af51ddf5c679df0c7db705070b052667191
7
- data.tar.gz: e2fef5a4c8e05202299bb1e1f27677118b37b4c05360e924e31a21372e4a138b9b7b21c1f0ca0f286e25830e57f76938f8267439421b24e36ca308aea71acafd
6
+ metadata.gz: 5de9915459364d8e66cd91f010ac846fdb01d7e818089a163e4293af3d3a5dbd85107039b9b928d6009cf72b0031cae2f115b51dc15e38819f22afefa9eb1d05
7
+ data.tar.gz: 914887caefb636f54055fb34404e0dff6089dbea91435e8b7e3491dd6cd10162e52d6290a0576bc99b50e640d29d7622e4673c6b68364b2f7006e5fc9d53eb0e
data/README.md CHANGED
@@ -30,7 +30,7 @@ shared_secret = 'your shared secret'
30
30
  client = SlideshareApi::Client.new api_key, shared_secret
31
31
  ```
32
32
 
33
- Get a slideshow:
33
+ **Get a slideshow:**
34
34
  ```ruby
35
35
  # from url...
36
36
  slideshow_url = 'http://fr.slideshare.net/awesome/slideshow'
@@ -44,7 +44,7 @@ slideshow = client.slideshow(slideshow_id: slideshow_id) #=> returns a Slideshar
44
44
  slideshow = client.slideshow(slideshow_id: slideshow_id, detailed: true) #=> returns a SlideshareApi::Model::Slideshow
45
45
  ```
46
46
 
47
- Get slideshows:
47
+ **Get slideshows:**
48
48
  ```ruby
49
49
  # by tag...
50
50
  tag = 'ruby'
@@ -62,11 +62,25 @@ slideshows = client.slideshows(user: user) #=> returns an array of SlideshareApi
62
62
  slideshows = client.slideshows(user: user, detailed: true) #=> returns an array of SlideshareApi::Model::Slideshow
63
63
  ```
64
64
 
65
- Search slideshows:
65
+ **Search slideshows:**
66
66
  ```ruby
67
67
  query = 'elcurator'
68
- slideshows = client.search(query) #=> returns an array of SlideshareApi::Model::Slideshow
68
+ options = {detailed: true, page: 2}
69
+ slideshows = client.search(query, options) #=> returns an array of SlideshareApi::Model::Slideshow
69
70
  ```
71
+ Optional search parameters:
72
+
73
+ | Option | Default | Can be |
74
+ | ------------ | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
75
+ | detailed | false | true, false |
76
+ | page | 1 | |
77
+ | per_page | 12 | maximum: 50 |
78
+ | language | 'en' | '**' (All), 'es' (Spanish), 'pt' (Portuguese), 'fr' (French), 'it' (Italian), 'nl' (Dutch), 'de' (German), 'zh' (Chinese), 'ja' (Japanese), 'ko' (Korean), 'ro' (Romanian), '!!' (Other) |
79
+ | ordered_by  | 'relevance' | 'mostviewed', 'mostdownloaded', 'lastest' |
80
+ | upload_date | 'any' | 'week', 'month', 'year' |
81
+ | downloadable | all | true, false |
82
+ | format | 'all' | 'pdf' (PDF), 'ppt' (PowerPoint), 'odp' (Open Office), 'pps' (PowerPoint Slideshow), 'pot' (PowerPoint template) |
83
+ | type | 'all'  | 'presentations', 'documents', 'webinars', 'videos', 'infographics' |
70
84
 
71
85
  ## Contributing
72
86
  Feel free to contribute!
@@ -19,7 +19,7 @@ module SlideshareApi
19
19
  params = {}
20
20
  params.merge!(slideshow_url: cleaned_url(options[:slideshow_url])) if options[:slideshow_url]
21
21
  params.merge!(slideshow_id: options[:slideshow_id]) if options[:slideshow_id]
22
- params.merge!(detailed: 1) if options[:detailed]
22
+ params.merge!(detailed: options[:detailed] ? 0 : 1) if options.has_key?(:detailed)
23
23
  SlideshareApi::Model::Slideshow.new get('get_slideshow', params)
24
24
  end
25
25
 
@@ -38,13 +38,22 @@ module SlideshareApi
38
38
  raise SlideshareApi::Error, 'Required Parameter Missing'
39
39
  end
40
40
 
41
- params.merge!(detailed: 1) if options[:detailed]
41
+ params.merge!(detailed: options[:detailed] ? 1 : 0) if options.has_key?(:detailed)
42
42
  get(path, params).search('Slideshow').map { |s| SlideshareApi::Model::Slideshow.new(s) }
43
43
  end
44
44
 
45
- def search(query)
45
+ def search(query, options = {})
46
46
  params = {}
47
47
  params.merge!(q: query)
48
+ params.merge!(detailed: options[:detailed] ? 1 : 0) if options.has_key?(:detailed)
49
+ params.merge!(page: options[:page]) if options[:page]
50
+ params.merge!(items_per_page: options[:per_page]) if options[:per_page]
51
+ params.merge!(lang: options[:language]) if options[:language]
52
+ params.merge!(sort: options[:ordered_by]) if options[:ordered_by]
53
+ params.merge!(upload_date: options[:upload_date]) if options[:upload_date]
54
+ params.merge!(download: options[:downloadable] ? 1 : 0) if options.has_key?(:downloadable)
55
+ params.merge!(fileformat: options[:format]) if options[:format]
56
+ params.merge!(file_type: options[:type]) if options[:type]
48
57
  get('search_slideshows', params).search('Slideshow').map { |s| SlideshareApi::Model::Slideshow.new(s) }
49
58
  end
50
59
 
@@ -1,3 +1,3 @@
1
1
  module SlideshareApi
2
- VERSION = '0.0.8'
2
+ VERSION = '0.0.9'
3
3
  end
@@ -132,12 +132,24 @@ describe SlideshareApi::Client do
132
132
  let(:query) { 'query' }
133
133
  let(:slideshows_raw_xml) { open('spec/fixtures/slideshows.xml').read }
134
134
 
135
- before { expect(connection).to receive(:get).with('search_slideshows', api_validation_params.merge({q: query})).and_return(connection) }
136
- before { expect(connection).to receive(:body).and_return(slideshows_raw_xml) }
135
+ context 'without options' do
136
+ before { expect(connection).to receive(:get).with('search_slideshows', api_validation_params.merge({q: query})).and_return(connection) }
137
+ before { expect(connection).to receive(:body).and_return(slideshows_raw_xml) }
138
+
139
+ subject { slideshare_client.search query }
140
+
141
+ it { should eq Nokogiri::XML(slideshows_raw_xml).search('Slideshow').map { |s| SlideshareApi::Model::Slideshow.new(s) } }
142
+ end
143
+
144
+ context 'with params' do
145
+ let(:params) { {q: query, detailed: 1, page: 2, items_per_page: 10, lang: 'fr', sort: 'mostviewed', upload_date: 'month', download: 0, fileformat: 'ppt', file_type: 'videos'} }
146
+ before { expect(connection).to receive(:get).with('search_slideshows', api_validation_params.merge(params)).and_return(connection) }
147
+ before { expect(connection).to receive(:body).and_return(slideshows_raw_xml) }
137
148
 
138
- subject { slideshare_client.search query }
149
+ subject { slideshare_client.search query, detailed: true, page: 2, per_page: 10, language: 'fr', ordered_by: 'mostviewed', upload_date: 'month', downloadable: false, format: 'ppt', type: 'videos' }
139
150
 
140
- it { should eq Nokogiri::XML(slideshows_raw_xml).search('Slideshow').map { |s| SlideshareApi::Model::Slideshow.new(s) } }
151
+ it { should eq Nokogiri::XML(slideshows_raw_xml).search('Slideshow').map { |s| SlideshareApi::Model::Slideshow.new(s) } }
152
+ end
141
153
  end
142
154
  end
143
155
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slideshare_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Venezia
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-01 00:00:00.000000000 Z
11
+ date: 2014-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler