Class: CyberCoach::Sport

Inherits:
Resource show all
Includes:
Pageable
Defined in:
lib/cybercoach/sport.rb

Overview

A Sport has Subscriptions to which Entries are submitted.

Instance Attribute Summary collapse

Attributes inherited from Resource

#id

Attributes inherited from AbstractResource

#uri

Instance Method Summary collapse

Methods included from Pageable

included

Methods inherited from Resource

#create, #delete, #update

Methods inherited from AbstractResource

#deserialize, #initialize, #read, #resource_base_uri, #serialize

Constructor Details

This class inherits a constructor from CyberCoach::AbstractResource

Instance Attribute Details

#descriptionObject

:attr: subscriptions The Subscriptions to it.



26
27
28
# File 'lib/cybercoach/sport.rb', line 26

def description
  @description
end

#nameObject

:attr: subscriptions The Subscriptions to it.



26
27
28
# File 'lib/cybercoach/sport.rb', line 26

def name
  @name
end

#subscriptionsObject

:attr: subscriptions The Subscriptions to it.



26
27
28
# File 'lib/cybercoach/sport.rb', line 26

def subscriptions
  @subscriptions
end

Instance Method Details

#from_serializable(serializable) ⇒ Object

:category: Serialization

Creates itself from a serializable representation, which only contains simple data types.

serializable

A hash with the keys:

  • uri

    The URI.

  • id

    The identifier.

  • name

    The name.

  • description

    The description.

  • subscriptions

    Subscription serializables.



40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/cybercoach/sport.rb', line 40

def from_serializable(serializable)
  super(serializable)
  @name = serializable['name']
  @description = serializable['description']
  @subscriptions = []
  unless serializable['subscriptions'].nil?
    @subscriptions = serializable['subscriptions'].map do
    |subscription_serializable|
      subscription = Subscription.new
      subscription.from_serializable(subscription_serializable)
      subscription
    end
  end
end

#plural_nameObject

:category: Configuration

Returns ‘sports’.



87
88
89
# File 'lib/cybercoach/sport.rb', line 87

def plural_name
  'sports'
end

#singular_nameObject

:category: Configuration

Returns ‘sport’.



78
79
80
# File 'lib/cybercoach/sport.rb', line 78

def singular_name
  'sport'
end

#to_serializableObject

:category: Serialization

Returns a serializable representation, which only contains simple data types. The hash has the keys:

  • uri

    The URI.

  • id

    The identifier.

  • name

    The name.

  • description

    The description.



66
67
68
69
70
71
# File 'lib/cybercoach/sport.rb', line 66

def to_serializable
  serializable = super
  serializable['name'] = @name
  serializable['description'] = @description
  serializable
end