class HalApi::Controller::Filtering::FilterParams
Public Class Methods
new(filters = {})
click to toggle source
# File lib/hal_api/controller/filtering.rb, line 12 def initialize(filters = {}) @filters = filters.with_indifferent_access end
Public Instance Methods
method_missing(m, *args, &_block)
click to toggle source
# File lib/hal_api/controller/filtering.rb, line 16 def method_missing(m, *args, &_block) if @filters.key?(m) && args.empty? @filters[m] elsif m.to_s[-1] == '?' && args.empty? && @filters.key?(m.to_s.chop) !!@filters[m.to_s.chop] else msg = "Unknown filter param '#{m}'" hint = "Valid filters are: #{@filters.keys.join(' ')}" raise HalApi::Errors::UnknownFilterError.new(msg, hint) end end