module Rsssf::RsssfUtils

Public Instance Methods

archive_dir_for_year( year ) click to toggle source
# File lib/rsssf/utils.rb, line 56
def archive_dir_for_year( year )
  season = year_to_season( year )
  if year <= 2010   # e.g. season 2009-10
    ## use archive folder (w/ 1980s etc)
    ## get decade folder
    decade  = year-1
    decade -= decade % 10   ## turn 1987 into 1980 etc
    "archive/#{decade}s/#{season}"
  else
    season 
  end
end
year_from_file( path ) click to toggle source
# File lib/rsssf/utils.rb, line 6
def year_from_file( path )
  extname  = File.extname( path )
  basename = File.basename( path, extname )  ## e.g. duit92.txt or duit92.html => duit92
  year_from_name( basename )
end
year_from_name( name ) click to toggle source
# File lib/rsssf/utils.rb, line 13
def year_from_name( name )
  if name =~ /(\d+)/
    digits = $1.to_s
    num    = digits.to_i

    if digits.size == 4   ## e.g. 1980 or 2011 etc.
      num
    elsif digits.size == 2  ## e.g. 00, 20 or 99 etc.
      if num <= 16  ## assume 20xx for now from 00..16
        2000+num
      else               ## assume 19xx for now
        1900+num
      end
    else
      fail( "no year found in name #{name}; expected two or four digits")
    end
  else
    fail( "no year found in name #{name}")
  end
end
year_to_season( year ) click to toggle source
# File lib/rsssf/utils.rb, line 35
def year_to_season( year )

  ## todo: require four digit years? why? why not??

  ## e.g. 64   => 1963-64
  ##      2011 => 2010-11   etc.

  if year <= 16  ## assume 20xx for now from 00..16
    year += 2000
  elsif year <= 99
    year += 1900
  else
    # use as is; assume four digit year
  end  

  year_prev = year-1

  "%4d-%02d" % [year_prev, year%100]   ## e.g. return 1974-75
end