Sha256: 33057feb2a2225edc728f79e417c1ae8eba1cb9e82f9e5830070ae381f2702f5

Contents?: true

Size: 803 Bytes

Versions: 24

Compression:

Stored size: 803 Bytes

Contents

module RedmineExtensions
  module RenderingHelper

    def render_with_fallback(*attrs)
      raise 'Missing an options argument' unless attrs.last.is_a?(Hash)
      options = attrs.last
      raise 'Missing an fallback prefixes' unless options[:prefixes]
      partial = options[:partial] || attrs.first
      prefixes = options.delete(:prefixes)

      prefixes = prefixes.model if prefixes.is_a?(BasePresenter)
      prefixes = prefixes.hiearchy.map{|klass| klass.underscore.pluralize } if prefixes.is_a?(ActiveRecord::Base)

      prefixes.each do |prefix|
        if lookup_context.template_exists?(partial, prefix, true)
          partial.prepend("#{prefix}/")
          return render(*attrs)
        end
      end
      partial.prepend("#{prefixes.last}/")
      render(*attrs)
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
redmine_extensions-0.0.39 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.38 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.37 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.36 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.34 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.33 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.29 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.28 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.27 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.24 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.23 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.22 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.21 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.20 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.19 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.18 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.17 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.16 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.15 app/helpers/redmine_extensions/rendering_helper.rb
redmine_extensions-0.0.14 app/helpers/redmine_extensions/rendering_helper.rb