Skip to content

Commit 60449ec

Browse files
authored
Merge pull request #84 from GetStream/AC-62/allow-namespaced-models
Allow namespaced models
2 parents 9429983 + f8c7334 commit 60449ec

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

lib/stream_rails/enrich.rb

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,12 @@ def add_fields(new_fields)
4040

4141
def model_field?(field_value)
4242
return false unless field_value.respond_to?('split')
43-
bits = field_value.split(':')
44-
return false if bits.length < 2
43+
44+
model, _, id = field_value.rpartition(':')
45+
return false unless model.present? && id.present?
46+
4547
begin
46-
bits[0].classify.constantize
48+
model.classify.constantize
4749
rescue NameError
4850
return false
4951
else
@@ -75,7 +77,7 @@ def collect_references(activities)
7577
activities.each do |activity|
7678
activity.select { |k, _v| @fields.include? k.to_sym }.each do |_field, value|
7779
next unless model_field?(value)
78-
model, id = value.split(':')
80+
model, _, id = value.rpartition(':')
7981
model_refs[model][id] = 0
8082
end
8183
end
@@ -90,7 +92,7 @@ def inject_objects(activities, objects)
9092
create_activity_results(activities).each do |activity|
9193
activity.select { |k, _v| @fields.include? k.to_sym }.each do |field, value|
9294
next unless model_field?(value)
93-
model, id = value.split(':')
95+
model, _, id = value.rpartition(':')
9496
activity[field] = objects[model][id] || value
9597
activity.track_not_enriched_field(field, value) if objects[model][id].nil?
9698
end

0 commit comments

Comments
 (0)