class Riffer::Config::Pricing
rbs_inline: enabled
Public Class Methods
Public Instance Methods
Source
# File lib/riffer/config/pricing.rb, line 32 def rates_for(model) @rates[model] end
Source
# File lib/riffer/config/pricing.rb, line 15 def set(models, input:, output:, cache_read: nil, cache_write: nil) ids = models.is_a?(Array) ? models : [models] raise Riffer::ArgumentError, "at least one model id is required" if ids.empty? ids.each { |id| Riffer::Helpers::Validate.model_id(id, attribute: "pricing model id") } rates = Rates.new( input: coerce_rate(input, "input"), output: coerce_rate(output, "output"), cache_read: coerce_optional_rate(cache_read, "cache_read"), cache_write: coerce_optional_rate(cache_write, "cache_write"), ) ids.each { |id| @rates[id] = rates } end