module Spyro::ActionViewExtension::CollectionForHelper
Public Instance Methods
collection_for(collection, options = {})
click to toggle source
# File lib/spyro/helpers/action_view_extension.rb, line 386 def collection_for collection, options = {}, &block parser = nil Parser::Base.types.each do |klass_collection, klass_parser| parser = klass_parser.new collection, self, options if collection.is_a? klass_collection end return if parser.nil? output = "Spyro::ActionViewExtension::CollectionForHelper::Output::#{(options[:output] || :table).to_s.classify}".constantize if block_given? block.call parser end parser.parse # p parser.unicollection output.new(parser.unicollection, self, parser.class).render end
sortable_header(header)
click to toggle source
# File lib/spyro/helpers/action_view_extension.rb, line 409 def sortable_header header if controller.ordered_keys.include? header params_dup = params.dup default_sort = controller.ordered_keys.first sort = params_dup.delete :sort rev_sort = params_dup.delete :rev_sort css_class = '' if sort css_class = "sort" if sort.to_sym == header.to_sym elsif rev_sort css_class = "sort rev" if rev_sort.to_sym == header.to_sym elsif default_sort.to_sym == header.to_sym css_class = "sort#{controller.ordered_options[:default] == :desc ? ' rev' : ''}" end params_dup[:rev_sort] = params_dup[:sort] = nil if css_class == "sort" params_dup[:rev_sort] = header else params_dup[:sort] = header end link_to header.to_s.humanize, url_for(params_dup), class: css_class else header.to_s.humanize end end