Sha256: 8678e63675d5b36771a139967a70d66f083c3f57027fc5f8920c567a21c54598

Contents?: true

Size: 1.23 KB

Versions: 5

Compression:

Stored size: 1.23 KB

Contents

require "pact_broker/api/pact_broker_urls"
require "pact_broker/ui/helpers/url_helper"
require "pact_broker/date_helper"

module PactBroker
  module UI
    module ViewDomain
      class MatrixTag

        include PactBroker::Api::PactBrokerUrls

        attr_reader :name, :pacticipant_name, :version_number

        def initialize params
          @name = params[:name]
          @pacticipant_name = params[:pacticipant_name]
          @version_number = params[:version_number]
          @created_at = params[:created_at]
          @latest = !!params[:latest]
        end

        def tooltip
          if @latest
            "This is the latest version of #{pacticipant_name} with tag \"#{@name}\". Tag created #{relative_date(@created_at)}."
          else
            "Tag created #{relative_date(@created_at)}. A more recent version of #{pacticipant_name} with tag \"#{name}\" exists."
          end
        end

        def url
          hal_browser_url("/pacticipants/#{ERB::Util.url_encode(pacticipant_name)}/versions/#{ERB::Util.url_encode(version_number)}/tags/#{ERB::Util.url_encode(name)}")
        end

        def relative_date date
          DateHelper.distance_of_time_in_words(date, DateTime.now) + " ago"
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
pact_broker-2.84.0 lib/pact_broker/ui/view_models/matrix_tag.rb
pact_broker-2.83.0 lib/pact_broker/ui/view_models/matrix_tag.rb
pact_broker-2.82.0 lib/pact_broker/ui/view_models/matrix_tag.rb
pact_broker-2.81.0 lib/pact_broker/ui/view_models/matrix_tag.rb
pact_broker-2.80.0 lib/pact_broker/ui/view_models/matrix_tag.rb