Class: ExtremeOverclockingClient::Team

Inherits:
Object
  • Object
show all
Includes:
Request
Defined in:
lib/extreme_overclocking_client/team.rb

Constant Summary

Constants included from Request

Request::FEED_URL

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Request

#request

Constructor Details

#initialize(params = {}) ⇒ Team

Returns a new instance of Team.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/extreme_overclocking_client/team.rb', line 16

def initialize(params = {})
  unless params[:belongs_to_user]
    config = params[:config] || nil

    unless config.is_a?(ExtremeOverclockingClient::Config)
      raise ArgumentError, "Param 'config' must be an instance of ExtremeOverclockingClient::Config"
    end

    id = params[:id] || nil

    raise ArgumentError, 'Required: id of team' unless id.present?

    params = fetch(config:, id:)
  end

  build(params:)
end

Instance Attribute Details

#idObject (readonly)

Returns the value of attribute id.



7
8
9
# File 'lib/extreme_overclocking_client/team.rb', line 7

def id
  @id
end

#nameObject (readonly)

Returns the value of attribute name.



7
8
9
# File 'lib/extreme_overclocking_client/team.rb', line 7

def name
  @name
end

#pointsObject (readonly)

Returns the value of attribute points.



7
8
9
# File 'lib/extreme_overclocking_client/team.rb', line 7

def points
  @points
end

#rankObject (readonly)

Returns the value of attribute rank.



7
8
9
# File 'lib/extreme_overclocking_client/team.rb', line 7

def rank
  @rank
end

#retrieved_atObject (readonly)

Returns the value of attribute retrieved_at.



7
8
9
# File 'lib/extreme_overclocking_client/team.rb', line 7

def retrieved_at
  @retrieved_at
end

#updated_atObject (readonly)

Returns the value of attribute updated_at.



7
8
9
# File 'lib/extreme_overclocking_client/team.rb', line 7

def updated_at
  @updated_at
end

#usersObject (readonly)

Returns the value of attribute users.



7
8
9
# File 'lib/extreme_overclocking_client/team.rb', line 7

def users
  @users
end

#wusObject (readonly)

Returns the value of attribute wus.



7
8
9
# File 'lib/extreme_overclocking_client/team.rb', line 7

def wus
  @wus
end

Instance Method Details

#refreshObject



34
35
36
37
38
39
40
41
42
43
# File 'lib/extreme_overclocking_client/team.rb', line 34

def refresh
  time_difference_in_hours = (Time.now.utc - Time.parse(@retrieved_at)) / 3600

  return unless time_difference_in_hours >= 3.0

  params = fetch(config: @config, id: @id)
  build(params:)

  self
end