class Tourguide::Renderers::Stop

Attributes

count[W]
options[R]
total[W]

Public Class Methods

new(context, options={}) click to toggle source
# File lib/tourguide/renderers/stop.rb, line 8
def initialize(context, options={})
  @context = context
  @options = options.reverse_merge(default_options[:tour]).reverse_merge(default_options.except(:tour))
end

Public Instance Methods

close() click to toggle source
# File lib/tourguide/renderers/stop.rb, line 26
def close
  @close ||= Tourguide::Renderers::Link.new(@context, options[:close][:label], :stop, options[:close])
end
connections(options={}) { |renderer| ... } click to toggle source
# File lib/tourguide/renderers/stop.rb, line 18
def connections(options={}, &block)
  @connections ||= begin 
    renderer = Tourguide::Renderers::Connections.new(@context, options)
    yield(renderer) if block_given?
    renderer
  end
end
content(&block) click to toggle source
# File lib/tourguide/renderers/stop.rb, line 13
def content &block
  raise ArgumentError unless block_given?
  @content = @context.capture(&block)
end
progress() click to toggle source
# File lib/tourguide/renderers/stop.rb, line 34
def progress
  @progress ||= Tourguide::Renderers::Progress.new(@context, @count, @total)
end
render() click to toggle source
# File lib/tourguide/renderers/stop.rb, line 30
def render
  @context.content_tag(:li, rendered_content, li_options).html_safe
end

Private Instance Methods

data_options() click to toggle source
# File lib/tourguide/renderers/stop.rb, line 54
def data_options
  options.except(:wrapper, :close, :counter).reject { |k, v| v.blank? }
end
default_options() click to toggle source
# File lib/tourguide/renderers/stop.rb, line 58
def default_options
  {
    wrapper: {},
    tour: {
      el: nil,
      class: nil,
      orientation: 'centered',
      algin: 'left',
      width: nil,
      margin: nil,
      top: nil,
      left: nil,
      arrow: nil,
      zindex: nil,
    },
    close: {
      label: "×"
    }
  }
end
li_options() click to toggle source
# File lib/tourguide/renderers/stop.rb, line 48
def li_options
  {
    data: data_options
  }.merge(options[:wrapper])
end
progress_content() click to toggle source
# File lib/tourguide/renderers/stop.rb, line 44
def progress_content
  @context.content_tag(:ol, progress.render, class: 'progress-list') unless progress.uncountable?
end
rendered_content() click to toggle source
# File lib/tourguide/renderers/stop.rb, line 40
def rendered_content
  [close.render, @content, progress_content, connections.render].compact.join("\n").html_safe
end