Skip to content

Instantly share code, notes, and snippets.

@leh
Forked from phillipoertel/pi_images.rb
Last active August 29, 2015 14:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save leh/026cc3fc0a3910de06d8 to your computer and use it in GitHub Desktop.
Save leh/026cc3fc0a3910de06d8 to your computer and use it in GitHub Desktop.
# 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