<commit_before>class Card < ActiveRecord::Base
  belongs_to :action

  # TODO notes, Ruby makes these available as constants!
  # TODO what does freeze do?
  RANKS = %w( 2 3 4 5 6 7 8 9 10 jack queen king ace ).freeze
  SUITS = %w( hearts spades dimons clubs ).freeze

  def ==(your)
    self.suit == your.suit && self.rank == your.rank
  end

  def hash
    [suit, rank].hash
  end

  validates :rank,
    presence: true,<commit_msg>Fixup: Typo s/dimons/dimonds<commit_after>class Card < ActiveRecord::Base
  belongs_to :action

  # TODO notes, Ruby makes these available as constants!
  # TODO what does freeze do?
  RANKS = %w( 2 3 4 5 6 7 8 9 10 jack queen king ace ).freeze
  SUITS = %w( hearts spades dimonds clubs ).freeze

  def ==(your)
    self.suit == your.suit && self.rank == your.rank
  end

  def hash
    [suit, rank].hash
  end

  validates :rank,
    presence: true,
{'fraction_non_alphanumeric': 0.10294117647058823, 'fraction_numerical': 0.02262443438914027, 'mean_word_length': 3.041095890410959, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2050719', 'n_tokens_mistral': 322, 'n_tokens_neox': 297, 'n_words': 115}