Class: Tinypass::JsonMsgBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/tinypass/builder/json_msg_builder.rb

Instance Method Summary collapse

Instance Method Details

#build_access_token(token) ⇒ Object



32
33
34
# File 'lib/tinypass/builder/json_msg_builder.rb', line 32

def build_access_token(token)
  MultiJson.dump(token.token_data.values)
end

#build_access_tokens(list) ⇒ Object



22
23
24
25
26
27
28
29
30
# File 'lib/tinypass/builder/json_msg_builder.rb', line 22

def build_access_tokens(list)
  tokens = []

  list.each do |token|
    tokens << token.token_data.values
  end

  MultiJson.dump(tokens)
end

#build_purchase_requests(requests) ⇒ Object



36
37
38
39
40
41
42
43
44
# File 'lib/tinypass/builder/json_msg_builder.rb', line 36

def build_purchase_requests(requests)
  data = []

  requests.each do |request|
    data << build_purchase_request(request)
  end

  MultiJson.dump(data)
end

#parse_access_tokens(json_string) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/tinypass/builder/json_msg_builder.rb', line 5

def parse_access_tokens(json_string)
  json_data = MultiJson.load(json_string)

  # 1.0 tokens can't be parsed in this version
  return AccessTokenList.new([]) if json_data.respond_to?(:has_key?) && json_data.has_key?('tokens')

  access_tokens = []
  Array(json_data).each do |json_datum|
    next if json_datum['rid'].to_s.empty?

    token_data = TokenData.new(json_datum)
    access_tokens << AccessToken.new(token_data)
  end

  AccessTokenList.new(access_tokens)
end