Class: LicenseAuto::Repo
- Inherits:
-
Hashie::Mash
- Object
- Hashie::Mash
- LicenseAuto::Repo
- Defined in:
- lib/license_auto/repo.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#find_dependencies ⇒ Object
@return: { “LicenseAuto::Bundler”: [ { “dep_file”: “/tmp/license_auto/cache/github.com/mineworks/license_auto.git/Gemfile.lock”, “deps”: [ { “name”: “addressable”, “version”: “2.4.0”, “remote”: “rubygems.org/” }, { “name”: “anemone”, “version”: “0.7.2”, “remote”: “rubygems.org/” }, { “name”: “ast”, “version”: “2.2.0”, “remote”: “rubygems.org/” } ] } ], “LicenseAuto::Npm”: [ { “dep_file”: “/tmp/license_auto/cache/github.com/mineworks/license_auto.git/package.json”, “deps”: [ { “name”: “bower”, “version”: “v1.7.9”, “remote”: “github.com/bower/bower.git” }, { “name”: “lodash.isarguments”, “version”: “3.0.8”, “remote”: “registry.npmjs.org/” }, { “name”: “lodash.isarray”, “version”: “3.0.4”, “remote”: “registry.npmjs.org/” } ] } ] }.
-
#find_git_modules ⇒ Object
Array.
-
#initialize(hash) ⇒ Repo
constructor
hash example: { “clone_url”: “github.com/mineworks/license_auto.git”, “ref”: “readme”, “access_token”: “40 chars token” }.
Constructor Details
#initialize(hash) ⇒ Repo
hash example:
{
"clone_url": "https://github.com/mineworks/license_auto.git",
"ref": "readme",
"access_token": "40 chars token"
}
19 20 21 22 23 24 |
# File 'lib/license_auto/repo.rb', line 19 def initialize(hash) super(hash) @server = chose_repo_server raise("#{hash} is not a Github Repo") unless @server @repo_dir = nil end |
Class Method Details
Instance Method Details
#find_dependencies ⇒ Object
@return: {
"LicenseAuto::Bundler": [
{
"dep_file": "/tmp/license_auto/cache/github.com/mineworks/license_auto.git/Gemfile.lock",
"deps": [
{
"name": "addressable",
"version": "2.4.0",
"remote": "https://rubygems.org/"
},
{
"name": "anemone",
"version": "0.7.2",
"remote": "https://rubygems.org/"
},
{
"name": "ast",
"version": "2.2.0",
"remote": "https://rubygems.org/"
}
]
}
],
"LicenseAuto::Npm": [
{
"dep_file": "/tmp/license_auto/cache/github.com/mineworks/license_auto.git/package.json",
"deps": [
{
"name": "bower",
"version": "v1.7.9",
"remote": "https://github.com/bower/bower.git"
},
{
"name": "lodash.isarguments",
"version": "3.0.8",
"remote": "http://registry.npmjs.org/"
},
{
"name": "lodash.isarray",
"version": "3.0.4",
"remote": "http://registry.npmjs.org/"
}
]
}
]
}
83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/license_auto/repo.rb', line 83 def find_dependencies @repo_dir = @server.clone deps = {} Repo.package_managers.each {|pm| # LicenseAuto.logger.debug(pm) items = pm.new(@repo_dir).parse_dependencies unless items.empty? deps[pm.to_s] = items end } LicenseAuto.logger.debug(JSON.pretty_generate(deps)) deps end |
#find_git_modules ⇒ Object
Returns Array.
100 101 102 103 104 105 106 107 108 109 |
# File 'lib/license_auto/repo.rb', line 100 def find_git_modules if FileTest.directory?(@repo_dir) pm = LicenseAuto::GitModule.new(@repo_dir) pm.parse_dependencies else error = "Cloned repo_dir is nil" LicenseAuto.logger.error(error) nil end end |