Class: Surrender::BucketPolicy

Inherits:
Object
  • Object
show all
Defined in:
lib/surrender/bucket_policy.rb

Direct Known Subclasses

MonthlyPolicy, WeeklyPolicy, YearlyPolicy

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(count) ⇒ BucketPolicy

Returns a new instance of BucketPolicy.



3
4
5
6
# File 'lib/surrender/bucket_policy.rb', line 3

def initialize(count)
  @count = count
  @memo  = Hash.new
end

Instance Attribute Details

#countObject (readonly)

Returns the value of attribute count.



8
9
10
# File 'lib/surrender/bucket_policy.rb', line 8

def count
  @count
end

#memoObject (readonly)

Returns the value of attribute memo.



8
9
10
# File 'lib/surrender/bucket_policy.rb', line 8

def memo
  @memo
end

Instance Method Details

#add(filename, date) ⇒ Object



10
11
12
13
# File 'lib/surrender/bucket_policy.rb', line 10

def add(filename, date)
  memo[bucket(date)] = filename
  memo.delete(memo.keys.first) if memo.size > count
end

#deleteable?(filename) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/surrender/bucket_policy.rb', line 15

def deleteable?(filename)
  !memo.values.include?(filename)
end

#keysObject



19
20
21
# File 'lib/surrender/bucket_policy.rb', line 19

def keys
  memo.keys
end