Sha256: 7ae9e2056dd1e1e5d7754d0d324672fcf2f997c6ff5fbbfc1e2f440a982fccda

Contents?: true

Size: 1.1 KB

Versions: 6

Compression:

Stored size: 1.1 KB

Contents

module Polygallery
  class Gallery < ActiveRecord::Base

    belongs_to :galleryable, :polymorphic => true
    has_polyphotos

    def settings
      if galleryable.present?
        galleryable.send("#{title}_settings".to_sym)
      elsif galleryable_id.present? && galleryable_type.present?
        puts 'Galleryable can\'t be loaded'
        klass = Object.const_get(galleryable_type)
        if klass.exists? :id => galleryable_id
          puts 'Galleryable found!  Attempting to load now.'
          klass.find(galleryable_id).send("#{title}_settings".to_sym)
        else
          puts 'Galleryable still not found.'
          defaults
        end
      elsif galleryable_type.present?
        Object.const_get(galleryable_type).send("#{title}_settings".to_sym)
      else
        puts 'WARNING: Galleryable not found!  Using default paperclip settings...'
        defaults
      end
    end

    def defaults
      if self.class_name.present?
        Kernel.const_get(self.class_name)::DEFAULTS
      else
        DEFAULTS
      end
    end

    def default_options
      @default_options ||= DEFAULTS
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
polygallery-0.1.9 app/models/polygallery/gallery.rb
polygallery-0.1.8 app/models/polygallery/gallery.rb
polygallery-0.1.7 app/models/polygallery/gallery.rb
polygallery-0.1.6 app/models/polygallery/gallery.rb
polygallery-0.1.4 app/models/polygallery/gallery.rb
polygallery-0.1.2 app/models/polygallery/gallery.rb