class ActivePublicResources::RequestCriteria
Constants
- CONTENT_FILTERS
- SORTS
Attributes
channel_name[RW]
content_filter[RW]
folder[RW]
page[RW]
per_page[RW]
query[RW]
remote_ip[RW]
sort[RW]
Public Class Methods
new(args={})
click to toggle source
# File lib/active_public_resources/request_criteria.rb, line 18 def initialize(args={}) args.each do |k,v| if k.to_s == 'sort' && !SORTS.include?(v) raise ArgumentError.new("sort is invalid. Must be in [#{SORTS.join(', ')}]") end if k.to_s == 'content_filter' && !CONTENT_FILTERS.include?(v) raise ArgumentError.new("content_filter is invalid. Must be in [#{CONTENT_FILTERS.join(', ')}]") end instance_variable_set("@#{k}", v) unless v.nil? end end
Public Instance Methods
attributes()
click to toggle source
# File lib/active_public_resources/request_criteria.rb, line 68 def attributes instance_values end
content_filter=(val)
click to toggle source
# File lib/active_public_resources/request_criteria.rb, line 37 def content_filter=(val) unless CONTENT_FILTERS.include?(val) raise ArgumentError.new("is invalid. Must be in [#{CONTENT_FILTERS.join(', ')}]") end @content_filter = val end
set_default_criteria!(default_criteria)
click to toggle source
# File lib/active_public_resources/request_criteria.rb, line 62 def set_default_criteria!(default_criteria) default_criteria.map do |k, v| instance_variable_set("@#{k}", v) unless validate_presence(k) end end
sort=(val)
click to toggle source
# File lib/active_public_resources/request_criteria.rb, line 30 def sort=(val) unless SORTS.include?(val) raise ArgumentError.new("is invalid. Must be in [#{SORTS.join(', ')}]") end @sort = val end
validate_presence(attr_name, *attr_names)
click to toggle source
# File lib/active_public_resources/request_criteria.rb, line 44 def validate_presence(attr_name, *attr_names) attr_names.unshift(attr_name) attr_names.each do |k| if instance_variable_get("@#{k}").blank? return false end end true end
validate_presence!(attr_names)
click to toggle source
# File lib/active_public_resources/request_criteria.rb, line 54 def validate_presence!(attr_names) attr_names.each do |k| if instance_variable_get("@#{k}").blank? raise ArgumentError.new("must include #{attr_names.join(', ')}") end end end