diff --git a/lib/payrix/request_options/search.rb b/lib/payrix/request_options/search.rb index 72e0bea..a20c5b8 100644 --- a/lib/payrix/request_options/search.rb +++ b/lib/payrix/request_options/search.rb @@ -3,6 +3,7 @@ require 'payrix/request_options/search/node' require 'payrix/request_options/search/atom' require 'payrix/request_options/search/equals' +require 'payrix/request_options/search/in' require 'payrix/request_options/search/greater' require 'payrix/request_options/search/less' require 'payrix/request_options/search/compound' @@ -33,6 +34,10 @@ def self.equals(field, value) Equals.new(field, value) end + def self.in(field, value) + In.new(field, value) + end + def self.greater(field, value) Greater.new(field, value) end diff --git a/lib/payrix/request_options/search/in.rb b/lib/payrix/request_options/search/in.rb new file mode 100644 index 0000000..c4c2dc9 --- /dev/null +++ b/lib/payrix/request_options/search/in.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Payrix + module RequestOptions + module Search + # A builder class that constructs a valid 'equals' search filter. + class In < Atom + def initialize(field, value) + value = "''" if ['', nil].include?(value) + + super(field, :in, value.to_s) + end + end + end + end +end