Class: Gitlab::Harbor::Query
- Inherits:
-
Object
- Object
- Gitlab::Harbor::Query
- Includes:
- ActiveModel::Validations
- Defined in:
- lib/gitlab/harbor/query.rb
Constant Summary collapse
- DEFAULT_LIMIT =
10
- SORT_REGEX =
%r{\A(creation_time|update_time|name) (asc|desc)\z}
Instance Attribute Summary collapse
-
#artifact_id ⇒ Object
readonly
Returns the value of attribute artifact_id.
-
#client ⇒ Object
readonly
Returns the value of attribute client.
-
#limit ⇒ Object
readonly
Returns the value of attribute limit.
-
#page ⇒ Object
readonly
Returns the value of attribute page.
-
#repository_id ⇒ Object
readonly
Returns the value of attribute repository_id.
-
#search ⇒ Object
readonly
Returns the value of attribute search.
-
#sort ⇒ Object
readonly
Returns the value of attribute sort.
Instance Method Summary collapse
- #artifacts ⇒ Object
-
#initialize(integration, params) ⇒ Query
constructor
A new instance of Query.
- #repositories ⇒ Object
- #tags ⇒ Object
Constructor Details
#initialize(integration, params) ⇒ Query
Returns a new instance of Query.
32 33 34 35 36 37 38 39 40 41 |
# File 'lib/gitlab/harbor/query.rb', line 32 def initialize(integration, params) @client = Client.new(integration) @repository_id = params[:repository_id] @artifact_id = params[:artifact_id] @search = params[:search] @limit = params[:limit] @sort = params[:sort] @page = params[:page] validate end |
Instance Attribute Details
#artifact_id ⇒ Object (readonly)
Returns the value of attribute artifact_id.
8 9 10 |
# File 'lib/gitlab/harbor/query.rb', line 8 def artifact_id @artifact_id end |
#client ⇒ Object (readonly)
Returns the value of attribute client.
8 9 10 |
# File 'lib/gitlab/harbor/query.rb', line 8 def client @client end |
#limit ⇒ Object (readonly)
Returns the value of attribute limit.
8 9 10 |
# File 'lib/gitlab/harbor/query.rb', line 8 def limit @limit end |
#page ⇒ Object (readonly)
Returns the value of attribute page.
8 9 10 |
# File 'lib/gitlab/harbor/query.rb', line 8 def page @page end |
#repository_id ⇒ Object (readonly)
Returns the value of attribute repository_id.
8 9 10 |
# File 'lib/gitlab/harbor/query.rb', line 8 def repository_id @repository_id end |
#search ⇒ Object (readonly)
Returns the value of attribute search.
8 9 10 |
# File 'lib/gitlab/harbor/query.rb', line 8 def search @search end |
#sort ⇒ Object (readonly)
Returns the value of attribute sort.
8 9 10 |
# File 'lib/gitlab/harbor/query.rb', line 8 def sort @sort end |
Instance Method Details
#artifacts ⇒ Object
54 55 56 57 58 59 60 61 62 63 |
# File 'lib/gitlab/harbor/query.rb', line 54 def artifacts result = @client.get_artifacts() return [] if result[:total_count] == 0 Kaminari.paginate_array( result[:body], limit: query_page_size, total_count: result[:total_count] ) end |
#repositories ⇒ Object
43 44 45 46 47 48 49 50 51 52 |
# File 'lib/gitlab/harbor/query.rb', line 43 def repositories result = @client.get_repositories() return [] if result[:total_count] == 0 Kaminari.paginate_array( result[:body], limit: query_page_size, total_count: result[:total_count] ) end |
#tags ⇒ Object
65 66 67 68 69 70 71 72 73 74 |
# File 'lib/gitlab/harbor/query.rb', line 65 def result = @client.() return [] if result[:total_count] == 0 Kaminari.paginate_array( result[:body], limit: query_page_size, total_count: result[:total_count] ) end |