locomotivecms/steam

View on GitHub
lib/locomotive/steam/entities/editable_element.rb

Summary

Maintainability
A
0 mins
Test Coverage
module Locomotive::Steam

  class EditableElement

    include Locomotive::Steam::Models::Entity

    attr_accessor :page

    def initialize(attributes = {})
      super({
        label:          nil,
        block:          nil,
        content:        nil,
        source:         nil,
        inline_editing: true
      }.merge(attributes))
    end

    def source
      self[:source].blank? ? self.content : self[:source]
    end

    def content
      self[:source].blank? ? self[:content] : self[:source]
    end

    def format
      self[:format] || 'html' # only editable_text elements
    end

  end

end