Sha256: e53a73d17a6bcd7c0266093ba926b9ee0d5660f966473bc465edc58e6527cec2

Contents?: true

Size: 891 Bytes

Versions: 4

Compression:

Stored size: 891 Bytes

Contents

# @private
class Skyline::Sections::MediaSection < ActiveRecord::Base
  include Skyline::Sections::Interface
  include Skyline::BelongsToReferable
  
  ALIGNMENT = %w{left right block_left block_right block_center}
  
  # The media linked to this section
  belongs_to_referable :media
  
  # An optional link
  belongs_to_referable :link
  
  validates_numericality_of :width, :height, :allow_nil => true
  
  delegate :url, :external?, :to => :media
  
  def width
    self.dimension[0]
  end
  
  def height
    self.dimension[1]
  end
  
  def dimension
    width = self[:width].to_i
    height = self[:height].to_i
    if self.media.present? 
      proportional = self.media.proportional_dimension(width,height)
      if proportional
        width,height = proportional
      else
        width,height = self.media.width,self.media.height
      end
    end

    [width,height]
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
skylinecms-3.2.0 app/models/skyline/sections/media_section.rb
skylinecms-3.1.0 app/models/skyline/sections/media_section.rb
westarete-skylinecms-3.0.8.20100329 app/models/skyline/sections/media_section.rb
westarete-skylinecms-3.0.8.20100330 app/models/skyline/sections/media_section.rb