Sha256: 730dd868dfe037ccf337e812797e38ea09fc87e09dba604f40668a7c9658ea4d

Contents?: true

Size: 818 Bytes

Versions: 11

Compression:

Stored size: 818 Bytes

Contents

require 'sinatra/base'
require 'enumerator'

module Sinatra
  module Helpers
    module Haml
      module Partials
        def haml_partial(name, options = {})
          item_name = name.to_sym
          counter_name = "#{name}_counter".to_sym
          if collection = options.delete(:collection)
            collection.enum_for(:each_with_index).collect do |item,index|
              haml_partial name, options.merge(:locals => {item_name => item, counter_name => index+1})
            end.join
          elsif object = options.delete(:object)
            haml_partial name, options.merge(:locals => {item_name => object, counter_name => nil})
          else
            haml "_#{name}".to_sym, options.merge(:layout => false)
          end
        end
      end
    end
  end

  helpers Helpers::Haml::Partials
end

Version data entries

11 entries across 11 versions & 3 rubygems

Version Path
sbfaulkner-sinatra-helpers-0.9.1 lib/sinatra-helpers/haml/partials.rb
tdreyno-middleman-0.2.8 vendor/sinatra-helpers/lib/sinatra-helpers/haml/partials.rb
tdreyno-middleman-0.2.9 vendor/sinatra-helpers/lib/sinatra-helpers/haml/partials.rb
tdreyno-middleman-0.3.0 vendor/sinatra-helpers/lib/sinatra-helpers/haml/partials.rb
tdreyno-middleman-0.3.1 vendor/sinatra-helpers/lib/sinatra-helpers/haml/partials.rb
middleman-0.3.6 vendor/sinatra-helpers/lib/sinatra-helpers/haml/partials.rb
middleman-0.3.5 vendor/sinatra-helpers/lib/sinatra-helpers/haml/partials.rb
middleman-0.2.8 vendor/sinatra-helpers/lib/sinatra-helpers/haml/partials.rb
middleman-0.2.9 vendor/sinatra-helpers/lib/sinatra-helpers/haml/partials.rb
middleman-0.3.0 vendor/sinatra-helpers/lib/sinatra-helpers/haml/partials.rb
middleman-0.3.1 vendor/sinatra-helpers/lib/sinatra-helpers/haml/partials.rb