Class: Renamr::ActionsFactory
- Inherits:
-
Object
- Object
- Renamr::ActionsFactory
- Defined in:
- lib/renamr/factory.rb
Overview
Produces actions for certain directories.
Constant Summary collapse
- LIMIT =
Synology eCryptfs limitation.
143
Instance Method Summary collapse
-
#initialize(cfg) ⇒ ActionsFactory
constructor
A new instance of ActionsFactory.
-
#produce(dir) ⇒ Object
rubocop:disable Metrics/MethodLength, Metrics/AbcSize.
Constructor Details
#initialize(cfg) ⇒ ActionsFactory
Returns a new instance of ActionsFactory.
27 28 29 |
# File 'lib/renamr/factory.rb', line 27 def initialize(cfg) @cfg = cfg end |
Instance Method Details
#produce(dir) ⇒ Object
rubocop:disable Metrics/MethodLength, Metrics/AbcSize
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/renamr/factory.rb', line 31 def produce(dir) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize if @cfg.lim? [ OmitAction.new(LIMIT), TruncateAction.new(LIMIT) ] else [ PointAction.new(dir), # Should be the first. @cfg.pos.nil? ? nil : RemoveAction.new(@cfg.pos, @cfg.len), @cfg.src.nil? ? nil : SubstituteAction.new(@cfg.src, @cfg.dst), ManualLocalizationAction.new, DowncaseAction.new, CharAction.new, RuToEnAction.new, AutoLocalizationAction.new, @cfg.mod? ? PrependDateAction.new(dir) : nil, @cfg.pre.nil? ? nil : PrependAction.new(@cfg.pre), ASCIIValidatorAction.new, TrimAction.new, TruncateAction.new(LIMIT), DateAction.new ].compact end end |