Class: Prune::CategoryBuilder
- Inherits:
-
Object
- Object
- Prune::CategoryBuilder
- Defined in:
- lib/prune/retention.rb
Overview
A builder for building categories – this is essentially the DSL used in the retention policy.
Instance Method Summary collapse
- #archive ⇒ Object
- #build ⇒ Object
- #ignore ⇒ Object
-
#initialize(description) ⇒ CategoryBuilder
constructor
A new instance of CategoryBuilder.
- #match(&block) ⇒ Object
- #quiet ⇒ Object
- #remove ⇒ Object
- #retain ⇒ Object
Constructor Details
#initialize(description) ⇒ CategoryBuilder
Returns a new instance of CategoryBuilder.
64 65 66 67 |
# File 'lib/prune/retention.rb', line 64 def initialize( description ) @description = description @quiet = false end |
Instance Method Details
#archive ⇒ Object
90 91 92 |
# File 'lib/prune/retention.rb', line 90 def archive @action = :archive end |
#build ⇒ Object
69 70 71 72 73 74 75 76 |
# File 'lib/prune/retention.rb', line 69 def build if @predicate.nil? then raise "Category #{@description} has no predicate defined." elsif @action.nil? then raise "Category #{@description} has no action defined." end Category.new( @description, @action, @quiet, @predicate ) end |
#ignore ⇒ Object
82 83 84 |
# File 'lib/prune/retention.rb', line 82 def ignore @action = :ignore end |
#match(&block) ⇒ Object
78 79 80 |
# File 'lib/prune/retention.rb', line 78 def match( &block ) @predicate = Proc.new &block end |
#quiet ⇒ Object
98 99 100 |
# File 'lib/prune/retention.rb', line 98 def quiet @quiet = true end |
#remove ⇒ Object
94 95 96 |
# File 'lib/prune/retention.rb', line 94 def remove @action = :remove end |
#retain ⇒ Object
86 87 88 |
# File 'lib/prune/retention.rb', line 86 def retain @action = :retain end |