Sha256: 5fd4a17a5eed05afbf0c5eb4166fb08b7d5926c042c10b9a3ad352b40bb4ac4f

Contents?: true

Size: 624 Bytes

Versions: 4

Compression:

Stored size: 624 Bytes

Contents

module Dude
  module Gitlab
    class GetMyIssues < Dude::Gitlab::Base
      MAX_ISSUES_PER_PAGE = 300

      def call
        my_issues
      end

      def my_issues
        all_issues_on_project.select {|a| a.last.eql?(user.id) }
      end

      def all_issues_on_project
        ::Gitlab.issues(project_id, per_page: MAX_ISSUES_PER_PAGE).map do |a|
          [a.iid, a.title, a.labels, assignees_id(a)]
        end
      end

      def user
        @user ||= ::Gitlab.user
      end

      def assignees_id(issue)
        issue&.assignees&.first['id']
      rescue NoMethodError
        nil
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dude-cli-1.0.2 lib/dude/gitlab/get_my_issues.rb
dude-cli-1.0.1 lib/dude/gitlab/get_my_issues.rb
dude-cli-1.0.0 lib/dude/gitlab/get_my_issues.rb
dude-cli-0.6.2.pre.rc1 lib/dude/gitlab/get_my_issues.rb