Skip to content

Latest commit

 

History

History
77 lines (58 loc) · 1.83 KB

NOTES.md

File metadata and controls

77 lines (58 loc) · 1.83 KB

Useful notes

Commands

Automatically generate random results for all participants in a Taikai:

Taikai.find_by(shortname: 'individual-12')
  .participants.map {|participant| participant.score.results }.flatten
  .each { |r|
    r.status = ['hit', 'miss'].sample
    r.final = true
    r.save
  }

Taikai.find_by(shortname: '2in1-test')
  .participants.map(&:results).flatten
  .each { |r|
    r.status = ['hit', 'miss'].sample
    r.final = true
    r.save
  }

Only generate results for first round:

Taikai.find_by(shortname: '2in1-test')
  .participants.map(&:results).flatten
  .filter { |result| result.round == 1 }
  .each { |r|
    r.status = ['hit', 'miss'].sample
    r.final = true
    r.save
  }

Automatically generate random results for a specific match in a Taikai:

Taikai.find_by(shortname: '2in1-p2')
  .matches.where(level: 1, index: 1).map(&:results).flatten
  .each { |r|
    r.status = ['hit', 'miss'].sample
    r.final = true
    r.save
  }

Reset all results in a Taikai:

 Taikai.find_by(shortname: '2in1-test')
   .participants.map(&:results).flatten.select { |r| r.round == 1 }
   .each { |r|
     r.status = nil
     r.final = false
     r.save(validate:false)
   }

Generate results for an Enteki Taikai:

Taikai.find_by(shortname: '2in1-20-enteki')
  .participants.map(&:results).flatten
  .each { |r|
    r.value = [0, 3, 5, 7, 9, 10].sample
    r.status = r.value == 0 ? 'miss' : 'hit'
    r.final = true
    r.save
  }

Reset all passwords:

User.all.each { |u| u.update(encrypted_password: User.new.send(:password_digest, 'password')) }

Rebuild fixtures:

rake spec:fixture_builder:rebuild
RAILS_ENV=test rake db:fixtures:load