Project

General

Profile

Feature #12038

Please add documentation to open-uri showing how to obtain an attachment

Added by shevegen (Robert A. Heiler) over 3 years ago. Updated over 3 years ago.

Status:
Third Party's Issue
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:73599]

Description

The current documentation for open-uri is at:

ruby-doc.org/stdlib-2.3.0/libdoc/open-uri/rdoc/OpenURI.html

I am trying to download:

http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nuccore&id=189458859&rettype=fasta&retmode=text

This gives a text file (fasta file) which has sequence information for a human gene.

With open-uri I get this metadata:

#,
meta (mathew murphy)=
{"date"=>"Sat, 30 Jan 2016 10:37:29 GMT",
"server"=>"Apache",
"access-control-allow-origin"=>"",
"cache-control"=>"private",
"content-disposition"=>"attachment; filename=sequence.fasta",
"ncbi-sid"=>"9DFD1FFC6AC92691_0807SID",
"content-type"=>"text/plain",
"set-cookie"=>
"ncbi_sid=9DFD1FFC6AC92691_0807SID; domain=.nih.gov; path=/; expires=Mon, 30 Jan 2017 10:37:29 GMT",
"x-ua-compatible"=>"IE=Edge",
"transfer-encoding"=>"chunked"},
@metas=
{"date"=>["Sat, 30 Jan 2016 10:37:29 GMT"],
"server"=>["Apache"],
"access-control-allow-origin"=>["
"],
"cache-control"=>["private"],
"content-disposition"=>["attachment; filename=sequence.fasta"],
"ncbi-sid"=>["9DFD1FFC6AC92691_0807SID"],
"content-type"=>["text/plain"],
"set-cookie"=>
["ncbi_sid=9DFD1FFC6AC92691_0807SID; domain=.nih.gov; path=/; expires=Mon, 30 Jan 2017 10:37:29 GMT"],
"x-ua-compatible"=>["IE=Edge"],
"transfer-encoding"=>["chunked"]},
@status=["200", "OK"]>

I assume that the important part is:

"content-disposition"=>["attachment; filename=sequence.fasta"]

So there is an attachment.

I googled, found some stackoverflow answers; most refer to rails
though but I want a pure ruby solution.

Now here is my request:

  • Could someone show a simple example for the open-uri documentation in how users are able to obtain an attachment, if this fits to open-uri? (If it does not fit to open-uri, then this can be omitted; but if default ruby provides this, perhaps some documentation can be added for that).

Thanks for reading anyway!

History

Updated by shevegen (Robert A. Heiler) over 3 years ago

al2o3-cr on IRC showed the solution:

File.write('foo.txt', open("http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nuccore&id=189458859&rettype=fasta&retmode=text").read)

So it was indeed quite simple.

Maybe some documentation could still be added to open-uri even though this is not a part
of open-uri directly?

Perhaps other people may run into similar situations.

At any rate, I think that this can be closed. Thanks.

Updated by naruse (Yui NARUSE) over 3 years ago

  • Status changed from Open to Third Party's Issue

Also available in: Atom PDF