Module: Bgem::Output::Ext::StandardHooks::Helpers
- Included in:
- Bgem::Output::Ext::StandardHooks
- Defined in:
- lib/bgem.rb
Instance Method Summary collapse
- #concatenate(files) ⇒ Object
- #sort_with_order_file(order_file, files) ⇒ Object
- #sorted_files_in(directory) ⇒ Object
Instance Method Details
#concatenate(files) ⇒ Object
108 109 110 111 112 |
# File 'lib/bgem.rb', line 108 def concatenate files files.map do |file| Output.new(file, indent: INDENT).to_s end.join "\n\n" end |
#sort_with_order_file(order_file, files) ⇒ Object
129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
# File 'lib/bgem.rb', line 129 def sort_with_order_file order_file, files order = order_file.readlines.map &:chomp files_ordered_to_be_first = order.inject([]) do |array, name| files_starting_with_name = files.select do |file| basename = File.basename file basename.start_with? "#{name}." end array += files_starting_with_name end other_files = files - files_ordered_to_be_first files_ordered_to_be_first += other_files.sort end |
#sorted_files_in(directory) ⇒ Object
114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/bgem.rb', line 114 def sorted_files_in directory patterns = Ext.file_extensions.map do |ext| directory.join "*.#{ext}" end files = Dir[*patterns] order_file = directory.join 'order' if order_file.exist? sort_with_order_file order_file, files else files.sort end end |