Module: Assetable::Base::ClassMethods
- Defined in:
- lib/assetable/active_record/base.rb
Instance Method Summary collapse
Instance Method Details
#assetable(*args) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/assetable/active_record/base.rb', line 9 def assetable *args if args.present? args.each do |arg| has_one :"#{arg}_association", -> { where(name: arg) }, class_name: "Assetabler::AssetAttachment", as: :assetable has_one arg, through: :"#{arg}_association", :source => :asset accepts_nested_attributes_for :"#{arg}_association", allow_destroy: true # Hack to fix the has_one accessor from not correctly guessing namespace of source association class_eval %Q" def #{arg} #{arg}_association.try(:asset) || super end " end end end |
#galleryable(*args) ⇒ Object
Galleries
28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/assetable/active_record/base.rb', line 28 def galleryable *args # By default, let's include a gallery. unless args.include? :gallery has_one :gallery, class_name: "Assetabler::Gallery", as: :galleryable, dependent: :destroy accepts_nested_attributes_for :gallery end if args.present? args.each do |arg| has_one arg, -> { where(name: arg) }, class_name: "Assetabler::Gallery", as: :galleryable accepts_nested_attributes_for arg end end end |