playlyfe_client 1.0.2
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/.gitignore +27 -0
- data/Gemfile +9 -0
- data/Gemfile.lock +50 -0
- data/LICENSE.txt +21 -0
- data/README.md +97 -0
- data/Rakefile +10 -0
- data/lib/playlyfe_client/action.rb +32 -0
- data/lib/playlyfe_client/connection.rb +200 -0
- data/lib/playlyfe_client/errors.rb +42 -0
- data/lib/playlyfe_client/game.rb +33 -0
- data/lib/playlyfe_client/leaderboard.rb +27 -0
- data/lib/playlyfe_client/metric.rb +14 -0
- data/lib/playlyfe_client/player.rb +80 -0
- data/lib/playlyfe_client/team.rb +26 -0
- data/lib/playlyfe_client/v2/action.rb +59 -0
- data/lib/playlyfe_client/v2/collection/action_collection.rb +30 -0
- data/lib/playlyfe_client/v2/collection/leaderboard_collection.rb +43 -0
- data/lib/playlyfe_client/v2/collection/metric_collection.rb +30 -0
- data/lib/playlyfe_client/v2/collection/player_collection.rb +30 -0
- data/lib/playlyfe_client/v2/collection/team_collection.rb +31 -0
- data/lib/playlyfe_client/v2/collection.rb +60 -0
- data/lib/playlyfe_client/v2/connection.rb +109 -0
- data/lib/playlyfe_client/v2/game.rb +71 -0
- data/lib/playlyfe_client/v2/leaderboard/players_leaderboard.rb +30 -0
- data/lib/playlyfe_client/v2/leaderboard/teams_leaderboard.rb +30 -0
- data/lib/playlyfe_client/v2/leaderboard/unknown_leaderboard.rb +23 -0
- data/lib/playlyfe_client/v2/leaderboard.rb +38 -0
- data/lib/playlyfe_client/v2/metric/compound_metric.rb +31 -0
- data/lib/playlyfe_client/v2/metric/point_metric.rb +27 -0
- data/lib/playlyfe_client/v2/metric/set_metric.rb +41 -0
- data/lib/playlyfe_client/v2/metric/state_metric.rb +26 -0
- data/lib/playlyfe_client/v2/metric.rb +47 -0
- data/lib/playlyfe_client/v2/player.rb +135 -0
- data/lib/playlyfe_client/v2/team.rb +58 -0
- data/lib/playlyfe_client/version.rb +3 -0
- data/lib/playlyfe_client.rb +11 -0
- data/lib/string_addons.rb +9 -0
- data/playlyfe_client.gemspec +30 -0
- metadata +194 -0
@@ -0,0 +1,26 @@
|
|
1
|
+
require_relative "../metric.rb"
|
2
|
+
|
3
|
+
module PlaylyfeClient
|
4
|
+
module V2
|
5
|
+
class StateMetric < PlaylyfeClient::V2::Metric
|
6
|
+
attr_reader :states
|
7
|
+
|
8
|
+
private
|
9
|
+
|
10
|
+
def initialize(metric_hash, game)
|
11
|
+
super(metric_hash, game)
|
12
|
+
|
13
|
+
fill_states(metric_hash["states"])
|
14
|
+
end
|
15
|
+
|
16
|
+
|
17
|
+
def fill_states(states_hash)
|
18
|
+
@states=[]
|
19
|
+
states_hash.each_pair do |key, value|
|
20
|
+
@states << {name: key , description: value["description"]}
|
21
|
+
end
|
22
|
+
@states
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require_relative "../metric.rb"
|
2
|
+
|
3
|
+
module PlaylyfeClient
|
4
|
+
module V2
|
5
|
+
class Metric < PlaylyfeClient::Metric
|
6
|
+
|
7
|
+
attr_reader :id, :name, :type, :description
|
8
|
+
|
9
|
+
def self.create_from(metric_hash,game)
|
10
|
+
require_relative "./metric/compound_metric.rb"
|
11
|
+
require_relative "./metric/point_metric.rb"
|
12
|
+
require_relative "./metric/set_metric.rb"
|
13
|
+
require_relative "./metric/state_metric.rb"
|
14
|
+
|
15
|
+
type=metric_hash[:type] || metric_hash["type"]
|
16
|
+
case type
|
17
|
+
when "set"
|
18
|
+
PlaylyfeClient::V2::SetMetric.new(metric_hash,game)
|
19
|
+
when "state"
|
20
|
+
PlaylyfeClient::V2::StateMetric.new(metric_hash,game)
|
21
|
+
when "point"
|
22
|
+
PlaylyfeClient::V2::PointMetric.new(metric_hash,game)
|
23
|
+
when "compound"
|
24
|
+
PlaylyfeClient::V2::CompoundMetric.new(metric_hash,game)
|
25
|
+
else
|
26
|
+
fail PlaylyfeClient::MetricError.new("{\"error\": \"Unrecognized type\", \"error_description\": \"Class for metric type: '#{type}' from #{metric_hash} is unrecognized!\"}")
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
def apply_reward(reward, scores)
|
32
|
+
fail PlaylyfeClient::MetricError.new("{\"error\": \"Rewards can not be applyed!\", \"error_description\": \"For these metric, direct action rewards cannot be applied. Probably some rules based awards are used.\"}")
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def initialize(metric_hash, game)
|
38
|
+
super(game)
|
39
|
+
@id=metric_hash[:id] || metric_hash["id"]
|
40
|
+
@name=metric_hash[:name] || metric_hash["name"]
|
41
|
+
@type=metric_hash[:type] || metric_hash["type"]
|
42
|
+
@description=metric_hash[:description] || metric_hash["description"]
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,135 @@
|
|
1
|
+
require_relative "../player.rb"
|
2
|
+
|
3
|
+
module PlaylyfeClient
|
4
|
+
module V2
|
5
|
+
class Player < PlaylyfeClient::Player
|
6
|
+
|
7
|
+
attr_reader :enabled ,:alias, :id
|
8
|
+
|
9
|
+
def self.create(pl_hash, game)
|
10
|
+
unless pl_hash.has_key?(:id) && pl_hash.has_key?(:alias)
|
11
|
+
fail PlaylyfeClient::PlayerError.new("{\"error\": \"keys missing\", \"error_description\": \"Player's hash is missing values for keys :id and :alias!\"}")
|
12
|
+
end
|
13
|
+
|
14
|
+
p=self.new( game.connection.post_create_player( pl_hash.select { |key, value| [:id, :alias].include?(key) } ), game )
|
15
|
+
game.players.add(p)
|
16
|
+
p
|
17
|
+
end
|
18
|
+
|
19
|
+
def enabled?
|
20
|
+
enabled
|
21
|
+
end
|
22
|
+
|
23
|
+
def play(action)
|
24
|
+
begin
|
25
|
+
game.connection.post_play_action(action.id, self.id)
|
26
|
+
@profile_hash= game.connection.get_full_player_profile_hash(self.id)
|
27
|
+
@scores=fill_scores
|
28
|
+
rescue PlaylyfeClient::ActionRateLimitExceededError => e
|
29
|
+
unless game.ignore_rate_limit_errors
|
30
|
+
fail e
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def scores
|
36
|
+
@scores||=fill_scores
|
37
|
+
end
|
38
|
+
|
39
|
+
def roles_in_team(team)
|
40
|
+
teams.empty? ? [] : (@teams_roles[team.id].nil? ? [] : @teams_roles[team.id])
|
41
|
+
end
|
42
|
+
|
43
|
+
def teams
|
44
|
+
@teams||= fill_teams
|
45
|
+
end
|
46
|
+
|
47
|
+
def teams_leaderboards
|
48
|
+
game.leaderboards.for_teams
|
49
|
+
end
|
50
|
+
|
51
|
+
def players_leaderboards
|
52
|
+
game.leaderboards.for_players
|
53
|
+
end
|
54
|
+
|
55
|
+
def activities(start_time=nil,end_time=nil)
|
56
|
+
unless defined?(@activities)
|
57
|
+
#loading all activities for player (not restricted to some time period, ALL of them!)
|
58
|
+
@activities = build_activities_from(game.connection.get_full_activity_feed_array(self.id,self.game.created_at,Time.now.utc))
|
59
|
+
end
|
60
|
+
|
61
|
+
activities=@activities
|
62
|
+
|
63
|
+
if start_time
|
64
|
+
activities=activities.select {|act| act["timestamp"] > start_time.utc.strftime("%Y-%m-%dT%H:%M:%S.%LZ") }
|
65
|
+
end
|
66
|
+
|
67
|
+
if end_time
|
68
|
+
activities=activities.select {|act| act["timestamp"] < end_time.utc.strftime("%Y-%m-%dT%H:%M:%S.%LZ") }
|
69
|
+
end
|
70
|
+
|
71
|
+
return activities
|
72
|
+
end
|
73
|
+
|
74
|
+
private
|
75
|
+
|
76
|
+
def initialize(player_hash, game)
|
77
|
+
super(game)
|
78
|
+
@id=player_hash[:id] || player_hash["id"]
|
79
|
+
@alias=player_hash[:alias] || player_hash["alias"]
|
80
|
+
@enabled=player_hash[:enabled] || player_hash["enabled"] || false
|
81
|
+
end
|
82
|
+
|
83
|
+
def profile_hash
|
84
|
+
@profile_hash||= game.connection.get_full_player_profile_hash(self.id)
|
85
|
+
end
|
86
|
+
|
87
|
+
def fill_teams
|
88
|
+
teams=[]
|
89
|
+
@teams_roles={}
|
90
|
+
profile_hash["teams"].each do |team_hash|
|
91
|
+
team=game.teams.find(team_hash["id"])
|
92
|
+
|
93
|
+
#all teams should be listed in game, so if nothing is found raise exception
|
94
|
+
if team.nil?
|
95
|
+
fail PlaylyfeClient::PlayerError.new("{\"error\": \"Team not found\", \"error_description\": \"Team '#{team_hash["id"]}' from #{self.id} player profile was not found between game.teams!\"}")
|
96
|
+
end
|
97
|
+
|
98
|
+
teams << team
|
99
|
+
@teams_roles[team.id]=team_hash["roles"]
|
100
|
+
|
101
|
+
end
|
102
|
+
teams
|
103
|
+
end
|
104
|
+
|
105
|
+
def fill_scores
|
106
|
+
scores={points: {} ,sets: {}, states: {}, compounds: {}}
|
107
|
+
profile_hash["scores"].each do |score|
|
108
|
+
case score["metric"]["type"]
|
109
|
+
when "point"
|
110
|
+
scores[:points][score["metric"]["id"].to_sym]=score["value"].to_i
|
111
|
+
when "set"
|
112
|
+
scores[:sets][score["metric"]["id"].to_sym]=sets_metric_value_from(score["value"])
|
113
|
+
when "state"
|
114
|
+
scores[:states][score["metric"]["id"].to_sym]=score["value"]["name"] #"value": { "name": "Hell", "description": "The plane of demons" }
|
115
|
+
when "compound"
|
116
|
+
scores[:compounds][score["metric"]["id"].to_sym]=score["value"].to_i
|
117
|
+
end
|
118
|
+
|
119
|
+
end
|
120
|
+
scores
|
121
|
+
end
|
122
|
+
|
123
|
+
def sets_metric_value_from(value)
|
124
|
+
(value.each.collect {|item| {name: item["name"], count: item["count"].to_i} } )
|
125
|
+
end
|
126
|
+
|
127
|
+
def build_activities_from(array_of_hashes)
|
128
|
+
#https://dev.playlyfe.com/docs/events.html
|
129
|
+
#TODO: DO a Events :: now, just simple hashes
|
130
|
+
array_of_hashes
|
131
|
+
end
|
132
|
+
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require_relative "../team.rb"
|
2
|
+
|
3
|
+
module PlaylyfeClient
|
4
|
+
module V2
|
5
|
+
class Team < PlaylyfeClient::Team
|
6
|
+
|
7
|
+
attr_reader :definition, :access, :game_id, :roles, :owner
|
8
|
+
|
9
|
+
def members
|
10
|
+
@members ||= fill_members
|
11
|
+
end
|
12
|
+
|
13
|
+
def leaderboards
|
14
|
+
@game.leaderboards.for_teams
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def initialize(team_hash, game)
|
20
|
+
super(game)
|
21
|
+
|
22
|
+
@id=team_hash[:id] || team_hash["id"]
|
23
|
+
@name=team_hash[:name] || team_hash["name"]
|
24
|
+
@access=team_hash[:access] || team_hash["access"]
|
25
|
+
@game_id=team_hash[:game_id] || team_hash["game_id"]
|
26
|
+
@roles=team_hash[:roles] || team_hash["roles"]
|
27
|
+
@definition=team_hash[:definition] || team_hash["definition"]
|
28
|
+
|
29
|
+
@created_at=team_hash[:created_at] || team_hash["created_at"] #created_at should be Time instance
|
30
|
+
@created_at=(Time.parse(team_hash[:created] || team_hash["created"]) ) if @created_at.nil? && !(team_hash[:created] || team_hash["created"]).nil? #created_at is string representation of time
|
31
|
+
|
32
|
+
own=team_hash[:owner] || team_hash["owner"]
|
33
|
+
@owner=nil
|
34
|
+
|
35
|
+
unless own.nil? || own.empty?
|
36
|
+
@owner=game.players.find(own[:id] || own["id"])
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def fill_members
|
41
|
+
@members=[]
|
42
|
+
|
43
|
+
game.connection.get_team_members_hash_array(self.id).each do |player_hash|
|
44
|
+
player=game.players.find(player_hash["id"])
|
45
|
+
|
46
|
+
#all players should be listed in game, so if nothing is found raise exception
|
47
|
+
if player.nil?
|
48
|
+
fail PlaylyfeClient::TeamError.new("{\"error\": \"Player not found\", \"error_description\": \"Player '#{player_hash["id"]}' from '#{self.name}'[#{self.id}] team was not found between game.players!\"}")
|
49
|
+
end
|
50
|
+
|
51
|
+
@members << player
|
52
|
+
end
|
53
|
+
|
54
|
+
@members
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
|
2
|
+
require "time"
|
3
|
+
require_relative "./string_addons.rb"
|
4
|
+
|
5
|
+
module PlaylyfeClient
|
6
|
+
require "playlyfe_client/version"
|
7
|
+
require "playlyfe_client/errors.rb"
|
8
|
+
require "playlyfe_client/connection.rb"
|
9
|
+
require "playlyfe_client/game.rb"
|
10
|
+
require "playlyfe_client/v2/connection.rb"
|
11
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'playlyfe_client/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "playlyfe_client"
|
8
|
+
spec.version = PlaylyfeClient::VERSION
|
9
|
+
spec.authors = ["Foton"]
|
10
|
+
spec.email = ["foton@centrum.cz"]
|
11
|
+
spec.summary = "Ruby client to connect to Playlyfe.com game."
|
12
|
+
spec.description = "Ruby client to connect to Playlyfe.com game and play actions from game."
|
13
|
+
spec.homepage = 'https://github.com/foton/playlyfe-ruby-client'
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
17
|
+
|
18
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_dependency "json"
|
22
|
+
spec.add_dependency "jwt"
|
23
|
+
spec.add_dependency "rest_client"
|
24
|
+
|
25
|
+
spec.add_development_dependency "bundler", "~> 1.10"
|
26
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
27
|
+
spec.add_development_dependency "minitest"
|
28
|
+
spec.add_development_dependency "minitest-reporters"
|
29
|
+
spec.add_development_dependency "pry"
|
30
|
+
end
|
metadata
ADDED
@@ -0,0 +1,194 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: playlyfe_client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Foton
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-05-31 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: json
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: jwt
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rest_client
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: bundler
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.10'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.10'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '10.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '10.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: minitest
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: minitest-reporters
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: pry
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
description: Ruby client to connect to Playlyfe.com game and play actions from game.
|
126
|
+
email:
|
127
|
+
- foton@centrum.cz
|
128
|
+
executables: []
|
129
|
+
extensions: []
|
130
|
+
extra_rdoc_files: []
|
131
|
+
files:
|
132
|
+
- ".gitignore"
|
133
|
+
- Gemfile
|
134
|
+
- Gemfile.lock
|
135
|
+
- LICENSE.txt
|
136
|
+
- README.md
|
137
|
+
- Rakefile
|
138
|
+
- lib/playlyfe_client.rb
|
139
|
+
- lib/playlyfe_client/action.rb
|
140
|
+
- lib/playlyfe_client/connection.rb
|
141
|
+
- lib/playlyfe_client/errors.rb
|
142
|
+
- lib/playlyfe_client/game.rb
|
143
|
+
- lib/playlyfe_client/leaderboard.rb
|
144
|
+
- lib/playlyfe_client/metric.rb
|
145
|
+
- lib/playlyfe_client/player.rb
|
146
|
+
- lib/playlyfe_client/team.rb
|
147
|
+
- lib/playlyfe_client/v2/action.rb
|
148
|
+
- lib/playlyfe_client/v2/collection.rb
|
149
|
+
- lib/playlyfe_client/v2/collection/action_collection.rb
|
150
|
+
- lib/playlyfe_client/v2/collection/leaderboard_collection.rb
|
151
|
+
- lib/playlyfe_client/v2/collection/metric_collection.rb
|
152
|
+
- lib/playlyfe_client/v2/collection/player_collection.rb
|
153
|
+
- lib/playlyfe_client/v2/collection/team_collection.rb
|
154
|
+
- lib/playlyfe_client/v2/connection.rb
|
155
|
+
- lib/playlyfe_client/v2/game.rb
|
156
|
+
- lib/playlyfe_client/v2/leaderboard.rb
|
157
|
+
- lib/playlyfe_client/v2/leaderboard/players_leaderboard.rb
|
158
|
+
- lib/playlyfe_client/v2/leaderboard/teams_leaderboard.rb
|
159
|
+
- lib/playlyfe_client/v2/leaderboard/unknown_leaderboard.rb
|
160
|
+
- lib/playlyfe_client/v2/metric.rb
|
161
|
+
- lib/playlyfe_client/v2/metric/compound_metric.rb
|
162
|
+
- lib/playlyfe_client/v2/metric/point_metric.rb
|
163
|
+
- lib/playlyfe_client/v2/metric/set_metric.rb
|
164
|
+
- lib/playlyfe_client/v2/metric/state_metric.rb
|
165
|
+
- lib/playlyfe_client/v2/player.rb
|
166
|
+
- lib/playlyfe_client/v2/team.rb
|
167
|
+
- lib/playlyfe_client/version.rb
|
168
|
+
- lib/string_addons.rb
|
169
|
+
- playlyfe_client.gemspec
|
170
|
+
homepage: https://github.com/foton/playlyfe-ruby-client
|
171
|
+
licenses:
|
172
|
+
- MIT
|
173
|
+
metadata: {}
|
174
|
+
post_install_message:
|
175
|
+
rdoc_options: []
|
176
|
+
require_paths:
|
177
|
+
- lib
|
178
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
179
|
+
requirements:
|
180
|
+
- - ">="
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
version: '0'
|
183
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
requirements: []
|
189
|
+
rubyforge_project:
|
190
|
+
rubygems_version: 2.4.5.1
|
191
|
+
signing_key:
|
192
|
+
specification_version: 4
|
193
|
+
summary: Ruby client to connect to Playlyfe.com game.
|
194
|
+
test_files: []
|