Module: Unchanging
- Defined in:
- lib/unchanging.rb,
lib/unchanging/version.rb
Defined Under Namespace
Classes: Error
Constant Summary collapse
- API =
"http://127.0.0.1:5001/api/v0"- VERSION =
"0.1.0"
Class Method Summary collapse
-
.<<(content) ⇒ String
Upload content to IPFS and return the CID.
-
.[](cid) ⇒ String
Retrieve content from IPFS by CID.
Class Method Details
.<<(content) ⇒ String
Upload content to IPFS and return the CID
14 15 16 17 18 19 20 21 22 |
# File 'lib/unchanging.rb', line 14 def self.<< content uri = URI(Unchanging::API + "/add") request = Net::HTTP::Post.new(uri) request.set_form([['file', content]], 'multipart/form-data') response = Net::HTTP.start(uri.hostname, uri.port) { |http| http.request(request) } raise "HTTP Error: #{response.code}" unless response.is_a?(Net::HTTPSuccess) result = JSON.parse(response.body) result['Hash'] end |
.[](cid) ⇒ String
Retrieve content from IPFS by CID
27 28 29 30 31 32 33 34 |
# File 'lib/unchanging.rb', line 27 def self.[] cid uri = URI(Unchanging::API + "/cat") uri.query = URI.encode_www_form(arg: cid) request = Net::HTTP::Post.new(uri) response = Net::HTTP.start(uri.hostname, uri.port) { |http| http.request(request) } raise "HTTP Error: #{response.code}" unless response.is_a?(Net::HTTPSuccess) response.body end |