require 'caseblocks_api' require 'active_support/inflector' module CaseblocksAPI class Finder def initialize(client) @client = client end def execute_single(case_type, property_name, value) @client.get("/case_blocks/#{case_type}", {query: {search: true, property: property_name, value: value}}) end def execute_multiple(case_type, properties) @client.get("/case_blocks/#{case_type}", {query: {search: true, properties: properties}}) end end class Client def find_by_property(case_type, property_name, value) Finder.new(self.class).execute_single(case_type, property_name, value) end def find_by_properties(case_type, properties) Finder.new(self.class).execute_multiple(case_type, properties) end end end