module Spyro::ActionViewExtension::ApplicationHelper
Public Instance Methods
app_name()
click to toggle source
# File lib/spyro/helpers/action_view_extension.rb, line 483 def app_name @cache_app_name ||= Rails.application.class.parent_name.underscore end
associations(klass, macro)
click to toggle source
# File lib/spyro/helpers/action_view_extension.rb, line 316 def associations klass, macro klass = klass.to_s.classify.constantize if Symbol === klass klass.reflections.select { |s, r| s and r.macro == macro } end
basic_params()
click to toggle source
# File lib/spyro/helpers/action_view_extension.rb, line 240 def basic_params params.dup.keep_if {|k, _| [:action, :controller, /_id$/].any? {|elem| elem === k }} end
download_mime_type_btns(controller = nil, &block)
click to toggle source
# File lib/spyro/helpers/action_view_extension.rb, line 259 def download_mime_type_btns controller = nil, &block if download_mime_types(controller).size == 1 if block_given? link = block.call(download_mime_types(controller).first) rescue nil else link = collection_url(format: download_mime_types(controller).first) rescue nil end button "Download as #{download_mime_types(controller).first}", link if link elsif download_mime_types(controller).size > 1 res = link_to "#", :class => 'btn btn-default dropdown-toggle', :'data-toggle' => 'dropdown' do ("Download " + content_tag(:span, "", :class => "caret")).html_safe end res + content_tag(:ul, :class => "dropdown-menu") do download_mime_types(controller).map do |mime| if block_given? link = block.call(mime) rescue nil else link = collection_url(format: mime) rescue nil end content_tag :li, (link_to "as #{mime}", link) if link end.join('').html_safe end end end
download_mime_types(controller)
click to toggle source
# File lib/spyro/helpers/action_view_extension.rb, line 285 def download_mime_types(controller) @mimes = {} @mimes[controller] ||= mime_types(controller) @mimes[controller] & [:csv, :xls] end
mime_types(controller)
click to toggle source
# File lib/spyro/helpers/action_view_extension.rb, line 251 def mime_types controller mimes = [] (controller || "#{params[:controller].pluralize}_controller".classify.constantize).mimes_for_respond_to.each do |key, values| mimes << key if (values[:only] == nil or values[:only].include? params[:action]) and (values[:expect] == nil or !values[:expect].include? params[:action]) end mimes end
parents()
click to toggle source
# File lib/spyro/helpers/action_view_extension.rb, line 236 def parents [*(respond_to?(:association_chain) ? (association_chain) : ([]))] end
sorted_header(table, args = [], options = {})
click to toggle source
# File lib/spyro/helpers/action_view_extension.rb, line 291 def sorted_header table, args = [], options = {} table.header args, options do |header, text| if @order_attributes and header.to_s.in? @order_attributes params_dup = params.dup params_dup[:order] = header if params_dup[:desc] params_dup.delete :desc else params_dup[:desc] = true if params[:order] == header.to_s end link_to text, url_for(params_dup) else text end end end
vertical_form_for(record, options={}, &block)
click to toggle source
# File lib/spyro/helpers/action_view_extension.rb, line 308 def vertical_form_for(record, options={}, &block) backup = SimpleForm.form_class SimpleForm.form_class = options[:form_class] result = simple_form_for(record, options, &block) SimpleForm.form_class = backup result end