Module: KitchenInspector::Inspector::BaseManager
- Includes:
- Utils
- Included in:
- GitHubManager, GitLabManager
- Defined in:
- lib/kitchen-inspector/inspector/repository_managers/base.rb
Instance Attribute Summary collapse
-
#type ⇒ Object
readonly
Returns the value of attribute type.
Instance Method Summary collapse
-
#changelog(project_url, revId, otherRevId) ⇒ Object
Return a shortened url to the commits between two revisions.
- #initialize ⇒ Object
-
#project_dependencies(project, revId) ⇒ Object
Given a project and a revision retrieve its dependencies from metadata.rb.
-
#project_metadata(project, revId) ⇒ Object
Given a project and a revision retrieve its metadata.
-
#project_metadata_version(project, revId) ⇒ Object
Given a project and a revision retrieve its metadata’s version.
-
#projects_by_name(name) ⇒ Object
Retrieve projects by name.
-
#retrieve_metadata(project) ⇒ Object
Retrieve project’s metadata.
-
#retrieve_tags(project) ⇒ Object
Given a project return its tags.
-
#source_url(project) ⇒ Object
Return the full URL for a given project.
-
#tags(project) ⇒ Object
Given a project return the tags on the Repository Manager.
Methods included from Utils
#config_msg, #eval_metadata, #fix_version_name, #get_latest_version, #read_config, #satisfy
Instance Attribute Details
#type ⇒ Object (readonly)
Returns the value of attribute type.
31 32 33 |
# File 'lib/kitchen-inspector/inspector/repository_managers/base.rb', line 31 def type @type end |
Instance Method Details
#changelog(project_url, revId, otherRevId) ⇒ Object
Return a shortened url to the commits between two revisions
99 100 101 102 103 104 105 106 107 |
# File 'lib/kitchen-inspector/inspector/repository_managers/base.rb', line 99 def changelog(project_url, revId, otherRevId) return unless project_url && revId && otherRevId cache_key = "#{project_url}-#{revId}-#{otherRevId}" @changelogs_cache[cache_key] ||= begin NetUtils.shorten_url("#{project_url}/compare/#{revId}...#{otherRevId}").gsub(/^http:\/\//, '') end end |
#initialize ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/kitchen-inspector/inspector/repository_managers/base.rb', line 33 def initialize # Cache metadata and tags to reduce calls against the Repository Manager @metadata_cache = {} @tags_cache = {} @changelogs_cache = {} @type = "BaseManager" end |
#project_dependencies(project, revId) ⇒ Object
Given a project and a revision retrieve its dependencies from metadata.rb
62 63 64 65 66 67 68 69 70 |
# File 'lib/kitchen-inspector/inspector/repository_managers/base.rb', line 62 def project_dependencies(project, revId) return nil unless project && revId = (project, revId) if .dependencies.collect{|dep, constraint| Models::Dependency.new(dep, constraint)} end end |
#project_metadata(project, revId) ⇒ Object
Given a project and a revision retrieve its metadata
84 85 86 87 88 89 90 |
# File 'lib/kitchen-inspector/inspector/repository_managers/base.rb', line 84 def (project, revId) cache_key = "#{project.id}-#{revId}" @metadata_cache[cache_key] ||= begin (project, revId) end end |
#project_metadata_version(project, revId) ⇒ Object
Given a project and a revision retrieve its metadata’s version
73 74 75 76 77 78 79 80 81 |
# File 'lib/kitchen-inspector/inspector/repository_managers/base.rb', line 73 def (project, revId) return nil unless project && revId = (project, revId) if fix_version_name(.version) end end |
#projects_by_name(name) ⇒ Object
Retrieve projects by name
47 48 49 |
# File 'lib/kitchen-inspector/inspector/repository_managers/base.rb', line 47 def projects_by_name(name) raise NotImplementedError end |
#retrieve_metadata(project) ⇒ Object
Retrieve project’s metadata
52 53 54 |
# File 'lib/kitchen-inspector/inspector/repository_managers/base.rb', line 52 def (project) raise NotImplementedError end |
#retrieve_tags(project) ⇒ Object
Given a project return its tags
57 58 59 |
# File 'lib/kitchen-inspector/inspector/repository_managers/base.rb', line 57 def (project) raise NotImplementedError end |
#source_url(project) ⇒ Object
Return the full URL for a given project
42 43 44 |
# File 'lib/kitchen-inspector/inspector/repository_managers/base.rb', line 42 def source_url(project) raise NotImplementedError end |
#tags(project) ⇒ Object
Given a project return the tags on the Repository Manager
93 94 95 96 |
# File 'lib/kitchen-inspector/inspector/repository_managers/base.rb', line 93 def (project) cache_key = project.id @tags_cache[cache_key] ||= (project) end |