Sha256: 78197e9e250122f2144cfe468d022018545240181aa482d9b2f72da18bce3f1d

Contents?: true

Size: 937 Bytes

Versions: 3

Compression:

Stored size: 937 Bytes

Contents

module Pione::Model
  # Package is a PIONE model class for rule package.
  class Package < BasicModel
    attr_reader :name
    set_pione_model_type TypePackage

    # Creates a package with name.
    # @param [String] name
    #   package name
    def initialize(name)
      @name = name
      super()
    end

    # @api private
    def task_id_string
      "Package<#{@name}>"
    end

    # @api private
    def textize
      "package(\"%s\")" % [@name]
    end

    # Return a rule path.
    # @param [RuleExpr] other
    #   rule expression
    # @return [String]
    #   rule path string
    def +(other)
      raise ArgumentError.new(other) unless other.kind_of?(RuleExpr)
      "#{@name}:#{other.name}"
    end

    # @api private
    def ==(other)
      return false unless other.kind_of?(self.class)
      @name == other.name
    end

    alias :eql? :"=="

    # @api private
    def hash
      @value.hash
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pione-0.1.2 lib/pione/model/package.rb
pione-0.1.1 lib/pione/model/package.rb
pione-0.1.0 lib/pione/model/package.rb