Method: Blufin::YmlWriterBase#get_package_from_file

Defined in:
lib/core/yml_writers/yml_writer_base.rb

#get_package_from_file(site, file) ⇒ Object

Takes a filename as input and determines the package. Magic.

Returns:

  • String

Raises:

  • (RuntimeError)


61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/core/yml_writers/yml_writer_base.rb', line 61

def get_package_from_file(site, file)
    raise RuntimeError, "Expected String, instead got: #{file.class}" unless file.is_a?(String)
    site        = Blufin::SiteResolver::validate_site(site)
    site_name   = Blufin::SiteResolver::get_site_name(site)
    site_domain = Blufin::SiteResolver::get_site_domain(site)
    begin
        matches    = file.match(/\/#{site_name}-(#{Blufin::SiteServices::REGEX_JAVA})\/src\/(main|test)\/java\/#{site_domain}\/#{site_name.gsub('-', '/')}\//)
        matches    = matches[0].gsub(/\A\//, '').gsub(/\/\z/, '')
        matches    = matches.split('/')
        service    = matches[0]
        split_path = "/#{service}/src/"
        raise RuntimeError, "Unable to find swap_path: #{split_path}" unless file =~ /#{split_path}/
        file_split = file.split(split_path)
        file_split = file_split[1].split('/java/')
        file_split = file_split[1].split('/')
        file_split.pop
        return file_split.join('.')
    rescue => e
        puts e.message
        raise RuntimeError, "Failed to get_package_from_file() with file: #{file}"
    end
end