Class: StorageGuardian::Budget

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

Constant Summary collapse

DEFAULTS =
{
  max_file_size_mb:     100,
  max_dir_size_mb:      1024,
  max_file_count:       10_000,
  max_duplicate_ratio:  0.1
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(limits = {}) ⇒ Budget

Returns a new instance of Budget.



14
15
16
# File 'lib/storage_guardian/budget.rb', line 14

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

Instance Attribute Details

#limitsObject (readonly)

Returns the value of attribute limits.



12
13
14
# File 'lib/storage_guardian/budget.rb', line 12

def limits
  @limits
end

Instance Method Details

#limit_for(key) ⇒ Object



18
19
20
# File 'lib/storage_guardian/budget.rb', line 18

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