Class: FilterRename::Builder
- Inherits:
-
Object
- Object
- FilterRename::Builder
- Defined in:
- lib/filter_rename.rb
Instance Method Summary collapse
- #apply ⇒ Object
- #configs ⇒ Object
- #dry_run ⇒ Object
- #globals ⇒ Object
-
#initialize(options) ⇒ Builder
constructor
A new instance of Builder.
- #macros ⇒ Object
- #preview ⇒ Object
- #show_macro ⇒ Object
- #targets ⇒ Object
- #words ⇒ Object
Constructor Details
#initialize(options) ⇒ Builder
Returns a new instance of Builder.
15 16 17 18 19 20 |
# File 'lib/filter_rename.rb', line 15 def initialize() @cfg = Config.new(.global) @filters = FilterList.new(.filters) @files = .files @show_macro = .show_macro end |
Instance Method Details
#apply ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/filter_rename.rb', line 35 def apply raise MissingFiles if @files.empty? @filters.(@cfg.macro) Messages.label "Apply:" @files.each do |src| fp = FilterPipe.new(src, @filters, @cfg).apply if fp.changed? old_data = fp.rename! if old_data[:full_filename] Messages.renamed!(old_data, fp.dest) Messages.(fp, old_data, false) if fp.source.class. elsif fp.source.class. Messages.(fp, old_data) else Messages.file_exists(fp) Messages.file_hash(fp, @cfg.global.hash_type) if @cfg.global.hash_if_exists end else Messages.skipping(fp) end end end |
#configs ⇒ Object
69 70 71 72 |
# File 'lib/filter_rename.rb', line 69 def configs Messages.label 'Filter\'s configurations:' Messages.config_list @cfg.filter end |
#dry_run ⇒ Object
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/filter_rename.rb', line 79 def dry_run raise MissingFiles if @files.empty? @filters.(@cfg.macro) cache = {} Messages.label "Dry Run:" @files.each do |src| fp = FilterPipe.new(src, @filters, @cfg).apply if fp.unchanged? Messages.skipping(fp) elsif (cache.keys.include?(fp.dest.full_filename) || fp.dest.exists?) if fp.source.full_filename == fp.dest.full_filename Messages.(fp) else Messages.file_exists(fp) Messages.file_hash(fp, @cfg.global.hash_type, cache[fp.dest.full_filename]) if @cfg.global.hash_if_exists end else Messages.renamed(fp) Messages.(fp, {}, false) if fp.source.class. cache[fp.dest.full_filename] = fp.dest end end end |
#globals ⇒ Object
64 65 66 67 |
# File 'lib/filter_rename.rb', line 64 def globals Messages.label 'Global configurations:' Messages.config_list @cfg.global end |
#macros ⇒ Object
120 121 122 123 |
# File 'lib/filter_rename.rb', line 120 def macros Messages.label 'Macros:' Messages.list @cfg.macro.get_macros end |
#preview ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/filter_rename.rb', line 22 def preview raise MissingFiles if @files.empty? @filters.(@cfg.macro) Messages.label "Preview:" @files.each do |src| fp = FilterPipe.new(src, @filters, @cfg).apply Messages.diff(fp) end end |
#show_macro ⇒ Object
125 126 127 128 129 130 131 132 133 134 135 136 137 |
# File 'lib/filter_rename.rb', line 125 def show_macro Messages.label "Macro: #{@show_macro}" macro = @cfg.macro.get_macro(@show_macro) if macro.class == Array macro.each do |k| Messages.item k.keys.first.to_s + ': ' + k.values.first.map { |x| '"' + x.to_s.green + '"' }.join(',') end elsif macro.class == Hash macro.each do |k, v| Messages.item k.to_s + ': ' + v.map { |x| '"' + x.to_s.green + '"' }.join(', ') end end end |
#targets ⇒ Object
107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/filter_rename.rb', line 107 def targets raise MissingFiles if @files.empty? Messages.label 'Targets:' @files.each do |src| fname = FilenameFactory.create(src, @cfg.global) Messages.multi fname.full_filename Messages.send(@cfg.global.targets == :short ? :short_targets : :long_targets, fname) end end |
#words ⇒ Object
74 75 76 77 |
# File 'lib/filter_rename.rb', line 74 def words Messages.label 'Groups and subgroups of words available for translation:' Messages.config_multilist @cfg.words end |