Skip to content

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

app.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -180,8 +180,8 @@
180180
unless request.is_crawler?
181181
events = get_events('page[size]' => 1, 'page[number]' => @page, 'doi' => doi, 'sort' => 'relation_type_id')
182182
@work[:metrics] = reduce_aggs(events[:meta], { yop: @work.dig(:data, "attributes","published").to_i })
183-
@work[:metrics].merge!("unique-dataset-investigations-regular" => (events[:meta].fetch('doisUsageTypes', []).first.fetch("relationTypes",[]).find { |x| x['id'] == "unique-dataset-investigations-regular" }.fetch("sum",0)))
184-
@work[:metrics].merge!("unique-dataset-requests-regular" => (events[:meta].fetch('doisUsageTypes', []).first.fetch("relationTypes",[]).find { |x| x['id'] == "unique-dataset-requests-regular" }.fetch("sum",0)))
183+
@work[:metrics].merge!(views_hash(events[:meta].fetch('doisUsageTypes', [])))
184+
@work[:metrics].merge!(downlaods_hash(events[:meta].fetch('doisUsageTypes', [])))
185185
@work[:metrics].merge!(citations: (events[:meta].fetch('uniqueCitations', []).find { |x| x['id'] == doi } || {}))
186186
@work[:metrics].merge!(citations_histogram: events[:meta].fetch('citationsHistogram', {}))
187187
@work[:metrics].merge!(views_histogram: events[:meta].fetch('viewsHistogram', {}))

lib/helpers.rb

+12
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,18 @@ def pagination_helper(items, page, total, rows = DEFAULT_ROWS)
137137
end
138138
end
139139

140+
def views_hash(array)
141+
return {} unless array.any?
142+
143+
{"unique-dataset-investigations-regular" => array.first.fetch("relationTypes",[]).find { |x| x['id'] == "unique-dataset-investigations-regular" }.fetch("sum",0)}
144+
end
145+
146+
def downlaods_hash(array)
147+
return {} unless array.any?
148+
149+
{"unique-dataset-requests-regular" => array.first.fetch("relationTypes",[]).find { |x| x['id'] == "unique-dataset-requests-regular" }.fetch("sum",0)}
150+
end
151+
140152
def reduce_aggs(meta, options = {})
141153
meta = ::JSON.parse(meta) if meta.respond_to?("downcase")
142154
relation_types = meta.fetch("relationTypes",[])

0 commit comments

Comments
 (0)