| 
									
										
										
										
											2024-08-19 10:16:26 -07:00
										 |  |  | # typed: strict | 
					
						
							| 
									
										
										
										
											2021-08-06 02:30:44 -04:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module Homebrew | 
					
						
							|  |  |  |   module API | 
					
						
							|  |  |  |     # Helper functions for using the analytics JSON API. | 
					
						
							|  |  |  |     module Analytics | 
					
						
							| 
									
										
										
										
											2021-08-09 16:48:13 -04:00
										 |  |  |       class << self | 
					
						
							|  |  |  |         sig { returns(String) } | 
					
						
							|  |  |  |         def analytics_api_path | 
					
						
							|  |  |  |           "analytics" | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |         alias generic_analytics_api_path analytics_api_path | 
					
						
							| 
									
										
										
										
											2021-08-06 02:30:44 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-20 12:47:48 -07:00
										 |  |  |         sig { params(category: String, days: T.any(Integer, String)).returns(T::Hash[String, T.untyped]) } | 
					
						
							| 
									
										
										
										
											2021-08-09 16:48:13 -04:00
										 |  |  |         def fetch(category, days) | 
					
						
							|  |  |  |           Homebrew::API.fetch "#{analytics_api_path}/#{category}/#{days}d.json" | 
					
						
							|  |  |  |         end | 
					
						
							| 
									
										
										
										
											2021-08-06 02:30:44 -04:00
										 |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |