Class: FilterRename::FilterPipe
- Inherits:
-
Object
- Object
- FilterRename::FilterPipe
- Defined in:
- lib/filter_rename/filter_pipe.rb
Instance Attribute Summary collapse
-
#dest ⇒ Object
readonly
Returns the value of attribute dest.
-
#source ⇒ Object
readonly
Returns the value of attribute source.
Instance Method Summary collapse
- #apply ⇒ Object
- #changed? ⇒ Boolean
- #diff ⇒ Object
-
#initialize(fname, filters, cfg) ⇒ FilterPipe
constructor
A new instance of FilterPipe.
- #rename! ⇒ Object
- #unchanged? ⇒ Boolean (also: #identical?)
Constructor Details
#initialize(fname, filters, cfg) ⇒ FilterPipe
Returns a new instance of FilterPipe.
6 7 8 9 10 11 12 13 |
# File 'lib/filter_rename/filter_pipe.rb', line 6 def initialize(fname, filters, cfg) # Filter params have to be reset for each file @cfg = cfg.filter.clone @source = FilenameFactory.create(fname, cfg.global) @dest = Marshal.load(Marshal.dump(@source)) @filters = (filters.class == Array) ? filters : filters.filters @words = cfg.words end |
Instance Attribute Details
#dest ⇒ Object (readonly)
Returns the value of attribute dest.
4 5 6 |
# File 'lib/filter_rename/filter_pipe.rb', line 4 def dest @dest end |
#source ⇒ Object (readonly)
Returns the value of attribute source.
4 5 6 |
# File 'lib/filter_rename/filter_pipe.rb', line 4 def source @source end |
Instance Method Details
#apply ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/filter_rename/filter_pipe.rb', line 28 def apply @filters.each_with_index do |f, i| filter = f.keys.pop params = f.values.pop if [FilterRename::Filters::Config, FilterRename::Filters::Select].include? filter filter.new(@dest, cfg: @cfg, words: @words).filter(params) else filter.new(@dest, cfg: @cfg, words: @words).filter(params) unless skip? end end self end |
#changed? ⇒ Boolean
15 16 17 |
# File 'lib/filter_rename/filter_pipe.rb', line 15 def changed? ! unchanged? end |
#diff ⇒ Object
24 25 26 |
# File 'lib/filter_rename/filter_pipe.rb', line 24 def diff @source.diff(@dest) end |
#rename! ⇒ Object
46 47 48 |
# File 'lib/filter_rename/filter_pipe.rb', line 46 def rename! @source.rename!(@dest) end |
#unchanged? ⇒ Boolean Also known as: identical?
19 20 21 |
# File 'lib/filter_rename/filter_pipe.rb', line 19 def unchanged? @source == @dest end |