Sha256: e6ba203fcb356a374006ce9a362572a7942c78204717941aa094fdab034208e4

Contents?: true

Size: 1.27 KB

Versions: 19

Compression:

Stored size: 1.27 KB

Contents

require 'sinatra/base'
require 'sinatra_more'
require 'haml'

class MarkupDemo < Sinatra::Base
  register SinatraMore::MarkupPlugin

  configure do
    set :root, File.dirname(__FILE__)
  end

  get '/:engine/:file' do
    show(params[:engine], params[:file].to_sym)
  end

  helpers do
    # show :erb, :index
    # show :haml, :index
    def show(kind, template)
      eval("#{kind.to_s} #{template.to_sym.inspect}")
    end

    def captured_content(&block)
      content_html = capture_html(&block)
      "<p>#{content_html}</p>"
    end

    def concat_in_p(content_html)
      concat_content "<p>#{content_html}</p>"
    end

    def ruby_not_template_block
      determine_block_is_template('ruby') do
        content_tag(:span, "This not a template block")
      end
    end

    def determine_block_is_template(name, &block)
      concat_content "<p class='is_template'>The #{name} block passed in is a template</p>" if block_is_template?(block)
    end
  end
end

class MarkupUser
  def errors; Errors.new; end
  def session_id; 45; end
  def gender; 'male'; end
  def remember_me; '1'; end
end

class Errors < Array
  def initialize; self << [:fake, :second, :third]; end
  def full_messages
    ["This is a fake error", "This is a second fake error", "This is a third fake error"]
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
sinatra_more-0.3.9 test/fixtures/markup_app/app.rb
sinatra_more-0.3.8 test/fixtures/markup_app/app.rb
sinatra_more-0.3.7 test/fixtures/markup_app/app.rb
sinatra_more-0.3.6 test/fixtures/markup_app/app.rb
sinatra_more-0.3.5 test/fixtures/markup_app/app.rb
sinatra_more-0.3.4 test/fixtures/markup_app/app.rb
sinatra_more-0.3.3 test/fixtures/markup_app/app.rb
sinatra_more-0.3.2 test/fixtures/markup_app/app.rb
sinatra_more-0.3.1 test/fixtures/markup_app/app.rb
sinatra_more-0.3.0 test/fixtures/markup_app/app.rb
sinatra_more-0.2.9 test/fixtures/markup_app/app.rb
sinatra_more-0.2.8 test/fixtures/markup_app/app.rb
sinatra_more-0.2.7 test/fixtures/markup_app/app.rb
sinatra_more-0.2.5 test/fixtures/markup_app/app.rb
sinatra_more-0.2.4 test/fixtures/markup_app/app.rb
sinatra_more-0.2.3 test/fixtures/markup_app/app.rb
sinatra_more-0.2.2 test/fixtures/markup_app/app.rb
sinatra_more-0.2.1 test/fixtures/markup_app/app.rb
sinatra_more-0.2.0 test/fixtures/markup_app/app.rb