Class: BeesService
- Inherits:
 - 
      Object
      
        
- Object
 - BeesService
 
 
- Defined in:
 - app/services/bees_service.rb
 
Overview
Handles logic of spelling bee
Class Method Summary collapse
- 
  
    
      .guess(word, sbwords = [], sbscore = 0)  ⇒ Array<String>, ... 
    
    
  
  
  
  
  
  
  
  
  
    
This method validates a guess.
 - 
  
    
      .set_day_bee(date = Date.today)  ⇒ nil 
    
    
  
  
  
  
  
  
  
  
  
    
This method generates a random game.
 - 
  
    
      .set_week_bee  ⇒ nil 
    
    
  
  
  
  
  
  
  
  
  
    
This method sets the upcoming 7 bee games.
 
Class Method Details
.guess(word, sbwords = [], sbscore = 0) ⇒ Array<String>, ...
    Note:
    
  
This method updates session variables
This method validates a guess
      39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55  | 
    
      # File 'app/services/bees_service.rb', line 39 def self.guess(word, sbwords = [], sbscore = 0) word = word.upcase = nil if sbwords.include?(word) = "You have already guessed that!" else = valid_word?(word) if == "valid" = "" sbwords << word sbscore += calculate_score(word) end end return sbwords, sbscore, end  | 
  
.set_day_bee(date = Date.today) ⇒ nil
This method generates a random game
      19 20 21 22 23 24 25 26 27 28  | 
    
      # File 'app/services/bees_service.rb', line 19 def self.set_day_bee(date = Date.today) while Bee.find_by(play_date: date).nil? letters = ("A".."Z").to_a.shuffle[0, 7].join valid_words = WordsService.words(letters) if valid_words.length > 20 ranks = ranks(valid_words) Bee.create!(letters: letters, play_date: date, ranks: ranks) end end end  | 
  
.set_week_bee ⇒ nil
This method sets the upcoming 7 bee games
      6 7 8 9 10 11 12 13  | 
    
      # File 'app/services/bees_service.rb', line 6 def self.set_week_bee tomorrow = Date.tomorrow bees = Bee.where(play_date: tomorrow...tomorrow + 7).order(:play_date) play_date = bees.any? ? bees.maximum(:play_date) : tomorrow (play_date..tomorrow + 6).each do |date| self.set_day_bee(date) end end  |