Module: Breezy::Helpers

Included in:
Controller
Defined in:
lib/breezy/helpers.rb

Instance Method Summary collapse

Instance Method Details

#param_to_search_path(param) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/breezy/helpers.rb', line 17

def param_to_search_path(param)
  if param
    param.gsub(/[^\da-zA-Z\_\=\.]+/, '')
      .gsub(/\.+/, '.')
      .split('.')
      .map do |part|
        if part =~ /^-?[0-9]+$/
          part.to_i
        else
          part
        end
      end
  end
end

#redirect_back_with_bzq(opts) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/breezy/helpers.rb', line 3

def redirect_back_with_bzq(opts)
  if request.referrer && params[:bzq]
    referrer_url = URI.parse(request.referrer)
    referrer_url.query = Rack::Utils
      .parse_nested_query(referrer_url.query)
      .merge({bzq: params[:bzq]})
      .to_query

    redirect_to referrer_url.to_s, opts
  else
    redirect_back(opts)
  end
end

#search_path_to_camelized_param(path) ⇒ Object



32
33
34
35
36
37
38
39
40
41
# File 'lib/breezy/helpers.rb', line 32

def search_path_to_camelized_param(path)
  path.map do |part|
    if part.include? '='
      key, rest = part.split('=')
      [key.camelize(:lower), rest].join('=')
    else
      part.camelize(:lower)
    end
  end.join('.')
end