eme_services_client 0.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/eme/admin_user.rb +132 -0
- data/lib/eme/admin_user/required_login.rb +44 -0
- data/lib/eme/ams.rb +29 -0
- data/lib/eme/auth.rb +24 -0
- data/lib/eme/billing.rb +496 -0
- data/lib/eme/billing/workers/refresh_wallet_worker.rb +23 -0
- data/lib/eme/bt.rb +21 -0
- data/lib/eme/lootbox.rb +27 -0
- data/lib/eme/shop.rb +15 -0
- data/lib/eme/sso.rb +41 -0
- data/lib/eme/sso/token_reader.rb +74 -0
- data/lib/eme/subscription.rb +246 -0
- data/lib/eme/tera_game_data.rb +67 -0
- data/lib/eme/tera_server.rb +13 -0
- data/lib/eme/tera_server/server.rb +47 -0
- data/lib/eme_services_client.rb +19 -0
- metadata +130 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
require 'api_consumer'
|
|
2
|
+
|
|
3
|
+
module EME
|
|
4
|
+
class TeraGameData < APIConsumer
|
|
5
|
+
def self.guilds_by_leader_account(leader_master_account_id, server_name, conn = connection, opts = {})
|
|
6
|
+
return do_request("/guilds/owned_by_user/#{server_name}/#{leader_master_account_id}", conn, opts)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def self.guild(guild_id, server_name, conn = connection, opts = {})
|
|
10
|
+
return do_request("/guilds/#{server_name}/#{guild_id}", conn, opts)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def self.guild_of_character(character_id, server_name, conn = connection, opts={})
|
|
14
|
+
return do_request("/guilds/of_character/#{server_name}/#{character_id}", conn, opts)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.search_characters_by_name(character_name, server_name, conn = connection, opt={})
|
|
18
|
+
#body = {:name => character_name, :server_id => server_abbr(server_name)}.to_json
|
|
19
|
+
return do_request("/characters/search?name=#{character_name}&server_id=#{server_id(server_name)}", conn)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def self.search_characters_by_game_account(game_account_id, server_name, conn = connection, opt={})
|
|
23
|
+
#body = {:game_account_id => game_account_id, :server_id => server_id(server_name)}.to_json
|
|
24
|
+
return do_request("/characters/search?game_account_id=#{game_account_id}&server_id=#{server_id(server_name)}", conn)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def self.servers(conn_flag = :normal, reload = false)
|
|
28
|
+
errors = { "404" => "wat", "500" => "Server Error" }
|
|
29
|
+
return do_request("/servers", connection(conn_flag), {:errors => errors, :key => "server-list", :ttl => 300})
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def self.server_abbr(server_name)
|
|
33
|
+
return PRESET_ABBR[server_name] if PRESET_ABBR[server_name]
|
|
34
|
+
tmp = server_name.split(' ')
|
|
35
|
+
return(tmp[0][0] + tmp[1][0]).upcase if tmp.length > 1
|
|
36
|
+
(tmp[0][0] + tmp[0][1]).upcase
|
|
37
|
+
end
|
|
38
|
+
PRESET_ABBR = {"Highwatch" => 'HW', "Lake of Tears" => "LT", "Valley of Titans" => "VT", "New Pora" => "PA"}.freeze
|
|
39
|
+
|
|
40
|
+
RACE_OPTIONS = [["Human", 0], ["High Elf", 1], ["Aman", 2], ["Castanic", 3], ["Elin", 4], ["Popori", 4], ["Baraka", 5]]
|
|
41
|
+
GENDER_OPTIONS = [["Male", 0], ["Female", 1]]
|
|
42
|
+
|
|
43
|
+
def self.display_race(race_id, gender_id)
|
|
44
|
+
return RACES[race_id][gender_id]
|
|
45
|
+
end
|
|
46
|
+
RACES = {
|
|
47
|
+
0 => {0 => "Human", 1 => "Human"},
|
|
48
|
+
1 => {0 => "High Elf", 1 => "High Elf"},
|
|
49
|
+
2 => {0 => "Aman", 1 => "Aman"},
|
|
50
|
+
3 => {0 => "Castanic", 1 => "Castanic"},
|
|
51
|
+
4 => {0 => "Popori", 1 => "Elin"},
|
|
52
|
+
5 => {0 => "Baraka", 1 => "Baraka"}
|
|
53
|
+
}
|
|
54
|
+
def self.display_class(class_id)
|
|
55
|
+
return class_id if class_id >= CLASSES.count
|
|
56
|
+
return CLASSES[class_id]
|
|
57
|
+
end
|
|
58
|
+
CLASSES = ["Warrior", "Lancer", "Slayer", "Berserker", "Sorcerer", "Archer", "Priest", "Mystic", "Reaper", "Gunner", "Brawler", "Ninja", "Valkyrie"]
|
|
59
|
+
|
|
60
|
+
def self.server_id(server_name)
|
|
61
|
+
server_list = servers
|
|
62
|
+
server = server_list.select{|x| x["name"] == server_name || server_abbr(x["name"]) == server_name}[0]
|
|
63
|
+
return server["server_id"] if server
|
|
64
|
+
return nil
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
require 'api_consumer'
|
|
2
|
+
|
|
3
|
+
module EME
|
|
4
|
+
class TeraServer < APIConsumer
|
|
5
|
+
def self.list(conn = connection, opts = {})
|
|
6
|
+
server_data = do_request("/servers/list.en", conn, opts)
|
|
7
|
+
servers = server_data["serverlist"]["server"].collect{|sd| puts sd.inspect; EME::TeraServer::Server.new({:name => sd["name"], :id => sd["id"], :kind => sd["category"], :status_flag => sd["server_stat"], :message => sd["popup"], :crowd => sd["crowdness"], :open => sd["open"]})}
|
|
8
|
+
servers.sort!{|a,b| a.name <=> b.name}
|
|
9
|
+
return servers
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
require_relative './tera_server/server'
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
class EME::TeraServer::Server
|
|
2
|
+
attr_reader :name, :id, :kind, :message, :crowd, :open
|
|
3
|
+
def initialize(opts)
|
|
4
|
+
@name = opts[:name]
|
|
5
|
+
@id = opts[:id].to_i
|
|
6
|
+
@kind = opts[:kind]
|
|
7
|
+
@status_flag = opts[:status_flag]
|
|
8
|
+
@message = opts[:message]
|
|
9
|
+
@crowd = opts[:crowd]
|
|
10
|
+
@open = opts[:open]
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def abbr
|
|
14
|
+
return EME::TeraServer::Server.abbr(self.name)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def status
|
|
18
|
+
return "Up" if up?
|
|
19
|
+
return "Down" if down?
|
|
20
|
+
return "Maintenance"
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def maintenance?
|
|
24
|
+
@status_flag.to_i(16) == 0x100
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def up?
|
|
28
|
+
@status_flag.to_i(16) < 0x100
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def down?
|
|
32
|
+
@status_flag.to_i(16) > 0x100
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def self.abbr(server_name)
|
|
36
|
+
return PRESET_ABBR[server_name] if PRESET_ABBR[server_name]
|
|
37
|
+
tmp = server_name.split(' ')
|
|
38
|
+
return(tmp[0][0] + tmp[1][0]).upcase if tmp.length > 1
|
|
39
|
+
(tmp[0][0] + tmp[0][1]).upcase
|
|
40
|
+
end
|
|
41
|
+
PRESET_ABBR = {"Highwatch" => 'HW', "Lake of Tears" => "LT", "Valley of Titans" => "VT", "New Pora" => "PA"}.freeze
|
|
42
|
+
|
|
43
|
+
def self.server_id(server_name)
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
require 'api_consumer'
|
|
2
|
+
module EME
|
|
3
|
+
|
|
4
|
+
def self.load_services
|
|
5
|
+
loaded = []
|
|
6
|
+
SERVICES.each do |serv|
|
|
7
|
+
if(File.exists?("./config/eme_#{serv}.yml"))
|
|
8
|
+
require_relative "./eme/#{serv}"
|
|
9
|
+
loaded << serv
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
return loaded
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
SERVICES = ["admin_user", "ams", "auth", "billing", "bt", "email", "lootbox", "sso", "shop",
|
|
16
|
+
"subscription", "tera_game_data", "tera_server"]
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
EME.load_services()
|
metadata
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: eme_services_client
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.11
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Chris Reister
|
|
8
|
+
- Roderick Hossack
|
|
9
|
+
autorequire:
|
|
10
|
+
bindir: bin
|
|
11
|
+
cert_chain: []
|
|
12
|
+
date: 2017-03-22 00:00:00.000000000 Z
|
|
13
|
+
dependencies:
|
|
14
|
+
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: api_consumer
|
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
|
17
|
+
requirements:
|
|
18
|
+
- - '>='
|
|
19
|
+
- !ruby/object:Gem::Version
|
|
20
|
+
version: 0.0.6
|
|
21
|
+
type: :runtime
|
|
22
|
+
prerelease: false
|
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
24
|
+
requirements:
|
|
25
|
+
- - '>='
|
|
26
|
+
- !ruby/object:Gem::Version
|
|
27
|
+
version: 0.0.6
|
|
28
|
+
- !ruby/object:Gem::Dependency
|
|
29
|
+
name: fast_config
|
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
|
31
|
+
requirements:
|
|
32
|
+
- - '>='
|
|
33
|
+
- !ruby/object:Gem::Version
|
|
34
|
+
version: 0.0.1
|
|
35
|
+
type: :runtime
|
|
36
|
+
prerelease: false
|
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
38
|
+
requirements:
|
|
39
|
+
- - '>='
|
|
40
|
+
- !ruby/object:Gem::Version
|
|
41
|
+
version: 0.0.1
|
|
42
|
+
- !ruby/object:Gem::Dependency
|
|
43
|
+
name: sucker_punch
|
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
|
45
|
+
requirements:
|
|
46
|
+
- - ~>
|
|
47
|
+
- !ruby/object:Gem::Version
|
|
48
|
+
version: 1.6.0
|
|
49
|
+
type: :runtime
|
|
50
|
+
prerelease: false
|
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
52
|
+
requirements:
|
|
53
|
+
- - ~>
|
|
54
|
+
- !ruby/object:Gem::Version
|
|
55
|
+
version: 1.6.0
|
|
56
|
+
- !ruby/object:Gem::Dependency
|
|
57
|
+
name: rspec
|
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
|
59
|
+
requirements:
|
|
60
|
+
- - ~>
|
|
61
|
+
- !ruby/object:Gem::Version
|
|
62
|
+
version: '3.0'
|
|
63
|
+
type: :development
|
|
64
|
+
prerelease: false
|
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
66
|
+
requirements:
|
|
67
|
+
- - ~>
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: '3.0'
|
|
70
|
+
- !ruby/object:Gem::Dependency
|
|
71
|
+
name: fakeweb
|
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
|
73
|
+
requirements:
|
|
74
|
+
- - ~>
|
|
75
|
+
- !ruby/object:Gem::Version
|
|
76
|
+
version: '1.3'
|
|
77
|
+
type: :development
|
|
78
|
+
prerelease: false
|
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
80
|
+
requirements:
|
|
81
|
+
- - ~>
|
|
82
|
+
- !ruby/object:Gem::Version
|
|
83
|
+
version: '1.3'
|
|
84
|
+
description: Consume Private EME APIs
|
|
85
|
+
email: creister@enmasse.com
|
|
86
|
+
executables: []
|
|
87
|
+
extensions: []
|
|
88
|
+
extra_rdoc_files: []
|
|
89
|
+
files:
|
|
90
|
+
- lib/eme_services_client.rb
|
|
91
|
+
- lib/eme/subscription.rb
|
|
92
|
+
- lib/eme/auth.rb
|
|
93
|
+
- lib/eme/ams.rb
|
|
94
|
+
- lib/eme/billing.rb
|
|
95
|
+
- lib/eme/billing/workers/refresh_wallet_worker.rb
|
|
96
|
+
- lib/eme/sso.rb
|
|
97
|
+
- lib/eme/sso/token_reader.rb
|
|
98
|
+
- lib/eme/shop.rb
|
|
99
|
+
- lib/eme/bt.rb
|
|
100
|
+
- lib/eme/lootbox.rb
|
|
101
|
+
- lib/eme/admin_user.rb
|
|
102
|
+
- lib/eme/admin_user/required_login.rb
|
|
103
|
+
- lib/eme/tera_server.rb
|
|
104
|
+
- lib/eme/tera_server/server.rb
|
|
105
|
+
- lib/eme/tera_game_data.rb
|
|
106
|
+
homepage: https://github.com/enmasse-entertainment/eme_services_client
|
|
107
|
+
licenses:
|
|
108
|
+
- NONE
|
|
109
|
+
metadata: {}
|
|
110
|
+
post_install_message:
|
|
111
|
+
rdoc_options: []
|
|
112
|
+
require_paths:
|
|
113
|
+
- lib
|
|
114
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
115
|
+
requirements:
|
|
116
|
+
- - '>='
|
|
117
|
+
- !ruby/object:Gem::Version
|
|
118
|
+
version: '0'
|
|
119
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
|
+
requirements:
|
|
121
|
+
- - '>='
|
|
122
|
+
- !ruby/object:Gem::Version
|
|
123
|
+
version: '0'
|
|
124
|
+
requirements: []
|
|
125
|
+
rubyforge_project:
|
|
126
|
+
rubygems_version: 2.0.3
|
|
127
|
+
signing_key:
|
|
128
|
+
specification_version: 4
|
|
129
|
+
summary: EME Private Services Clients
|
|
130
|
+
test_files: []
|