mirror of
https://github.com/danbee/danbarberphoto
synced 2025-03-04 08:49:07 +00:00
45 lines
722 B
Ruby
45 lines
722 B
Ruby
class Photo < ActiveRecord::Base
|
|
has_and_belongs_to_many :categories
|
|
|
|
dragonfly_accessor :image
|
|
|
|
validates :image, presence: true
|
|
|
|
self.per_page = 11
|
|
|
|
scope :enabled, -> { where(enabled: true) }
|
|
scope :featured, -> { enabled.where(featured: true) }
|
|
|
|
after_create :process_exif
|
|
|
|
def to_s
|
|
title
|
|
end
|
|
|
|
def name
|
|
title
|
|
end
|
|
|
|
def log_view
|
|
if views.nil?
|
|
self.views = 1
|
|
else
|
|
self.views += 1
|
|
end
|
|
save
|
|
end
|
|
|
|
private
|
|
|
|
def process_exif
|
|
self.title = exif.title if title.empty?
|
|
self.description = exif.description if description.empty?
|
|
self.taken_at = exif.date_time_original
|
|
save
|
|
end
|
|
|
|
def exif
|
|
@exif ||= MiniExiftool.new(image.file.path)
|
|
end
|
|
end
|