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/” } ] } ] }.
-
#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"
}
14 15 16 17 18 |
# File 'lib/license_auto/repo.rb', line 14 def initialize(hash) super(hash) @server = chose_repo_server raise("#{hash} is not a Github Repo") unless @server end |
Class Method Details
.package_managers ⇒ Object
20 21 22 |
# File 'lib/license_auto/repo.rb', line 20 def self.package_managers [Bundler] end |
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/"
}
]
}
]
}
49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/license_auto/repo.rb', line 49 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 |