class Rocket::Core::Function
Attributes
data_send[RW]
debug[RW]
method_send[RW]
resource_url[RW]
return_data[RW]
token[RW]
Public Class Methods
new(debug = false)
click to toggle source
# File lib/rocket/core/function.rb, line 10 def initialize(debug = false) self.debug = debug end
Public Instance Methods
debug?()
click to toggle source
# File lib/rocket/core/function.rb, line 14 def debug? !!self.debug end
Protected Instance Methods
curl_send()
click to toggle source
# File lib/rocket/core/function.rb, line 68 def curl_send uri = "#{self.resource_url}#{self.method_send}" options = self.opts.merge( :body => self.data_send, :format => :json ) curl_response = self.class.post uri, options raise curl_response.inspect if self.debug? self.return_data = curl_response true end
json_array(json)
click to toggle source
# File lib/rocket/core/function.rb, line 34 def json_array(json) Rocket::Response.new json, to_denormalize(json.parsed_response) end
make_json(data)
click to toggle source
# File lib/rocket/core/function.rb, line 26 def make_json(data) unless data.respond_to?(:to_json) && data.respond_to?(:as_json) raise RocketException.new 'Please provide a array data' end to_normalize(data.as_json).to_json end
method_send=(method)
click to toggle source
# File lib/rocket/core/function.rb, line 22 def method_send=(method) @method_send = "/#{method}" end
opts()
click to toggle source
# File lib/rocket/core/function.rb, line 54 def opts @opts ||= {} @opts[:headers] ||= {} @opts[:headers].merge!( { #"Content-Type" => "application/json", "token" => self.token } ) @opts end
prepare_sdk_checkout()
click to toggle source
# File lib/rocket/core/function.rb, line 38 def prepare_sdk_checkout self.resource_url = Rocket.production_url end
prepare_sdk_development_checkout()
click to toggle source
# File lib/rocket/core/function.rb, line 46 def prepare_sdk_development_checkout self.resource_url = Rocket.development_url end
prepare_sdk_sandbox_checkout()
click to toggle source
# File lib/rocket/core/function.rb, line 42 def prepare_sdk_sandbox_checkout self.resource_url = Rocket.sandbox_url end
send_request(to)
click to toggle source
# File lib/rocket/core/function.rb, line 50 def send_request(to) true end
Private Instance Methods
to_denormalize(data)
click to toggle source
# File lib/rocket/core/function.rb, line 104 def to_denormalize(data) case data when Float then BigDecimal.new data.to_s when Hash then data.dup.inject({}) do |hash, (key, value)| hash["#{key}".underscore.to_sym] = to_denormalize(value) hash end when Array then data.collect do |value| to_denormalize(value) end else data end end
to_normalize(data)
click to toggle source
# File lib/rocket/core/function.rb, line 86 def to_normalize(data) case data when BigDecimal then data.to_f when Hash then data.dup.inject({}) do |hash, (key, value)| hash["#{key}".camelcase(:lower).to_sym] = to_normalize(value) hash end when Array then data.collect do |value| to_normalize(value) end else data end end