Class: RenderGuardian::Budget

Inherits:
Object
  • Object
show all
Defined in:
lib/render_guardian/budget.rb

Constant Summary collapse

DEFAULTS =
{
  max_template_time_ms:     100,
  max_partial_time_ms:      50,
  max_helper_time_ms:       20,
  max_db_queries_per_partial: 3,
  n_plus_one_threshold:     5
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(limits = {}) ⇒ Budget

Returns a new instance of Budget.



15
16
17
# File 'lib/render_guardian/budget.rb', line 15

def initialize(limits = {})
  @limits = DEFAULTS.merge(limits.transform_keys(&:to_sym))
end

Instance Attribute Details

#limitsObject (readonly)

Returns the value of attribute limits.



13
14
15
# File 'lib/render_guardian/budget.rb', line 13

def limits
  @limits
end

Instance Method Details

#limit_for(key) ⇒ Object



19
20
21
# File 'lib/render_guardian/budget.rb', line 19

def limit_for(key)
  @limits[key.to_sym]
end