<commit_before># encoding: utf-8
class Expansion < ActiveRecord::Base
  include FriendlyId
  include PgSearch

  has_many :versiones, -> { order('slug ASC') }, dependent: :destroy,
    inverse_of: :expansion
  has_many :cartas, through: :versiones
  has_many :imagenes, -> { order('versiones.slug ASC') }, through: :versiones
  has_and_belongs_to_many :formatos

  friendly_id :nombre, use: :slugged
  slugs_dependientes_en :versiones, dependencias: :nombre

  validates_presence_of :nombre
  validates_uniqueness_of :nombre

  scope :grandes, -> { where('total >= ?', 65) }
  scope :ordenadas, -> { order('lanzamiento, created_at') }

  has_attached_file :logo, {
    convert_options: { all: '-strip' }
  }

  validates_attachment :logo,
    content_type: { content_type: %w{image/jpeg image/gif image/png} }

  multisearchable against: [ :nombre, :saga, :notas ]

  normalize_attribute :codigo, with: :upcase

  # Determina de qué expansión son las promocionales
  def base
    if slug =~ /promocionales/
      Expansion.find slug.gsub('promocionales-', '')
    else
      self
    end
  end

  def abrir_sobre<commit_msg>Estandarizar los logos de expansión a 450 pixels de ancho<commit_after># encoding: utf-8
class Expansion < ActiveRecord::Base
  include FriendlyId
  include PgSearch

  has_many :versiones, -> { order('slug ASC') }, dependent: :destroy,
    inverse_of: :expansion
  has_many :cartas, through: :versiones
  has_many :imagenes, -> { order('versiones.slug ASC') }, through: :versiones
  has_and_belongs_to_many :formatos

  friendly_id :nombre, use: :slugged
  slugs_dependientes_en :versiones, dependencias: :nombre

  validates_presence_of :nombre
  validates_uniqueness_of :nombre

  scope :grandes, -> { where('total >= ?', 65) }
  scope :ordenadas, -> { order('lanzamiento, created_at') }

  has_attached_file :logo, {
    styles: {
      normalizado: '450x'
    },
    convert_options: { all: '-strip' },
    default_style: :normalizado
  }

  validates_attachment :logo,
    content_type: { content_type: %w{image/jpeg image/gif image/png} }

  multisearchable against: [ :nombre, :saga, :notas ]

  normalize_attribute :codigo, with: :upcase

  # Determina de qué expansión son las promocionales
  def base
    if slug =~ /promocionales/
      Expansion.find slug.gsub('promocionales-', '')
    else
      self
    end
  end

  def abrir_sobre
{'fraction_non_alphanumeric': 0.11298482293423272, 'fraction_numerical': 0.00505902192242833, 'mean_word_length': 4.016913319238901, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3791723', 'n_tokens_mistral': 851, 'n_tokens_neox': 816, 'n_words': 195}