Class: Riddl::Client::Resource

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby/riddl/client.rb

Overview

}}}

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(base, wrapper, path, options) ⇒ Resource

{{{



137
138
139
140
141
142
143
144
145
146
147
148
149
150
# File 'lib/ruby/riddl/client.rb', line 137

def initialize(base,wrapper,path,options) #{{{
  @base = base
  @wrapper = wrapper
  @rpath = "/#{path}".gsub(/\/+/,'/')
  @options = options
  @path = if @wrapper.nil?
    @rpath
  else
    @path = @wrapper.paths.find{ |e| e[1] =~ @rpath }
    raise PathError, 'Path not found.' if @path.nil?
    @path[0]
  end
  @rpath = @rpath == '/' ? '' : @rpath
end

Instance Attribute Details

#rpathObject (readonly)

}}}



151
152
153
# File 'lib/ruby/riddl/client.rb', line 151

def rpath
  @rpath
end

Instance Method Details

#delete(parameters = []) ⇒ Object

}}}



197
198
199
# File 'lib/ruby/riddl/client.rb', line 197

def delete(parameters = []) #{{{
  exec_request('DELETE',parameters,false)
end

#get(parameters = []) ⇒ Object

}}}



169
170
171
# File 'lib/ruby/riddl/client.rb', line 169

def get(parameters = []) #{{{
  exec_request('GET',parameters,false)
end

#patch(parameters = []) ⇒ Object

}}}



190
191
192
# File 'lib/ruby/riddl/client.rb', line 190

def patch(parameters = []) #{{{
  exec_request('PATCH',parameters,false)
end

#post(parameters = []) ⇒ Object

}}}



176
177
178
# File 'lib/ruby/riddl/client.rb', line 176

def post(parameters = []) #{{{
  exec_request('POST',parameters,false)
end

#put(parameters = []) ⇒ Object

}}}



183
184
185
# File 'lib/ruby/riddl/client.rb', line 183

def put(parameters = []) #{{{
  exec_request('PUT',parameters,false)
end

#request(what) ⇒ Object

}}}



204
205
206
# File 'lib/ruby/riddl/client.rb', line 204

def request(what) #{{{
  priv_request(what,false)
end

#simulate_delete(parameters = []) ⇒ Object

}}}



200
201
202
# File 'lib/ruby/riddl/client.rb', line 200

def simulate_delete(parameters = []) #{{{
  exec_request('DELETE',parameters,true)
end

#simulate_get(parameters = []) ⇒ Object

}}}



172
173
174
# File 'lib/ruby/riddl/client.rb', line 172

def simulate_get(parameters = []) #{{{
  exec_request('GET',parameters,true)
end

#simulate_patch(parameters = []) ⇒ Object

}}}



193
194
195
# File 'lib/ruby/riddl/client.rb', line 193

def simulate_patch(parameters = []) #{{{
  exec_request('PATCH',parameters,true)
end

#simulate_post(parameters = []) ⇒ Object

}}}



179
180
181
# File 'lib/ruby/riddl/client.rb', line 179

def simulate_post(parameters = []) #{{{
  exec_request('POST',parameters,true)
end

#simulate_put(parameters = []) ⇒ Object

}}}



186
187
188
# File 'lib/ruby/riddl/client.rb', line 186

def simulate_put(parameters = []) #{{{
  exec_request('PUT',parameters,true)
end

#simulate_request(what) ⇒ Object

}}}



207
208
209
# File 'lib/ruby/riddl/client.rb', line 207

def simulate_request(what) #{{{
  priv_request(what,true)
end

#ws(&blk) ⇒ Object

{{{



153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
# File 'lib/ruby/riddl/client.rb', line 153

def ws(&blk) #{{{
  EM.run {
    url = (@base + @rpath).sub(/^http/,'ws')
    url = url.sub(/:\/\/localhost/,'://127.0.0.1')
    conn = Faye::WebSocket::Client.new(url)

    if @options[:debug]
      conn.on :error do |e|
        @options[:debug].puts "WS ERROR: #{e}"
      end
    end

    blk.call(conn)
  }
end