Class: AKaynak::Data

Inherits:
Object
  • Object
show all
Defined in:
lib/akaynak/data.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(auth_options = {}) ⇒ Data

Returns a new instance of Data.



29
30
31
# File 'lib/akaynak/data.rb', line 29

def initialize(auth_options={})
	@auth_options = auth_options
end

Class Method Details

.get_currency(opts = {}) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/akaynak/data.rb', line 3

def self.get_currency(opts={})
	final_result = {status: false, error_code: nil, error_message: nil}
	#valid_options = opts.only(:from, :start_date, :stop_date, :turkish)
	#valid_options.merge!(:start_date => NetGSM::DATE.now) unless valid_options[:start_date]
	#valid_options.merge!(:stop_date => NetGSM::DATE.n_hour_from_now(1)) unless valid_options[:stop_date]

	body = AKaynak::XmlBody.get_currency()

	response = send_request(body)

	result = parse_response(response)
	if result
		final_result[:status] = true
		final_result[:result] = result
	end
	return final_result
end

.parse_response(body) ⇒ Object



52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/akaynak/data.rb', line 52

def self.parse_response(body)
	require 'active_support/core_ext/hash/conversions'
	begin
		result_hash = Hash.from_xml(body)
		result_xml = result_hash["Envelope"]['Body']["GetCurrencyResponse"]["GetCurrencyResult"]
		currency_hash = Hash.from_xml(result_xml)
		return currency_hash
	rescue Exception => e
		puts "ERROR: #{e.message}"
		return nil
	end
end

.send_request(body) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/akaynak/data.rb', line 33

def self.send_request(body)
    header = { 
      "Content-Type" => "text/xml; charset=utf-8", 
      "Content-Length" => body.bytesize.to_s, 
      "Accept" => "*/*" 
    }

    request = Net::HTTP::Post.new('/DataService.asmx', header)
    request.body = body
    #puts  "Request #{@header} #{request.body} "
    response = Net::HTTP.new(AKaynak.configuration.host, AKaynak.configuration.port).start {|http| http.request(request) }
    #puts "Response #{response.code} #{response.message}: #{response.body}"

    # parser = XMLRPC::XMLParser::REXMLStreamParser::StreamListener.new
    # parser.parse(response.body)

    return response.body
end

Instance Method Details

#check_balanceObject



25
26
27
# File 'lib/akaynak/data.rb', line 25

def check_balance
	'OK Balance'
end

#sms_statusObject



21
22
23
# File 'lib/akaynak/data.rb', line 21

def sms_status
	'OK status'
end