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



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



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

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

#deleteable?(filename) ⇒ Boolean



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

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

#keysObject



23
24
25
# File 'lib/surrender/bucket_policy.rb', line 23

def keys
  memo.keys
end

#nameObject



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

def name
  self.class.name.sub("Policy", "").sub("Surrender::", "").downcase
end