Sha256: b218d55533f1b6d4565c98f05af1a9d18f2601d14be9f42de55f99d2fd5e2a46

Contents?: true

Size: 1.22 KB

Versions: 3

Compression:

Stored size: 1.22 KB

Contents

module Interpret
  module InterpretHelpers
    # Generates the html tree from the given keys
    def interpret_show_tree(tree, origin_keys)
      tree = tree.first[1]
      unless origin_keys.nil?
        origin_keys.split(".").each do |key|
          tree = tree[key]
        end
      end
      build_tree(tree, origin_keys)
    end

    def interpret_title(title)
      content_for :title do
        title
      end
    end

    def interpret_parent_layout(layout)
      @view_flow.set(:layout, self.output_buffer)
      self.output_buffer = render(:file => "layouts/#{layout}")
    end

  private

    def build_tree(hash, origin_keys = "", prev_key = "")
      out = "<ul>"
      if origin_keys.present? && prev_key.blank?
        parent_key = origin_keys.split(".")[0..-2].join(".")
        if parent_key.blank?
          out << "<li>#{link_to "..", root_path}</li>"
        else
          out << "<li>#{link_to "..", root_path(:key => parent_key)}</li>"
        end
      end
      hash.keys.each do |key|
        out << "<li>"
        out << "#{link_to key, root_path(:key => "#{origin_keys.blank? ? "" : "#{origin_keys}."}#{prev_key}#{key}")}"
        out << "</li>"
      end
      out << "</ul>"
      out.html_safe
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
interpret-1.0.2 lib/interpret/helpers.rb
interpret-1.0.1 lib/interpret/helpers.rb
interpret-1.0.0 lib/interpret/helpers.rb