Module: Legion::API::Routes::Costs
- Defined in:
- lib/legion/api/costs.rb
Class Method Summary collapse
- .register_by_extension(app) ⇒ Object
- .register_by_worker(app) ⇒ Object
- .register_summary(app) ⇒ Object
- .registered(app) ⇒ Object
Class Method Details
.register_by_extension(app) ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'lib/legion/api/costs.rb', line 32 def self.register_by_extension(app) app.get '/api/costs/extensions' do halt 503, json_error('data_unavailable', 'metering data not available', status_code: 503) unless metering_available? limit = (params[:limit] || 10).to_i.clamp(1, 100) json_response(costs_by_extension(limit)) end end |
.register_by_worker(app) ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'lib/legion/api/costs.rb', line 23 def self.register_by_worker(app) app.get '/api/costs/workers' do halt 503, json_error('data_unavailable', 'metering data not available', status_code: 503) unless metering_available? limit = (params[:limit] || 10).to_i.clamp(1, 100) json_response(costs_by_worker(limit)) end end |
.register_summary(app) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/legion/api/costs.rb', line 14 def self.register_summary(app) app.get '/api/costs/summary' do halt 503, json_error('data_unavailable', 'metering data not available', status_code: 503) unless metering_available? period = params[:period] || 'month' json_response(cost_summary(period)) end end |
.registered(app) ⇒ Object
7 8 9 10 11 12 |
# File 'lib/legion/api/costs.rb', line 7 def self.registered(app) app.helpers CostHelpers register_summary(app) register_by_worker(app) register_by_extension(app) end |