class Riddl::Wrapper::Description

Constants

Composition

Public Class Methods

new(riddl) click to toggle source
# File lib/ruby/riddl/wrapper/description.rb, line 58
def initialize(riddl)
  #{{{
  @resource = Riddl::Wrapper::Description::Resource.new("/")
  @riddl = riddl
  des = riddl.root
  desres = des.find("/des:description/des:resource").first
  add_description(des,@resource,desres)
  #}}}
end

Public Instance Methods

get_resource(path) click to toggle source
# File lib/ruby/riddl/wrapper/description.rb, line 12
def get_resource(path)
  get_resource_deep(path,@resource)
end
paths(res=@resource,what='') click to toggle source
# File lib/ruby/riddl/wrapper/description.rb, line 9
def paths(res=@resource,what='')
  rpaths(res,what)
end
visualize(res=@resource,what='') click to toggle source
# File lib/ruby/riddl/wrapper/description.rb, line 16
def visualize(res=@resource,what='')
  #{{{
  what += res.path
  puts what
  res.access_methods.each do |k,v|
    puts "  #{k.upcase}:"
    v.each_with_index do |l,i|
      l.each do |r|
        puts "    #{r.class.name.gsub(/[^\:]+::/,'')}: #{r.visualize}"
      end
    end
  end
  res.resources.each do |key,r|
    visualize(r,what + (what == '/' ? ''  : '/'))
  end
  #}}}
end
xml() click to toggle source
# File lib/ruby/riddl/wrapper/description.rb, line 34
def xml
  @riddl.to_s
end

Private Instance Methods

add_description(des,res,desres,path=nil,rec=nil) click to toggle source
# File lib/ruby/riddl/wrapper/description.rb, line 38
def add_description(des,res,desres,path=nil,rec=nil)
  #{{{
  unless path.nil?
    unless res.resources.has_key?(path)
      res.resources[path] = Riddl::Wrapper::Description::Resource.new(path,rec.nil? ? false : true)
    end
    res = res.resources[path]
  end
  res.add_access_methods(des,desres,0,nil)
  res.add_custom(desres)
  desres.find("des:resource").each do |tdesres|
    cpath = tdesres.attributes['relative'] || "{}"
    rec = tdesres.attributes['recursive']
    add_description(des,res,tdesres,cpath,rec)
  end
  nil
  #}}}
end