Module: Lagotto
- Defined in:
- lib/lagotto-rb.rb,
lib/lagotto-rb/req.rb,
lib/lagotto-rb/request.rb,
lib/lagotto-rb/version.rb
Overview
Lagotto::Request
Defined Under Namespace
Classes: BasicRequest, Request
Constant Summary collapse
- VERSION =
"0.2.0"
Class Method Summary collapse
-
.docs(id: nil, instance: 'plos', options: nil, verbose: false) ⇒ Hash
Make a ‘/docs` route request.
-
.events(ids: nil, type: nil, source: nil, publisher: nil, order: nil, per_page: 50, page: 1, instance: 'plos', key: nil, options: nil, verbose: false) ⇒ Hash
Make a ‘/events` route request.
-
.groups(id: nil, page: 1, instance: 'plos', options: nil, verbose: false) ⇒ Hash
Make a ‘/groups` route request.
-
.publishers(id: nil, page: 1, instance: 'plos', options: nil, verbose: false) ⇒ Hash
Make a ‘/publishers` route request.
-
.recommendations(id:, instance: 'plos', options: nil, verbose: false) ⇒ Hash
Make a ‘/recommendations` route request.
-
.references(work_id: nil, work_ids: nil, q: nil, relation_type_id: nil, source_id: nil, page: 1, per_page: 1000, instance: 'plos', options: nil, verbose: false) ⇒ Hash
Make a ‘/references` route request.
-
.relation_types(id: nil, instance: 'plos', options: nil, verbose: false) ⇒ Hash
Make a ‘/relation_types` route request.
-
.sources(id: nil, instance: 'plos', options: nil, verbose: false) ⇒ Hash
Make a ‘/sources` route request.
-
.status(key: nil, instance: 'plos', options: nil, verbose: false) ⇒ Hash
Make a ‘/status` route request.
-
.work_types(instance: 'plos', options: nil, verbose: false) ⇒ Hash
Make a ‘/work_types` route request.
-
.works(ids: nil, type: nil, source: nil, publisher: nil, order: nil, per_page: 50, page: 1, instance: 'plos', key: nil, options: nil, verbose: false) ⇒ Hash
Make a ‘/works` route request.
-
.works_sources(source: nil, per_page: 50, page: 1, instance: 'plos', key: nil, options: nil, verbose: false) ⇒ Object
# many sources sources = [‘facebook’,‘twitter’,‘mendeley’] sources.collect { |x| Lagotto.works_sources(source: x, per_page: 1) }.
Class Method Details
.docs(id: nil, instance: 'plos', options: nil, verbose: false) ⇒ Hash
Make a ‘/docs` route request
255 256 257 258 259 260 261 |
# File 'lib/lagotto-rb.rb', line 255 def self.docs(id: nil, instance: 'plos', options: nil, verbose: false) url = pick_url(instance) + '/docs' if !id.nil? url = url + '/' + id.to_s end BasicRequest.new(url, '', nil, , verbose, {}).perform end |
.events(ids: nil, type: nil, source: nil, publisher: nil, order: nil, per_page: 50, page: 1, instance: 'plos', key: nil, options: nil, verbose: false) ⇒ Hash
Make a ‘/events` route request
138 139 140 141 142 143 144 145 146 147 148 149 |
# File 'lib/lagotto-rb.rb', line 138 def self.events(ids: nil, type: nil, source: nil, publisher: nil, order: nil, per_page: 50, page: 1, instance: 'plos', key: nil, options: nil, verbose: false) test_length(source) type_check(page, Fixnum) type_check(per_page, Fixnum) url = pick_url(instance) ids = join_ids(ids) Request.new(url, 'events', ids, type, source, publisher, order, per_page, page, key, , verbose).perform end |
.groups(id: nil, page: 1, instance: 'plos', options: nil, verbose: false) ⇒ Hash
Make a ‘/groups` route request
187 188 189 190 191 192 193 |
# File 'lib/lagotto-rb.rb', line 187 def self.groups(id: nil, page: 1, instance: 'plos', options: nil, verbose: false) url = pick_url(instance) + '/groups' if !id.nil? url = url + '/' + id.to_s end BasicRequest.new(url, '', nil, , verbose, {}).perform end |
.publishers(id: nil, page: 1, instance: 'plos', options: nil, verbose: false) ⇒ Hash
Make a ‘/publishers` route request
165 166 167 168 169 170 171 |
# File 'lib/lagotto-rb.rb', line 165 def self.publishers(id: nil, page: 1, instance: 'plos', options: nil, verbose: false) url = pick_url(instance) + '/publishers' if !id.nil? url = url + '/' + id.to_s end BasicRequest.new(url, '', nil, , verbose, {}).perform end |
.recommendations(id:, instance: 'plos', options: nil, verbose: false) ⇒ Hash
Make a ‘/recommendations` route request
317 318 319 320 |
# File 'lib/lagotto-rb.rb', line 317 def self.recommendations(id:, instance: 'plos', options: nil, verbose: false) url = pick_url(instance) + '/works/' + id.to_s + '/recommendations' BasicRequest.new(url, '', nil, , verbose, {}).perform end |
.references(work_id: nil, work_ids: nil, q: nil, relation_type_id: nil, source_id: nil, page: 1, per_page: 1000, instance: 'plos', options: nil, verbose: false) ⇒ Hash
Make a ‘/references` route request
Returns list of references for a particular work, source and/or relation_type
215 216 217 218 219 220 221 222 223 224 |
# File 'lib/lagotto-rb.rb', line 215 def self.references(work_id: nil, work_ids: nil, q: nil, relation_type_id: nil, source_id: nil, page: 1, per_page: 1000, instance: 'plos', options: nil, verbose: false) url = pick_url(instance) args = { work_id: work_id, work_ids: work_ids, q: q, relation_type_id: relation_type_id, source_id: source_id, page: page, per_page: per_page } BasicRequest.new(url, 'references', nil, , verbose, args).perform end |
.relation_types(id: nil, instance: 'plos', options: nil, verbose: false) ⇒ Hash
Make a ‘/relation_types` route request
276 277 278 279 280 281 282 |
# File 'lib/lagotto-rb.rb', line 276 def self.relation_types(id: nil, instance: 'plos', options: nil, verbose: false) url = pick_url(instance) + '/relation_types' if !id.nil? url = url + '/' + id.to_s end BasicRequest.new(url, '', nil, , verbose, {}).perform end |
.sources(id: nil, instance: 'plos', options: nil, verbose: false) ⇒ Hash
Make a ‘/sources` route request
297 298 299 300 301 302 303 |
# File 'lib/lagotto-rb.rb', line 297 def self.sources(id: nil, instance: 'plos', options: nil, verbose: false) url = pick_url(instance) + '/sources' if !id.nil? url = url + '/' + id.to_s end BasicRequest.new(url, '', nil, , verbose, {}).perform end |
.status(key: nil, instance: 'plos', options: nil, verbose: false) ⇒ Hash
Make a ‘/status` route request
335 336 337 338 |
# File 'lib/lagotto-rb.rb', line 335 def self.status(key: nil, instance: 'plos', options: nil, verbose: false) url = pick_url(instance) BasicRequest.new(url, 'status', key, , verbose, {}).perform end |
.work_types(instance: 'plos', options: nil, verbose: false) ⇒ Hash
Make a ‘/work_types` route request
237 238 239 240 |
# File 'lib/lagotto-rb.rb', line 237 def self.work_types(instance: 'plos', options: nil, verbose: false) url = pick_url(instance) BasicRequest.new(url, 'work_types', nil, , verbose, {}).perform end |
.works(ids: nil, type: nil, source: nil, publisher: nil, order: nil, per_page: 50, page: 1, instance: 'plos', key: nil, options: nil, verbose: false) ⇒ Hash
Make a ‘/works` route request
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/lagotto-rb.rb', line 67 def self.works(ids: nil, type: nil, source: nil, publisher: nil, order: nil, per_page: 50, page: 1, instance: 'plos', key: nil, options: nil, verbose: false) test_length(source) type_check(page, Fixnum) type_check(per_page, Fixnum) # test_values('id_type', id_type, ['doi','pmid','pmcid','mendeley_uuid']) # test_values('instance', instance, ['plos','crossref','copernicus','elife','pensoft','pkp']) url = pick_url(instance) ids = join_ids(ids) Request.new(url, 'works', ids, type, source, publisher, order, per_page, page, key, , verbose).perform end |
.works_sources(source: nil, per_page: 50, page: 1, instance: 'plos', key: nil, options: nil, verbose: false) ⇒ Object
# many sources
sources = ['facebook','twitter','mendeley']
sources.collect { |x| Lagotto.works_sources(source: x, per_page: 1) }
104 105 106 107 108 109 110 |
# File 'lib/lagotto-rb.rb', line 104 def self.works_sources(source: nil, per_page: 50, page: 1, instance: 'plos', key: nil, options: nil, verbose: false) url = pick_url(instance) Request.new(url, 'works', nil, nil, source, nil, nil, per_page, page, key, , verbose).perform end |