Module: Bgem::Output::Ext::StandardHooks::Helpers

Included in:
Bgem::Output::Ext::StandardHooks
Defined in:
lib/bgem.rb

Instance Method Summary collapse

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