-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathuser.rb
executable file
·53 lines (43 loc) · 1.13 KB
/
user.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/usr/bin/env ruby
require 'rubygems'
require 'net/http'
require 'nokogiri'
require 'json'
require 'yaml'
require 'time'
config = YAML.load_file('config.yml')
api_key = config['api_key']
base_url = config['server_url']
json_url = 'myself.json'
url = "https://#{base_url}/#{json_url}?api_key=#{api_key}"
uri = URI(url)
response = Net::HTTP.get(uri)
user_json=JSON.parse(response)
user_hash=user_json['user']
user = user_hash['name']
email = user_hash['email']
userid = user_hash['id']
role = user_hash['role']
lang = user_hash['language']
created = user_hash['created_at']
creation_date = Time.parse("#{created}").to_s.split(' ')[0]
items = [
[ 'User' , "#{user}" ] ,
[ 'User ID' , "#{userid}"] ,
[ 'Role' , "#{role}"] ,
[ 'eMail' , "#{email}"] ,
[ 'Language' , "#{lang}"] ,
[ 'Created User' , "#{creation_date}"]
]
build_xml = Nokogiri::XML::Builder.new { |xml|
xml.items {
items.each { |item|
xml.item('uuid' => 'string', 'arg' => "#{item[1]}", 'type' => 'string') {
xml.title("#{item[1]}")
xml.subtitle("#{item[0]}")
xml.valid('no')
}
}
}
}
puts build_xml.to_xml