require 'digest/sha1'
class LightBox < ActiveRecord::Base
  belongs_to :user
  belongs_to :title
  has_many   :light_box_images, dependent: :destroy
  has_many   :images, through: :light_box_images
  before_create :generate_hash_code
  after_destroy :recreate_first_light_box

  validates :name, presence: true, uniqueness: { scope: :user_id, case_sensitive: false }
  validates :user_id,  presence: true
  validates :title_id, presence: true

  def recreate_first_light_box
    self.class.create(name: I18n.t('light_box.name'),
                      title_id: self.title_id,
                      user_id: self.user_id)  if self.class.where(user_id: self.user_id).count == 0
  end

  private

  def generate_hash_code
    self.hash_code = "X#{Digest::SHA1.hexdigest( Time.now.to_s.split(//).sort_by {rand}.join )}"
  end

end