Sha256: fe9273c689c710af28985c97678219a7f43f7c1beab2f9fcde46cb79d75d5433

Contents?: true

Size: 1.22 KB

Versions: 5

Compression:

Stored size: 1.22 KB

Contents

require 'rscm/path_converter'

module DamageControl
  module SCMWeb

    class Null
      def change_url(change, anchor=false)
        change.path
      end

      def changeset_url(changeset, anchor=false)
        "http://foo.bar/"
      end
    end

    class ViewCVS
      attr_accessor :baseurl

      def initialize(baseurl)
        @baseurl = baseurl
      end

      def url
        RSCM::PathConverter.ensure_trailing_slash(baseurl)
      end

      def change_url(change, anchor=false)
        result = nil
        if(change.previous_revision)
          result = "#{url}#{change.path}?r1=#{change.previous_revision}&r2=#{change.revision}"
        else
          # point to the viewcvs (rev) and fisheye (r) revisions (no diff view)
          result = "#{url}#{change.path}?rev=#{change.revision}&r=#{change.revision}"
        end
        anchor ? "<a href=\"#{result}\">#{change.path}</a>" : result
      end

      def changeset_url(changeset, anchor=false)
        url
      end
    end

    class Fisheye < ViewCVS
      def changeset_url(changeset, anchor=false)
        # TODO: link to their faked CVS changesets (or proper SVN ones when that happens).
      end
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
damagecontrol-0.5.0.1391 lib/damagecontrol/scm_web.rb
damagecontrol-0.5.0.1393 lib/damagecontrol/scm_web.rb
damagecontrol-0.5.0.1392 lib/damagecontrol/scm_web.rb
damagecontrol-0.5.0 lib/damagecontrol/scm_web.rb
damagecontrol-0.5.0.1404 lib/damagecontrol/scm_web.rb