class DVRUBYSDK::Devless
Public Class Methods
new()
click to toggle source
# File lib/DV_RUBY_SDK.rb, line 23 def initialize @parameters = Hash.new{|hsh,key| hsh[key] = [] } end
Public Instance Methods
add_data(service, table, data)
click to toggle source
# File lib/DV_RUBY_SDK.rb, line 57 def add_data(service, table, data) base_url = "#{$url}:#{$port}/api/v1/service/#{service}/db" payload = {:resource => [{:name => table, :field => [data]}]} return request_processor(base_url, "Post", payload) end
delete_data(service, table)
click to toggle source
# File lib/DV_RUBY_SDK.rb, line 71 def delete_data(service, table) base_url = "#{$url}:#{$port}/api/v1/service/#{service}/db" payload = {:resource => [{:name => table, :params => [{:delete => true, :where => "#{@parameters[:where]}"}]}]} return request_processor(base_url, "Delete", payload) end
method_call(service, method, params)
click to toggle source
# File lib/DV_RUBY_SDK.rb, line 49 def method_call(service, method, params) base_url = "#{$url}:#{$port}/api/v1/service/#{service}/rpc?action=#{method}" get_id = rand(2000*1233) payload = {:jsonrpc => "2.0", :method => service, :id => get_id, :params => params} return request_processor(base_url, "Post", payload) end
offset(value)
click to toggle source
# File lib/DV_RUBY_SDK.rb, line 117 def offset(value) @parameters[:offset] = value self end
order_by(value)
click to toggle source
# File lib/DV_RUBY_SDK.rb, line 112 def order_by(value) @parameters[:orderBy] = value self end
query_data(service, table)
click to toggle source
# File lib/DV_RUBY_SDK.rb, line 78 def query_data(service, table) if @parameters.size != 0 params = nil if @parameters.key?(:where) @parameters[:where].each do |value| params ="&where=#{value}#{params}" end @parameters.delete :where end @parameters.each do |key, value| params = "&#{key}=#{value}#{params}" end base_url = "#{$url}:#{$port}/api/v1/service/#{service}/db?table=#{table}#{params}" else base_url = "#{$url}:#{$port}/api/v1/service/#{service}/db?table=#{table}" end return request_processor(base_url, "Get") end
request_processor(url, option, payload=nil)
click to toggle source
# File lib/DV_RUBY_SDK.rb, line 27 def request_processor(url, option, payload=nil) @parameters = {} path = URI(url) http = Net::HTTP.new(path.host, path.port) request = case option when "Get" then Net::HTTP::Get.new(path) when "Post" then Net::HTTP::Post.new(path) when "Patch" then Net::HTTP::Patch.new(path) when "Delete" then Net::HTTP::Delete.new(path) end request["devless-token"] = $token request["content-type"] = 'application/json' request["devless-user-token"] = $devless_user_token ? $devless_user_token : nil request.body = payload.to_json if option == "Post" || option == "Patch" ||option == "Delete" response = http.request request return response.read_body.to_s end
set_user_token(user_token)
click to toggle source
# File lib/DV_RUBY_SDK.rb, line 19 def set_user_token(user_token) $devless_user_token = user_token end
size(value)
click to toggle source
# File lib/DV_RUBY_SDK.rb, line 102 def size(value) @parameters[:size] = value self end
update_data(service, table, data)
click to toggle source
# File lib/DV_RUBY_SDK.rb, line 64 def update_data(service, table, data) base_url = "#{$url}:#{$port}/api/v1/service/#{service}/db" payload = {:resource => [{:name => table, :params => [{:where => "#{@parameters[:where]}", :data => [data]}]}]} return request_processor(base_url, "Patch", payload) end
where(key, value)
click to toggle source
# File lib/DV_RUBY_SDK.rb, line 107 def where(key, value) @parameters[:where].push "#{key},#{value}" self end