lib/zipper.rb
def create_zip(entries, ignore_entries)
            compress(entries.map { |x|
                if x.is_a? String
                    get_entries(x, nil, ignore_entries)
                elsif x[JsonConfigKey::Type].nil? || x[JsonConfigKey::Type].casecmp(FileEntryType::FILE) == 0
                    get_entries(x[JsonConfigKey::Name], x[JsonConfigKey::Path], ignore_entries)
                elsif x[JsonConfigKey::Type].casecmp(FileEntryType::ZIP) == 0
                    ZipEntry.new(x[JsonConfigKey::Name], create_zip(x[JsonConfigKey::Entries], x[JsonConfigKey::IgnoreEntries]))
                end
            }.flatten.select{ |f| f.is_a?(ZipEntry) || filter_entries(f.name, FileEntryType::FILE, ignore_entries) }.uniq{ |f| f.name })
        end
def create_zip(entries, ignore_entries)
            compress(entries.map { |x|
                if x.is_a? String
                    get_entries(x, nil, ignore_entries)
                elsif x[JsonConfigKey::Type].nil? || x[JsonConfigKey::Type].casecmp(FileEntryType::FILE) == 0
                    get_entries(x[JsonConfigKey::Name], x[JsonConfigKey::Path], ignore_entries)
                elsif x[JsonConfigKey::Type].casecmp(FileEntryType::ZIP) == 0
                    ZipEntry.new(x[JsonConfigKey::Name], create_zip(x[JsonConfigKey::Entries], x[JsonConfigKey::IgnoreEntries]))
                end
            }.flatten.select{ |f| f.is_a?(ZipEntry) || filter_entries(f.name, FileEntryType::FILE, ignore_entries) }.uniq{ |f| f.name })
        end
def create_zip ( entries , ignore_entries ) compress ( entries . map { | x | if x . is_a? String get_entries ( x , nil , ignore_entries ) elsif x [ JsonConfigKey :: Type ] . nil? || x [ JsonConfigKey :: Type ] . casecmp ( FileEntryType :: FILE ) == 0 get_entries ( x [ JsonConfigKey :: Name ] , x [ JsonConfigKey :: Path ] , ignore_entries ) elsif x [ JsonConfigKey :: Type ] . casecmp ( FileEntryType :: ZIP ) == 0 ZipEntry . new ( x [ JsonConfigKey :: Name ] , create_zip ( x [ JsonConfigKey :: Entries ] , x [ JsonConfigKey :: IgnoreEntries ] ) ) end } . flatten . select { | f | f . is_a? ( ZipEntry ) || filter_entries ( f . name , FileEntryType :: FILE , ignore_entries ) } . uniq { | f | f . name } ) end
Creates from json array of entries
 Params:
 +entries+:: input entries to compress
 +ignore_entries+:: entries which should be ignored
Creates from json array of entries Params : + entries + :: input entries to compress + ignore_entries + :: entries which should be ignored