Sha256: db68b827c0005bb675e55a5213f32cc29589d12e3bee1cc25042a02a00372fb1

Contents?: true

Size: 1011 Bytes

Versions: 9

Compression:

Stored size: 1011 Bytes

Contents

class Guide::NodeView
  delegate :id,
    :options,
    :name,
    :formats,
    :cell,
    :template,
    :layout_css_classes,
    :node_type,
    :can_be_rendered?,
    :view_model, :to => :@node

  attr_reader :node_path

  def initialize(node:, bouncer:, diplomat:, node_path:)
    @node = node
    @bouncer = bouncer
    @diplomat = diplomat
    @node_path = node_path
  end

  def visible_scenarios
    @node.scenarios.select do |scenario_id, scenario|
      @bouncer.user_can_access?(scenario)
    end
  end

  def multiple_formats?
    @node.formats.size > 1
  end

  def uses_cells?
    cell.present?
  end

  def template_location
    template || cell
  end

  def user_is_privileged?
    @bouncer.user_is_privileged?
  end

  def supported_locales
    @diplomat.supported_locales
  end

  def show_locale_switcher?
    @bouncer.user_is_privileged? && @diplomat.multiple_supported_locales?
  end

  def current_locale
    @diplomat.current_locale
  end

  def locale_param
    'temp_locale'
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
guide-0.8.0 app/view_models/guide/node_view.rb
guide-0.7.0 app/view_models/guide/node_view.rb
guide-0.6.1 app/view_models/guide/node_view.rb
guide-0.6.0 app/view_models/guide/node_view.rb
guide-0.5.0 app/view_models/guide/node_view.rb
guide-0.4.1 app/view_models/guide/node_view.rb
guide-0.4.0 app/view_models/guide/node_view.rb
guide-0.3.2 app/view_models/guide/node_view.rb
guide-0.3.1 app/view_models/guide/node_view.rb