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 +4 -4
- data/README.md +18 -4
- data/lib/slideshare_api/client.rb +12 -3
- data/lib/slideshare_api/version.rb +1 -1
- data/spec/client_spec.rb +16 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a16c3c28fdd13a8757eae15e401b942d07599654
|
4
|
+
data.tar.gz: 24dded61dd55b4c4e6904d65d59cfc525a61dc2d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
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
|
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
|
|
data/spec/client_spec.rb
CHANGED
@@ -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
|
-
|
136
|
-
|
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
|
-
|
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
|
-
|
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.
|
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-
|
11
|
+
date: 2014-09-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|