Class: Teams

Inherits:
Object
  • Object
show all
Defined in:
lib/fbtxt-pp/models/teams.rb

Instance Method Summary collapse

Constructor Details

#initializeTeams

Returns a new instance of Teams.



102
103
104
105
# File 'lib/fbtxt-pp/models/teams.rb', line 102

def initialize
   @recs   = []
   @lookup = {}
end

Instance Method Details

#_add(new_rec) ⇒ Object



113
114
115
116
117
118
119
120
121
122
123
124
125
# File 'lib/fbtxt-pp/models/teams.rb', line 113

def _add( new_rec )
   @recs << new_rec

   new_rec.keys.each do |key|
      rec  =  @lookup[ key ]
      if rec.nil?
         @lookup[ key ] = new_rec
      else
        raise ArgumentError,
          "duplicate team records  #{rec.pretty_inspect} == #{new_rec.pretty_inspect}"
      end
   end
end

#add(recs) ⇒ Object



107
108
109
110
111
# File 'lib/fbtxt-pp/models/teams.rb', line 107

def add( recs )
   recs.each do |rec|
     _add( Team.build( rec ) )
   end
end

#each(&blk) ⇒ Object



158
# File 'lib/fbtxt-pp/models/teams.rb', line 158

def each( &blk ) @recs.each( &blk ); end

#find!(q) ⇒ Object

note - search by id, name or alt_names !!



129
130
131
132
133
134
135
136
137
138
139
140
# File 'lib/fbtxt-pp/models/teams.rb', line 129

def find!( q )
   if q == '?'    ## return dummy
     rec = Team::DUMMY
   else
     key = slugify( q )
     rec =  @lookup[ key ]
     if rec.nil?
        raise ArgumentError, "no team found for q(uery) >#{q}< using key >#{key}<"
     end
     rec
   end
end

#sizeObject



159
# File 'lib/fbtxt-pp/models/teams.rb', line 159

def size()       @recs.size; end