Sha256: 15d1c96b4a5443aa118a9e9bb65c0c6152829a3321d0f1e4bed6c7a3bd99eb72

Contents?: true

Size: 1000 Bytes

Versions: 30

Compression:

Stored size: 1000 Bytes

Contents

module Locomotive
  class EditableElementPresenter < BasePresenter

    ## properties ##

    properties :slug, :block, allow_nil: true

    with_options required: false, allow_nil: true do |presenter|
      presenter.property  :hint
      presenter.property  :priority, type: 'Integer'
    end

    with_options only_getter: true do |presenter|
      presenter.properties  :label, :type, :block_name
      presenter.properties  :from_parent, type: 'Boolean'
      presenter.property    :disabled, type: 'Boolean'
    end

    ## other getters / setters ##

    def label
      self.labelize(self.slug)
    end

    def type
      self.__source._type.to_s.demodulize
    end

    def block_name
      if self.__source.block
        self.labelize(self.__source.block.split('/').last)
      else
        I18n.t('locomotive.pages.form.default_block')
      end
    end

    ## methods ##

    protected

    def labelize(label)
      label.gsub(/[\"\']/, '').gsub('-', ' ').humanize
    end

  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
locomotive_cms-2.5.7 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.5.6 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.5.6.rc2 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.5.6.rc1 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.5.5 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.5.4 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.5.3 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.5.2 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.5.1 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.5.0 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.5.0.rc3 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.5.0.rc2 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.5.0.rc1 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.4.1 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.4.0 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.3.1 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.3.0 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.2.3 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.2.2 app/presenters/locomotive/editable_element_presenter.rb
locomotive_cms-2.2.1 app/presenters/locomotive/editable_element_presenter.rb