Sha256: 3b5c7190f7b90be7a21f44369d9197329b8e20eee01f41723f775d0a2b37f853

Contents?: true

Size: 490 Bytes

Versions: 2

Compression:

Stored size: 490 Bytes

Contents

module Quadro
  class Widget < ActiveRecord::Base
    # validations
    validates :name, uniqueness: { scope: :page_id }

    # associations
    belongs_to :page
    has_many :assets, as: :assetable, dependent: :destroy
    has_many :interactions, as: :interactable, dependent: :destroy

    # methods
    def find_asset(asset_id)
      new_asset = assets.find(asset_id) rescue nil
      new_asset.becomes(new_asset.type.constantize) unless new_asset.nil?
      new_asset
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
quadro-0.6.1 app/models/quadro/widget.rb
quadro-0.6.0 app/models/quadro/widget.rb