Sha256: 0851c1bc5a92001808d8138b392a5f72a3fe3c9419f8fe39224ee1c2cbb2c78f

Contents?: true

Size: 1.64 KB

Versions: 45

Compression:

Stored size: 1.64 KB

Contents

module MetaProject
  module Tracker
    
    # An issue represents an entry in an issue tracker such as a bug report or
    # feature request.
    class Issue
      attr_reader :attributes
    
      def initialize(tracker, attributes={})
        @tracker = tracker
        @attributes = attributes
      end
      
      # An URL pointing to the issue in the associated tracker, or nil if
      # the issue doesn't exist.
      def url
        @tracker.materialize(self) unless @attributes[:url]
        @attributes[:url]
      end

      # The id of the issue in the tracker
      def identifier
        @tracker.materialize(self) unless @attributes[:identifier]
        @attributes[:identifier]
      end

      # The summary of the issue (typically a one-liner)
      def summary
        @tracker.materialize(self) unless @attributes[:summary]
        @attributes[:summary]
      end

      # The details of the issue (typically several lines)
      def detail
        @tracker.materialize(self) unless @attributes[:detail]
        @attributes[:detail]
      end

      # Adds a comment (consisting of the +detail+) to the issue
      def update(user_name, password)
        @tracker.update(self, user_name, password)
      end

      # Creates a new issue (consisting of the +summary+ and +detail+)
      def create(user_name, password)
        raise "Summary not set" unless summary
        raise "Detail not set" unless detail
        @tracker.create(self, user_name, password)
      end

      # Closes the issue (adding a comment consisting of the +detail+)
      def close(user_name, password)
        @tracker.close(self, user_name, password)
      end
    end
  end
end

Version data entries

45 entries across 45 versions & 3 rubygems

Version Path
redcar-dev-0.12.1dev-java lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-dev-0.12.0dev-java lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-0.11 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-0.11.0dev lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-0.10 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-0.9.2 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-0.9.1 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-0.9.0 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-0.8.1 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-0.8 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-0.7 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-0.6.1 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-0.6 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-0.6.1dev lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-0.5.1 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-0.5 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-0.5.6dev lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-0.5.5dev lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-0.5.4dev lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb
redcar-0.5.3dev lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb