Sha256: fc4ff362f1526e56d981207c4045a2f668e47685da2af9f8036af2b548ef2077
Contents?: true
Size: 1.43 KB
Versions: 3
Compression:
Stored size: 1.43 KB
Contents
module Pione module Model # PackageExpr is an expression of PIONE package. class PackageExpr < Element attr_reader :name # Create a package with name. # # @param name [String] # package name def initialize(name) @name = name super() end # @api private def textize "package-expr(\"%s\")" % [@name] end # Return a rule path. # # @param other [RuleExpr] # rule expression # @return [String] # rule path string def +(other) raise ArgumentError.new(other) unless other.kind_of?(RuleExpr) "#{@name}:#{other.name}" end end class PackageExprSequence < Sequence set_pione_model_type TypePackageExpr set_element_class PackageExpr end TypePackageExpr.instance_eval do define_pione_method("bin", [], TypeString) do |vtable, rec| base = Location[vtable.get(Variable.new("__BASE__")).value] bin = base + "package" + rec.elements.first.name + "bin" working_directory = Location[vtable.get(Variable.new("__WORKING_DIRECTORY__")).first.value] bin.entries.each do |entry| path = working_directory + "bin" + entry.basename unless path.exist? entry.copy(working_directory + "bin" + entry.basename) end end PioneString.new((working_directory + "bin").path).to_seq end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pione-0.2.2 | lib/pione/model/package-expr.rb |
pione-0.2.1 | lib/pione/model/package-expr.rb |
pione-0.2.0 | lib/pione/model/package-expr.rb |