Sha256: 9c49ae21066a7ba3f151b229258df02487656c1dc056ddb40fa00f494b742e18

Contents?: true

Size: 722 Bytes

Versions: 2

Compression:

Stored size: 722 Bytes

Contents

module HubLink
  module Api
    class Review < SimpleDelegator
      EXPORT_COLUMNS = %i(
        id
        pull_request_id
        submitted_at
        reviewer
        approval?
        reply?
        state
        html_url
        body
      )

      def reviewer
        user&.login
      end

      def approval?
        state == "APPROVED"
      end

      def reply?
        reviewer == submitter
      end

      def submitted?
        !draft?
      end

      def submitted_at
        if submitted?
          super
        end
      end

      def to_h
        Slicer.new(self, columns: EXPORT_COLUMNS).to_h
      end

      private

        def draft?
          state == "PENDING"
        end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
hub_link-0.15.0 lib/hub_link/api/review.rb
hub_link-0.13.0 lib/hub_link/api/review.rb