slideshare_api 0.0.8 → 0.0.9

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: 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