Class: URI::QueryParams
Constant Summary
Constants included
from Condition
Condition::OPERATORS
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Condition
#set_conditions, #set_query
Methods included from Filter
#between, #bt, #eq, #equal, #full_text_search, #ge, #greater_and_equal, #in, #le, #less_and_equal, #q
Constructor Details
#initialize(base_uri = "") ⇒ QueryParams
Returns a new instance of QueryParams.
11
12
13
14
15
16
|
# File 'lib/query_params.rb', line 11
def initialize(base_uri = "")
@base_uri = base_uri.nil? ? "" : base_uri
@params = []
@query = ""
@filter_param_name = "filters"
end
|
Class Method Details
.build_uri(options = {}) ⇒ Object
36
37
38
39
40
41
42
|
# File 'lib/query_params.rb', line 36
def self.build_uri(options = {})
queryParams = QueryParams.new(options[:base_uri])
queryParams.set_conditions(options[:filters]) if options[:filters]
queryParams.full_text_search(options[:q]) if options[:q]
queryParams.filter_param_name(options[:filter_param_name]) if options[:filter_param_name]
queryParams.build_uri()
end
|
.filters(filters) ⇒ Object
44
45
46
47
48
49
50
|
# File 'lib/query_params.rb', line 44
def self.filters(filters)
return "" if filters.nil? || filters.empty?
queryParams = QueryParams.new()
queryParams.set_conditions(filters)
queryParams.build_filters()
end
|
Instance Method Details
#build_filters ⇒ Object
52
53
54
|
# File 'lib/query_params.rb', line 52
def build_filters()
@params.join("|")
end
|
#build_uri ⇒ Object
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/query_params.rb', line 22
def build_uri()
uri = ""
unless @base_uri.empty?
uri += uri.include?('?') ? "&" : "?"
end
unless @query.empty?
uri += "#{@query}"
uri += "&" unless @params.empty?
end
uri += "#{@filter_param_name}=#{build_filters()}" unless @params.empty?
uri = "" if uri.length == 1
"#{@base_uri}#{uri}"
end
|
#set_filter_param_name(name = @filter_param_name) ⇒ Object
18
19
20
|
# File 'lib/query_params.rb', line 18
def set_filter_param_name(name = @filter_param_name)
@filter_param_name = name
end
|