class KrakenMobile::FeatureGrouper
Public Class Methods
create_file_groups(group_size, files)
click to toggle source
# File lib/kraken-mobile/helpers/feature_grouper.rb, line 20 def self.create_file_groups group_size, files files_per_group = files.size/group_size number_of_remaining_files = files.size % group_size groups = Array.new(group_size) { [] } groups.each do |group| files_per_group.times { group << files.delete_at(0) } end unless number_of_remaining_files == 0 groups[0..(number_of_remaining_files-1)].each do |group| group << files.delete_at(0) end end groups.reject(&:empty?) end
distributed_file_groups(feature_folder, group_size)
click to toggle source
Returns files in feature_folder distributed equally in group size.
# File lib/kraken-mobile/helpers/feature_grouper.rb, line 7 def self.distributed_file_groups(feature_folder, group_size) files = feature_files_in_folder feature_folder groups = create_file_groups group_size,files groups end
feature_files_in_folder(feature_dir_or_file)
click to toggle source
# File lib/kraken-mobile/helpers/feature_grouper.rb, line 37 def self.feature_files_in_folder(feature_dir_or_file) if File.directory?(feature_dir_or_file) # Is a folder containing feature files. files = Dir[File.join(feature_dir_or_file, "**{,/*/**}/*")].uniq files.grep(/\.feature$/) elsif feature_dir_or_file.include?('.feature') # Is a feature file. [feature_dir_or_file] else [] end end
file_groups(feature_folder, group_size)
click to toggle source
All groups contains all files in feature_folder
# File lib/kraken-mobile/helpers/feature_grouper.rb, line 14 def self.file_groups(feature_folder, group_size) files = feature_files_in_folder feature_folder ensure_features_format files group_size.times.map { files } end