class SearchGenerator
Public Instance Methods
generate_search_form()
click to toggle source
# File lib/generators/search/search_generator.rb, line 12 def generate_search_form template 'advanced_search.html.haml', "app/views/#{model_name.pluralize.underscore}/_advanced_search.html.haml" end
generate_searcher()
click to toggle source
# File lib/generators/search/search_generator.rb, line 8 def generate_searcher template 'searcher.rb', "app/searchers/#{model_name.underscore}_searcher.rb" end
generate_spec_file()
click to toggle source
# File lib/generators/search/search_generator.rb, line 20 def generate_spec_file template 'searcher_spec.rb', "spec/searchers/#{model_name.underscore}_searcher_spec.rb" end
generate_yml_file()
click to toggle source
# File lib/generators/search/search_generator.rb, line 16 def generate_yml_file template 'en.yml', "config/locales/models/#{model_name.underscore}/en.yml" end
inject_searcher_params()
click to toggle source
# File lib/generators/search/search_generator.rb, line 24 def inject_searcher_params inject_into_file("app/controllers/#{model_name.pluralize.underscore}_controller.rb", :after => 'private') do searcher_params_content end end
Private Instance Methods
between_attributes()
click to toggle source
# File lib/generators/search/search_generator.rb, line 81 def between_attributes between_attributes = [] get_attributes.each do |k, v| if k.include?("bet1") k = k.chomp("bet1") between_attributes << ["#{k}", "from_#{k}" ,"to_#{k}"] end end between_attributes end
between_date_time_attributes()
click to toggle source
# File lib/generators/search/search_generator.rb, line 92 def between_date_time_attributes between_date_time_attributes = [] get_attributes.each do |k, v| if k.include?("bet$") k = k.chomp("bet$") between_date_time_attributes << ["#{k}", "from_#{k}" ,"to_#{k}"] end end between_date_time_attributes end
get_attributes()
click to toggle source
# File lib/generators/search/search_generator.rb, line 32 def get_attributes @attributes ||= argument.collect do |attribute| Rails::Generator::GeneratedAttribute.new(*attribute.split(":")) end end
searcher_params_content()
click to toggle source
# File lib/generators/search/search_generator.rb, line 38 def searcher_params_content buffer = <<-CONTENT def search_params params.require(:#{model_name.underscore}_searcher).permit( #{symbolize_attribute}) end CONTENT buffer end
symbolize_attribute()
click to toggle source
# File lib/generators/search/search_generator.rb, line 49 def symbolize_attribute f = "" get_attributes.each do |k, v| if k.include?("humanize_model@") elsif k.include?("bet1") k = k.chomp("bet1") f = f + ":from_#{k}, " f = f + ":to_#{k}, " elsif k.include?("bet$") k = k.chomp("bet$") f = f + ":from_#{k}, " f = f + ":to_#{k}, " elsif k.include?("e$") k = k.chomp("e$") f = f+":#{k}, " elsif k.include?("page@") k = k.chomp("@") f = f+":#{k}, " elsif k.include?("approval_status@") k = k.chomp("@") f = f+":#{k}, " elsif k.include?("yes$") k = k.chomp("yes$") f = f+":#{k}, " else f = f+":#{k}, " end end f.chomp(", ") end