lib/hubspot/resource.rb in ruby_hubspot_api-0.1.1 vs lib/hubspot/resource.rb in ruby_hubspot_api-0.1.2
- old
+ new
@@ -132,28 +132,31 @@
# Convert simple filters to HubSpot's filterGroups format
def build_filter_groups(filters)
filter_groups = [{ filters: [] }]
filters.each do |key, value|
- property_name, operator = extract_property_and_operator(key)
- filter_groups.first[:filters] << {
- propertyName: property_name,
- operator: operator,
- value: value
- }
+ filter = extract_property_and_operator(key)
+ value_key = value.is_a?(Array) ? :values : :value
+ filter[value_key] = value
+ filter_groups.first[:filters] << filter
end
filter_groups
end
# Extract property name and operator from the key
def extract_property_and_operator(key)
OPERATOR_MAP.each do |suffix, hubspot_operator|
- return [key.to_s.sub(suffix, ''), hubspot_operator] if key.to_s.end_with?(suffix)
+ if key.to_s.end_with?(suffix)
+ return {
+ propertyName: key.to_s.sub(suffix, ''),
+ operator: hubspot_operator
+ }
+ end
end
# Default to 'EQ' operator if no suffix is found
- [key.to_s, 'EQ']
+ { propertyName: key.to_s, operator: 'EQ' }
end
end
# rubocop:disable Ling/MissingSuper
def initialize(data = {})