Class: Avm::EacGitlabBase0::Api::Project

Inherits:
Node
  • Object
show all
Defined in:
lib/avm/eac_gitlab_base0/api/project.rb

Constant Summary collapse

FIELDS =
%w[id description name name_with_namespace path path_with_namespace created_at
default_branch tag_list ssh_url_to_repo http_url_to_repo web_url readme_url
avatar_url star_count forks_count last_activity_at empty_repo archived
visibility resolve_outdated_diff_discussions container_registry_enabled
issues_enabled merge_requests_enabled wiki_enabled jobs_enabled snippets_enabled
issues_access_level repository_access_level merge_requests_access_level
wiki_access_level builds_access_level snippets_access_level
shared_runners_enabled lfs_enabled creator_id import_status
ci_default_git_depth public_jobs build_timeout auto_cancel_pending_pipelines
build_coverage_regex ci_config_path shared_with_groups
only_allow_merge_if_pipeline_succeeds request_access_enabled
only_allow_merge_if_all_discussions_are_resolved
remove_source_branch_after_merge printing_merge_request_link_enabled
merge_method auto_devops_enabled auto_devops_deploy_strategy].freeze

Instance Method Summary collapse

Methods inherited from Node

#remove_member

Methods inherited from BaseEntity

#delete, #dump_debug, #dump_response, #encode_id, #fetch_entities, #fetch_entity

Instance Method Details

#api_prefixObject



35
36
37
# File 'lib/avm/eac_gitlab_base0/api/project.rb', line 35

def api_prefix
  "/v4/projects/#{encode_id(id)}"
end

#file(path) ⇒ Object



43
44
45
46
47
48
# File 'lib/avm/eac_gitlab_base0/api/project.rb', line 43

def file(path)
  fetch_entity(
    "#{api_prefix}/repository/files/#{encode_id(path)}?ref=#{default_branch}",
    ::Avm::EacGitlabBase0::Api::File
  )
end

#full_pathObject



39
40
41
# File 'lib/avm/eac_gitlab_base0/api/project.rb', line 39

def full_path
  path_with_namespace
end

#to_sObject



58
59
60
# File 'lib/avm/eac_gitlab_base0/api/project.rb', line 58

def to_s
  path_with_namespace
end

#treeArray<Avm::EacGitlabBase0::Api::Tree>

Returns:



51
52
53
54
55
56
# File 'lib/avm/eac_gitlab_base0/api/project.rb', line 51

def tree
  fetch_entities(
    "#{api_prefix}/repository/tree",
    ::Avm::EacGitlabBase0::Api::Tree
  )
end