class Riddl::Client

}}}

Attributes

base[R]

Public Class Methods

facade(riddl,options={}) click to toggle source
# File lib/ruby/riddl/client.rb, line 115
def self::facade(riddl,options={})
  new(nil,riddl,options)
end
interface(base,riddl,options={}) click to toggle source
# File lib/ruby/riddl/client.rb, line 112
def self::interface(base,riddl,options={})
  new(base,riddl,options)
end
location(base,options={}) click to toggle source
# File lib/ruby/riddl/client.rb, line 109
def self::location(base,options={})
  new(base,nil,options)
end
new(base, riddl=nil, options={}) click to toggle source

{{{

# File lib/ruby/riddl/client.rb, line 86
def initialize(base, riddl=nil, options={})
  @base = base.nil? ? '' : base.gsub(/\/+$/,'')
  @options = options
  @wrapper = nil
  if @base !~ RIDDL_URL_PATTERN
    raise ConnectionError, 'An RFC 3986 URI as target is required. Pro tip: (http|https|xmpp)://...'
  end
  if @options[:custom_protocol]
    @options[:custom_protocol] = @options[:custom_protocol].new(@base,@options)
  end
  unless riddl.nil?
    @wrapper = (riddl.class == Riddl::Wrapper ? riddl : Riddl::Wrapper::new(riddl))
    if @wrapper.declaration? && !base.nil?
      @wrapper = @wrapper.declaration.description
    end
    raise SpecificationError, 'No RIDDL description or declaration found.' if !@wrapper.description? && !@wrapper.declaration?
    raise SpecificationError, 'RIDDL does not conform to specification' unless @wrapper.validate!
    @wrapper.load_necessary_handlers!
    @wrapper.load_necessary_roles!
  end
end

Public Instance Methods

delete(parameters = []) click to toggle source
# File lib/ruby/riddl/client.rb, line 129
def delete(parameters = []);          resource.delete(parameters);          end
get(parameters = []) click to toggle source
# File lib/ruby/riddl/client.rb, line 122
def get(parameters = []);             resource.get(parameters);             end
patch(parameters = []) click to toggle source
# File lib/ruby/riddl/client.rb, line 127
def patch(parameters = []);           resource.patch(parameters);           end
post(parameters = []) click to toggle source
# File lib/ruby/riddl/client.rb, line 124
def post(parameters = []);            resource.post(parameters);            end
put(parameters = []) click to toggle source
# File lib/ruby/riddl/client.rb, line 126
def put(parameters = []);             resource.put(parameters);             end
request(what) click to toggle source
# File lib/ruby/riddl/client.rb, line 131
def request(what)                     resource.request(what);               end
resource(path="") click to toggle source
# File lib/ruby/riddl/client.rb, line 119
def resource(path="")
  Resource.new(@base,@wrapper,path,@options)
end
simulate_delete(parameters = []) click to toggle source
# File lib/ruby/riddl/client.rb, line 130
def simulate_delete(parameters = []); resource.simulate_delete(parameters); end
simulate_get(parameters = []) click to toggle source
# File lib/ruby/riddl/client.rb, line 123
def simulate_get(parameters = []);    resource.simulate_get(parameters);    end
simulate_post(parameters = []) click to toggle source
# File lib/ruby/riddl/client.rb, line 125
def simulate_post(parameters = []);   resource.simulate_post(parameters);   end
simulate_put(parameters = []) click to toggle source
# File lib/ruby/riddl/client.rb, line 128
def simulate_put(parameters = []);    resource.simulate_put(parameters);    end
simulate_request(what) click to toggle source
# File lib/ruby/riddl/client.rb, line 132
def simulate_request(what)            resource.simulate_request(what);      end
ws(blk) click to toggle source
# File lib/ruby/riddl/client.rb, line 133
def ws(blk)                           resource.ws(blk);                     end