-
-
Save leh/026cc3fc0a3910de06d8 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Offene Fragen | |
# - In diesem Szenario, wie wird hier sichergestellt, dass es nur genau ein tile image gibt? | |
# Theoretisch müsste portfolio_item.tile_image.first_or_create funktionieren? | |
# - Weiterhin nimmt dieses Szenario an, dass nur ein "Liste" von Source Images | |
# existiert, also die Uploads im eigene Portfolio und in der Detailansicht | |
# nicht unterschieden werden. Das müsste zuvor mit den Business-Leuten noch | |
# abgestimmt werden. | |
class PortfolioItem::Image < ActiveEceord::Base | |
extend Dragonfly::Model | |
belongs_to :portfolio_item | |
dragonfly_accessor :original_image do | |
# Up Front processing to image | |
# https://markevans.github.io/dragonfly/models/#up-front | |
end | |
dragonfly_accessor :image | |
end | |
class PortfolioItem < ActiveEceord::Base | |
# liefert alle mit dem PortfolioItem assoziierten Bilder | |
has_many :images, class_name: 'PortfolioItem::Image', dependent: :destroy | |
# liefert nur die Source Images zurück | |
has_many :source_images, conditions: { where(breed: 'source')}, class_name: 'PortfolioItem::Image', dependent: :destroy | |
# liefert die optimierte und gecroppte version des kachelbilds zurück | |
has_one :tile_image, conditions: { where(breed: 'tile')}, class_name: 'PortfolioItem::Image', dependent: :destroy | |
# liefert die optimierte und gecroppte version des detailbildes zurück | |
has_one :detail_image, conditions: { where(breed: 'detail')}, class_name: 'PortfolioItem::Image', dependent: :destroy | |
# liefert das Bild, das zuletzt benutzt wurde um ein optimiertes Bild für die Kachel zu erstellen | |
def tile_image_source | |
source_images[tile_image_slider_index] | |
end | |
# liefert das Bild, das zuletzt benutzt wurde um ein optimiertes Bild für die Detailansicht zu erstellen | |
def detail_image_source | |
source_images[detail_image_slider_index] | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment