Sha256: 42110b636e1999c6cac661a4abccd3ef396914263a984eb1645a0d778daac0b4

Contents?: true

Size: 581 Bytes

Versions: 7

Compression:

Stored size: 581 Bytes

Contents

module MLB
  class Player
    private_class_method :new
    attr_reader :name, :number, :position

    private

    def initialize(attributes={})
      attributes.each do |key, value|
        instance_variable_set("@#{key}", value) if self.respond_to?(key)
      end
    end

    # Returns an array of Player objects given a team roster
    def self.all_from_roster(players)
      players.map do |player|
        new(
          :name     => player['player'],
          :number   => player['number'],
          :position => player['position']
        )
      end
    end

  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
mlb-0.6.3 lib/mlb/player.rb
mlb-0.6.1 lib/mlb/player.rb
mlb-0.6.0 lib/mlb/player.rb
mlb-0.5.9 lib/mlb/player.rb
mlb-0.5.8 lib/mlb/player.rb
mlb-0.5.7 lib/mlb/player.rb
mlb-0.5.6 lib/mlb/player.rb