class Shaf::ApiDoc::LinkRelations
Constants
- IANA_URL
Public Class Methods
[](key)
click to toggle source
# File lib/shaf/api_doc/link_relations.rb, line 29 def [](key) relations[key] end
[]=(key, value)
click to toggle source
# File lib/shaf/api_doc/link_relations.rb, line 33 def []=(key, value) relations[key] = value end
add(link_relation)
click to toggle source
# File lib/shaf/api_doc/link_relations.rb, line 37 def add(link_relation) relations[link_relation.name] = link_relation end
all()
click to toggle source
# File lib/shaf/api_doc/link_relations.rb, line 25 def all relations.values end
load_iana()
click to toggle source
# File lib/shaf/api_doc/link_relations.rb, line 41 def load_iana csv.each do |name, desc, ref, notes| next if name == 'Relation Name' add LinkRelation.new(name, desc, ref, notes) end end
Private Class Methods
csv()
click to toggle source
# File lib/shaf/api_doc/link_relations.rb, line 58 def csv if File.readable? tmp_file_name content = File.read(tmp_file_name) return CSV.new(content) end response = Net::HTTP.get_response(IANA_URL) if response.code.to_i == 200 content = response.body File.open(tmp_file_name, 'w') { |file| file.write(content) } CSV.new(content) else Utils.iana_link_relations_csv end end
relations()
click to toggle source
# File lib/shaf/api_doc/link_relations.rb, line 50 def relations @relations ||= {} end
tmp_file_name()
click to toggle source
# File lib/shaf/api_doc/link_relations.rb, line 54 def tmp_file_name File.join(Dir.tmpdir, 'shaf_iana_link_relations') end