infostrada 0.0.1 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b8a8b5ee87337a4ef44fa4c6ef2cd039b292b9fb
4
- data.tar.gz: 484e915e0c41a3ae3e4193e8aa16667611ae3e23
3
+ metadata.gz: a4cb72e08b9e4d09f02497612a54a0734521bfd9
4
+ data.tar.gz: 52471df74223d184f91240e5c8a9b9af68a7ce29
5
5
  SHA512:
6
- metadata.gz: 536352807582e80903546052089a0ae636f71c0d5f9432fe0e888fb2c31e711b522c2ec5ac908a75267589556f4a737078b797e5415f1c772f766edbe0e8e44c
7
- data.tar.gz: 574363bbfdd0bef6030fab3765eb2f97d4b04ae75cb74cd0c8aadddb1cae1f46991e4f1c9014068d9bb73d82d102c5a892221458185f17bd888ae475924ff6a3
6
+ metadata.gz: 4629ca8db63754ef1c2aa47dab651edfcbe96406a89edfa05b3a0b4f368cc48b7c4520bfa29624dad9ff037fb70b7996e6496015c9654c87a0fc8d165e1f603f
7
+ data.tar.gz: 2136d24be6c40c5e93f132078afe595a62bae73f2f4770b319bba4ba4b313ccf3613ea46e565556cb3462e6dd8d906e0d4d4b6b7966a0cef98020caba81f477c
@@ -5,10 +5,13 @@ module Infostrada
5
5
  class BaseRequest
6
6
  include HTTParty
7
7
 
8
+ # How many times should we retry the request if Timeout::Error is raised?
9
+ RETRIES = 5
10
+
8
11
  # Uncomment to debug HTTParty calls.
9
12
  # debug_output $stdout
10
13
 
11
- basic_auth 'APIdemo', 'Sauv@k@vel4'
14
+ basic_auth 'APIdemo', 'saTo1991W&dy'
12
15
 
13
16
  # The default format of the requests. Used on HTTP header 'Content-Type'.
14
17
  format :json
@@ -26,11 +29,27 @@ module Infostrada
26
29
  # Disable the use of rails query string format.
27
30
  #
28
31
  # With rails query string format enabled:
29
- # => get '/', :query => {:selected_ids => [1,2,3]}
32
+ # => get '/', :query => { selected_ids: [1,2,3] }
30
33
  #
31
34
  # Would translate to this:
32
35
  # => /?selected_ids[]=1&selected_ids[]=2&selected_ids[]=3
33
36
  #
34
37
  disable_rails_query_string_format
38
+
39
+ # Used with Timeout::Error rescue so we can keep trying to fetch the information after timeout.
40
+ def self.get!(path, options = {}, &block)
41
+ attempts = 1
42
+ result = nil
43
+
44
+ begin
45
+ result = get(path, options, &block)
46
+ rescue Timeout::Error => error
47
+ puts "Timeout! Retrying... (#{attempts})"
48
+ attempts += 1
49
+ retry unless attempts > RETRIES
50
+ end
51
+
52
+ result
53
+ end
35
54
  end
36
55
  end
@@ -1,4 +1,16 @@
1
1
  module Infostrada
2
+ # n_CompetitionSet is an indicator for the type of Competition:
3
+ #
4
+ # 1 = domestic league
5
+ # 2 = domestic cup
6
+ # 3 = international club competition (e.g. Champions League)
7
+ # 4 = country competition (e.g. World Cup)
8
+ #
9
+ # n_CompetitionLevel is an indicator for the level of a domestic competition:
10
+ #
11
+ # 1 = highest level (e.g. German Bundesliga)
12
+ # 2 = 2nd highest level (e.g. German 2. Bundesliga)
13
+ # 3 = 3rd highest level and so on
2
14
  class Competition
3
15
  attr_accessor :id, :name, :set, :level, :nation
4
16
 
@@ -6,19 +18,7 @@ module Infostrada
6
18
  @id = hash.delete('n_CompetitionID')
7
19
  @name = hash.delete('c_Competition')
8
20
 
9
- @nation = Nation.new
10
- set_nation_attributes(hash)
11
- end
12
-
13
- private
14
-
15
- def set_nation_attributes(hash)
16
- hash.each do |key, value|
17
- if key =~ /[cn]_\w+Natio.*/
18
- method = "#{key.snake_case.gsub(/[cn]_competition_?/, '')}="
19
- @nation.send(method, value)
20
- end
21
- end
21
+ @nation = Nation.new(hash, 'competition')
22
22
  end
23
23
  end
24
24
  end
@@ -1,3 +1,5 @@
1
+ require 'forwardable'
2
+
1
3
  module Infostrada
2
4
  class Edition
3
5
  extend Forwardable
@@ -15,7 +17,7 @@ module Infostrada
15
17
  @id = hash.delete('n_EditionID')
16
18
  @season = hash.delete('c_Season')
17
19
  @start_date = Formatter.format_date(hash.delete('d_EditionStartDate'))
18
- @end_date = hash.delete('d_EditionEndDate')
20
+ @end_date = Formatter.format_date(hash.delete('d_EditionEndDate'))
19
21
 
20
22
  @competition = Competition.new(hash)
21
23
  end
@@ -1,3 +1,5 @@
1
+ require 'infostrada/base_request'
2
+
1
3
  module Infostrada
2
4
  class EditionRequest < Infostrada::BaseRequest
3
5
  URLS = {
@@ -5,7 +7,7 @@ module Infostrada
5
7
  }
6
8
 
7
9
  def self.get_list
8
- list = get(URLS[:list])
10
+ list = get!(URLS[:list])
9
11
 
10
12
  editions = []
11
13
  list.each do |edition_hash|
@@ -0,0 +1,118 @@
1
+ require 'infostrada/referee'
2
+ require 'infostrada/match_event_list'
3
+
4
+ module Infostrada
5
+ class Match < Infostrada::BaseRequest
6
+ extend Forwardable
7
+
8
+ attr_accessor :id, :date, :rescheduled, :round, :home_team, :away_team, :phase, :status_short
9
+ attr_accessor :stadium_id, :stadium_name, :goals, :match_status, :finished, :awarded
10
+ attr_accessor :postponed, :referee, :spectators, :leg, :knockout_phase, :first_leg_score
11
+ attr_accessor :aggregate_winner_id, :current_period_started_at, :status, :started_at, :started
12
+ attr_accessor :competition
13
+
14
+ # Check if the live score, live goals and live lineups are already available
15
+ attr_accessor :live, :live_score, :live_goals, :live_lineup
16
+
17
+ # Lineup
18
+ attr_accessor :lineup_provisional, :lineup_official
19
+
20
+ def_delegator :@referee, :name, :referee_name
21
+ def_delegator :@phase, :name, :phase_name
22
+ def_delegator :@goals, :away_goals, :away_goals
23
+ def_delegator :@goals, :home_goals, :home_goals
24
+
25
+ # We can get all matches for a given edition (very heavy payload). Or we can just get the match
26
+ # information on a single match.
27
+ URLS = {
28
+ list: '/GetMatchList_Edition',
29
+ single: '/GetMatchInfo'
30
+ }
31
+
32
+ def self.where(options = {})
33
+ list = get_match_list(options)
34
+
35
+ matches = []
36
+ list.each do |match_hash|
37
+ matches << Match.new(match_hash)
38
+ end
39
+
40
+ matches.size > 1 ? matches : matches.first
41
+ end
42
+
43
+ def self.get_match_list(options)
44
+ edition_id = options.delete(:edition_id)
45
+ match_id = options.delete(:id)
46
+
47
+ list = get!(URLS[:list], query: { editionid: edition_id.to_i }) if edition_id
48
+ list = get!(URLS[:single], query: { matchid: match_id.to_i }) if match_id
49
+
50
+ list
51
+ end
52
+
53
+ def initialize(hash)
54
+ @id = hash['n_MatchID']
55
+ @date = Formatter.format_date(hash['d_DateUTC'])
56
+ @rescheduled = hash['b_RescheduledToBeResumed']
57
+ @round = hash['round']
58
+
59
+ @aggregate_winner_id = hash['n_WinnerOnAggregateTeamID']
60
+ @current_period_started_at = Formatter.format_date(hash['d_CurrentPeriodStartTime'])
61
+ @status = hash['c_MatchStatus']
62
+ @status_short = hash['c_MatchStatusShort']
63
+ @leg = hash['n_Leg']
64
+ @started_at = Formatter.format_date(hash['d_MatchStartTime'])
65
+
66
+ @stadium_id = hash['n_StadiumGeoID']
67
+ @stadium_name = hash['c_Stadium']
68
+
69
+ @live = hash['b_Live']
70
+ @started = hash['b_Started']
71
+ @finished = hash['b_Finished']
72
+ @awarded = hash['b_Awarded']
73
+
74
+ @live = hash['b_Live']
75
+ @live_score = hash['b_DataEntryLiveScore']
76
+ @live_goals = hash['b_DataEntryLiveGoal']
77
+ @live_lineup = hash['b_DataEntryLiveLineup']
78
+
79
+ @lineup_provisional = hash['b_LineupProvisional']
80
+ @lineup_official = hash['b_LineupOfficial']
81
+
82
+ @referee = Referee.new(hash)
83
+ @phase = Phase.new(hash)
84
+
85
+ @home_team = Team.new(hash, 'home')
86
+ @away_team = Team.new(hash, 'away')
87
+
88
+ @goals = Goals.new(hash)
89
+
90
+ @competition = Competition.new(hash)
91
+
92
+ self
93
+ end
94
+
95
+ def live_event_list
96
+ event_list = MatchEventList.where(match_id: self.id)
97
+ end
98
+ end
99
+
100
+ class Goals
101
+ attr_accessor :home_goals, :away_goals, :home_goals_half_time, :away_goals_half_time,
102
+ :home_goals_90_mins, :away_goals_90_mins, :home_goals_105_mins, :away_goals_150_mins,
103
+ :home_goals_shootout, :away_goals_shootout
104
+
105
+ def initialize(hash)
106
+ @home_goals = hash['n_HomeGoals']
107
+ @away_goals = hash['n_AwayGoals']
108
+ @home_goals_half_time = hash['n_HomeGoalsHalftime']
109
+ @away_goals_half_time = hash['n_AwayGoalsHalftime']
110
+ @home_goals_90_mins = hash['n_HomeGoals90mins']
111
+ @away_goals_90_mins = hash['n_AwayGoals90mins']
112
+ @home_goals_105_mins = hash['n_HomeGoals105mins']
113
+ @away_goals_105_mins = hash['n_AwayGoals105mins']
114
+ @home_goals_shootout = hash['n_HomeGoalsShootout']
115
+ @away_goald_shootout = hash['n_AwayGoalsShootout']
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,34 @@
1
+ module Infostrada
2
+ class MatchEvent
3
+ attr_accessor :id, :description, :short_description, :period, :period_short, :time, :home_goals
4
+ attr_accessor :away_goals, :home_event, :team_id, :team_name, :team_short_name, :person_id
5
+ attr_accessor :person_name, :person_short_name, :reason, :info, :person2_id, :person2_name
6
+ attr_accessor :person2_short_name, :minute
7
+
8
+ def initialize(hash)
9
+ @id = hash['n_ActionID']
10
+ @description = hash['c_Action']
11
+ @short_description = hash['c_ActionShort']
12
+ @period = hash['c_Period']
13
+ @period_short = hash['c_PeriodShort']
14
+ @time = hash['n_ActionTime']
15
+ @home_goals = hash['n_HomeGoals']
16
+ @away_goals = hash['n_AwayGoals']
17
+ @home_event = (hash['n_HomeOrAway'] == 1) ? true : false
18
+ @team_id = hash['n_TeamID']
19
+ @team_name = hash['c_Team']
20
+ @team_short_name = hash['c_TeamShort']
21
+ @person_id = hash['n_PersonID']
22
+ @person_name = hash['c_Person']
23
+ @person_short_name = hash['c_PersonShort']
24
+ @reason = hash['c_ActionReason']
25
+ @info = hash['c_ActionInfo']
26
+ @person2_id = hash['n_SubPersonID']
27
+ @person2_name = hash['c_SubPerson']
28
+ @person2_short_name = hash['c_SubPersonShort']
29
+ @minute = hash['c_ActionMinute']
30
+
31
+ self
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,22 @@
1
+ require 'infostrada/match_event'
2
+
3
+ module Infostrada
4
+ class MatchEventList < Infostrada::BaseRequest
5
+ URL = '/GetMatchActionList_All'
6
+
7
+ attr_accessor :events
8
+
9
+ def self.where(options = {})
10
+ match_id = options.delete(:match_id)
11
+
12
+ list = get!(URL, query: { matchid: match_id.to_i })
13
+
14
+ events = []
15
+ list.each do |event_hash|
16
+ events << MatchEvent.new(event_hash)
17
+ end
18
+
19
+ events
20
+ end
21
+ end
22
+ end
@@ -2,6 +2,13 @@ module Infostrada
2
2
  class Nation
3
3
  attr_accessor :id, :name, :short_name
4
4
 
5
+ def initialize(hash, prefix)
6
+ hash.each do |key, value|
7
+ match = key.snake_case.match(/[cn]_#{prefix}_?(natio\w*)$/)
8
+ self.send("#{$1}=", value) if match
9
+ end
10
+ end
11
+
5
12
  def natio_geo_id=(id)
6
13
  self.id = id
7
14
  end
@@ -1,3 +1,5 @@
1
+ require 'infostrada/base_request'
2
+
1
3
  module Infostrada
2
4
  class PersonInfo < Infostrada::BaseRequest
3
5
  URL = '/GetPersonInfo'
@@ -7,7 +9,7 @@ module Infostrada
7
9
 
8
10
  def self.where(options)
9
11
  id = options.delete(:person_id)
10
- info = get(URL, query: { personid: id }).first
12
+ info = get!(URL, query: { personid: id }).first
11
13
  self.new(id, info)
12
14
  end
13
15
 
@@ -0,0 +1,57 @@
1
+ module Infostrada
2
+ # Phase of a given edition.
3
+ # The only thing that can be confusing is the current and currents boolean variables. Here's an
4
+ # explanation from the Infostrada API website:
5
+ #
6
+ # * b_Current: this boolean field describes the current phase. This field can be True for only
7
+ # one phase.
8
+ #
9
+ # * b_Currents: this boolean field describes the current phases. More than one phases can be
10
+ # True, e.g. multiple groups in the Champions League.
11
+ #
12
+ # You can only get a list of phases on Infostradas GetPhaseList endpoint.
13
+ class Phase < Infostrada::BaseRequest
14
+ URL = '/GetPhaseList'
15
+
16
+ # Short name is only set outside GetPhaseList endpoint. For example on match list.
17
+ attr_accessor :id, :name, :phase1_id, :phase1_name, :phase2_id, :phase2_name, :phase3_id
18
+ attr_accessor :phase3_name, :table, :current, :currents, :start_date, :end_date, :short_name
19
+
20
+ def self.where(options = {})
21
+ edition_id = options.delete(:edition_id)
22
+
23
+ list = get!(URL, query: { editionid: edition_id.to_i })
24
+
25
+ phases = []
26
+ list.each do |phase_hash|
27
+ phases << Phase.new(phase_hash)
28
+ end
29
+
30
+ phases
31
+ end
32
+
33
+ def initialize(hash)
34
+ @id = hash['n_PhaseID']
35
+ @name = hash['c_Phase']
36
+ @short_name = hash['c_PhaseShort']
37
+ @phase1_id = hash['n_Phase1ID']
38
+ @phase1_name = hash['c_Phase1']
39
+ @phase2_id = hash['n_Phase2ID']
40
+ @phase2_name = hash['c_Phase2']
41
+ @phase3_id = hash['n_Phase3ID']
42
+ @phase3_name = hash['c_Phase3']
43
+ @table = hash['b_Table']
44
+ @current = hash['b_Current']
45
+ @currents = hash['b_Currents']
46
+
47
+ # On GetPhaseList endpoint dates are just yyymmdd. Example: 20100629 (which translates to
48
+ # 2010-06-29).
49
+ if hash['n_DateStart'] && hash['n_DateEnd']
50
+ @start_date = Date.parse(hash['n_DateStart'].to_s)
51
+ @end_date = Date.parse(hash['n_DateEnd'].to_s)
52
+ end
53
+
54
+ self
55
+ end
56
+ end
57
+ end
@@ -1,7 +1,7 @@
1
1
  module Infostrada
2
2
  class Player
3
3
  attr_accessor :person_id, :name, :short_name, :birthdate, :function, :shirt_number
4
- attr_accessor :season_stats, :nation
4
+ attr_accessor :season_stats, :nation, :contract_starts_at, :contract_ends_at
5
5
 
6
6
  def initialize(hash)
7
7
  @person_id = hash['n_PersonID']
@@ -15,11 +15,19 @@ module Infostrada
15
15
  @function = hash['c_Function']
16
16
  @shirt_number = hash['n_ShirtNr']
17
17
 
18
+ @contract_starts_at = Formatter.format_date(hash['d_ContractStartDate'])
19
+ @contract_ends_at = Formatter.format_date(hash['d_ContractEndDate'])
20
+
18
21
  # Season statistics
19
22
  set_season_stats(hash)
20
23
 
21
- @nation = Nation.new
22
- set_nation_attributes(hash)
24
+ @nation = Nation.new(hash, 'person')
25
+
26
+ self
27
+ end
28
+
29
+ def name?
30
+ @name && !@name.empty?
23
31
  end
24
32
 
25
33
  private
@@ -40,15 +48,6 @@ module Infostrada
40
48
  @season_stats[:cards_red_direct] = hash['n_CardsRedDirect']
41
49
  @season_stats[:cards_red_from_yellow] = hash['n_CardsRed2Yellow']
42
50
  end
43
-
44
- def set_nation_attributes(hash)
45
- hash.each do |key, value|
46
- if key =~ /[cn]_\w+Natio.*/
47
- method = "#{key.snake_case.gsub(/[cn]_person_?/, '')}="
48
- @nation.send(method, value)
49
- end
50
- end
51
- end
52
51
  end
53
52
  end
54
53
 
@@ -0,0 +1,13 @@
1
+ module Infostrada
2
+ class Referee
3
+ attr_accessor :id, :name, :nation
4
+
5
+ def initialize(hash)
6
+ @id = hash.delete('n_RefereeID')
7
+
8
+ @name = hash.delete('c_Referee')
9
+
10
+ @nation = Nation.new(hash, 'referee')
11
+ end
12
+ end
13
+ end
@@ -1,3 +1,5 @@
1
+ require 'infostrada/base_request'
2
+
1
3
  module Infostrada
2
4
  class Squad < Infostrada::BaseRequest
3
5
  URL = '/GetSquad'
@@ -6,7 +8,7 @@ module Infostrada
6
8
  edition_id = options.delete(:edition_id)
7
9
  team_id = options.delete(:team_id)
8
10
 
9
- list = get(URL, query: { editionid: edition_id, teamid: team_id })
11
+ list = get!(URL, query: { editionid: edition_id, teamid: team_id })
10
12
 
11
13
  players = []
12
14
  list.each do |player_hash|
@@ -1,34 +1,49 @@
1
1
  module Infostrada
2
2
  class Team
3
+ extend Forwardable
4
+
5
+ def_delegator :@nation, :id, :nation_id
6
+ def_delegator :@nation, :name, :nation_name
7
+ def_delegator :@nation, :short_name, :nation_short_name
8
+
3
9
  attr_accessor :id, :name, :short_name, :nation, :edition_id
4
10
 
5
- def self.all(edition_id)
11
+ def self.where(options = {})
12
+ edition_id = options.delete(:edition_id)
6
13
  teams = TeamRequest.get_edition(edition_id.to_i)
7
14
  end
8
15
 
9
- def initialize(hash)
10
- @id = hash.delete('n_TeamID')
11
- @name = hash.delete('c_Team')
12
- @short_name = hash.delete('c_TeamShort')
13
- @edition_id = hash.delete('edition_id')
16
+ def initialize(hash, prefix)
17
+ @edition_id = hash['edition_id']
18
+
19
+ hash.each do |key, value|
20
+ case key.snake_case
21
+ when /^[cn]\w+#{prefix}_?team_id$/
22
+ self.send('team_id=', value)
23
+ when /^[cn]\w+#{prefix}_?team$/
24
+ self.send('team_name=', value)
25
+ when /^[cn]\w+#{prefix}_?team_short$/
26
+ self.send('team_short=', value)
27
+ end
28
+ end
14
29
 
15
- @nation = Nation.new
16
- set_nation_attributes(hash)
30
+ @nation = Nation.new(hash, "#{prefix}_team")
17
31
  end
18
32
 
19
- def details
20
- info ||= TeamInfo.fetch(self)
33
+ def team_id=(id)
34
+ @id = id
21
35
  end
22
36
 
23
- private
37
+ def team_name=(name)
38
+ @name = name
39
+ end
24
40
 
25
- def set_nation_attributes(hash)
26
- hash.each do |key, value|
27
- if key =~ /[cn]_\w+Natio.*/
28
- method = "#{key.snake_case.gsub(/[cn]_team_?/, '')}="
29
- @nation.send(method, value)
30
- end
31
- end
41
+ def team_short=(short_name)
42
+ @short_name = short_name
43
+ end
44
+
45
+ def details
46
+ info ||= TeamInfo.fetch(self)
32
47
  end
33
48
  end
34
49
  end
@@ -1,5 +1,7 @@
1
+ require 'infostrada/base_request'
2
+
1
3
  module Infostrada
2
- class TeamInfo < BaseRequest
4
+ class TeamInfo < Infostrada::BaseRequest
3
5
  attr_accessor :official_name, :official_short_name, :public_name, :public_short_name, :nickname
4
6
  attr_accessor :foundation_date, :official_stadium_name, :stadium_name, :stadium_capacity
5
7
  attr_accessor :url, :city
@@ -7,7 +9,7 @@ module Infostrada
7
9
  URL = '/GetTeamInfo'
8
10
 
9
11
  def self.fetch(team_id)
10
- info_hash = get(URL, query: { teamid: team_id.to_i })
12
+ info_hash = get!(URL, query: { teamid: team_id.to_i })
11
13
 
12
14
  self.new(info_hash.first)
13
15
  end
@@ -24,6 +26,8 @@ module Infostrada
24
26
  @stadium_capacity = hash['n_StadiumCapacity']
25
27
  @url = hash['c_URL']
26
28
  @city = hash['c_City']
29
+
30
+ self
27
31
  end
28
32
  end
29
33
  end
@@ -1,3 +1,5 @@
1
+ require 'infostrada/base_request'
2
+
1
3
  module Infostrada
2
4
  class TeamRequest < Infostrada::BaseRequest
3
5
  URLS = {
@@ -5,11 +7,11 @@ module Infostrada
5
7
  }
6
8
 
7
9
  def self.get_edition(edition_id)
8
- list = get(URLS[:list], query: { editionid: edition_id.to_i })
10
+ list = get!(URLS[:list], query: { editionid: edition_id.to_i })
9
11
 
10
12
  teams = []
11
13
  list.each do |team_hash|
12
- teams << Team.new(team_hash.merge('edition_id' => edition_id.to_i))
14
+ teams << Team.new(team_hash.merge('edition_id' => edition_id.to_i), '')
13
15
  end
14
16
 
15
17
  teams
@@ -1,3 +1,3 @@
1
1
  module Infostrada
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.9'
3
3
  end
data/lib/infostrada.rb CHANGED
@@ -4,7 +4,6 @@ require 'httparty'
4
4
 
5
5
  require 'infostrada/core_ext/string'
6
6
 
7
- require 'infostrada/base_request'
8
7
  require 'infostrada/competition'
9
8
 
10
9
  require 'infostrada/edition'
@@ -14,10 +13,15 @@ require 'infostrada/errors'
14
13
 
15
14
  require 'infostrada/nation'
16
15
 
16
+ require 'infostrada/formatter'
17
+
17
18
  require 'infostrada/team'
18
19
  require 'infostrada/team_request'
19
20
  require 'infostrada/team_info'
20
21
 
22
+ require 'infostrada/match'
23
+ require 'infostrada/phase'
24
+
21
25
  require 'infostrada/squad'
22
26
  require 'infostrada/player'
23
27
  require 'infostrada/person_info'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: infostrada
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ricardo Otero
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-06 00:00:00.000000000 Z
11
+ date: 2014-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -130,9 +130,14 @@ files:
130
130
  - lib/infostrada/edition_request.rb
131
131
  - lib/infostrada/errors.rb
132
132
  - lib/infostrada/formatter.rb
133
+ - lib/infostrada/match.rb
134
+ - lib/infostrada/match_event.rb
135
+ - lib/infostrada/match_event_list.rb
133
136
  - lib/infostrada/nation.rb
134
137
  - lib/infostrada/person_info.rb
138
+ - lib/infostrada/phase.rb
135
139
  - lib/infostrada/player.rb
140
+ - lib/infostrada/referee.rb
136
141
  - lib/infostrada/squad.rb
137
142
  - lib/infostrada/team.rb
138
143
  - lib/infostrada/team_info.rb