Sha256: 5c12f3703c1624184e32928a4aa6a7281ba5ca958249db54628a37c99e6edfae

Contents?: true

Size: 541 Bytes

Versions: 9

Compression:

Stored size: 541 Bytes

Contents

module Quadro
  class Widget < ActiveRecord::Base
    # attributes
    attr_accessible :name, :type

    # 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

9 entries across 9 versions & 1 rubygems

Version Path
quadro-0.5.8 app/models/quadro/widget.rb
quadro-0.5.7 app/models/quadro/widget.rb
quadro-0.5.6 app/models/quadro/widget.rb
quadro-0.5.5 app/models/quadro/widget.rb
quadro-0.5.4 app/models/quadro/widget.rb
quadro-0.5.3 app/models/quadro/widget.rb
quadro-0.5.2 app/models/quadro/widget.rb
quadro-0.5.1 app/models/quadro/widget.rb
quadro-0.5.0 app/models/quadro/widget.rb