Class: Bricolage::JobNet::Ref

Inherits:
Object
  • Object
show all
Defined in:
lib/bricolage/jobnet.rb

Direct Known Subclasses

JobNetRef, JobRef

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(subsys, name, location) ⇒ Ref

Returns a new instance of Ref.



361
362
363
364
365
# File 'lib/bricolage/jobnet.rb', line 361

def initialize(subsys, name, location)
  @subsystem = subsys
  @name = name
  @location = location
end

Instance Attribute Details

#locationObject (readonly)

Returns the value of attribute location.



369
370
371
# File 'lib/bricolage/jobnet.rb', line 369

def location
  @location
end

#nameObject (readonly)

Returns the value of attribute name.



368
369
370
# File 'lib/bricolage/jobnet.rb', line 368

def name
  @name
end

#subsystemObject (readonly)

Returns the value of attribute subsystem.



367
368
369
# File 'lib/bricolage/jobnet.rb', line 367

def subsystem
  @subsystem
end

Class Method Details

.parse(ref, curr_subsys = nil, location = Location.dummy) ⇒ Object



349
350
351
352
353
354
355
356
357
358
359
# File 'lib/bricolage/jobnet.rb', line 349

def Ref.parse(ref, curr_subsys = nil, location = Location.dummy)
  m = %r<\A(\*)?(?:(\w[\w\-]*)/)?(@?\w[\w\-]*)\z>.match(ref) or
      raise ParameterError, "bad job name: #{ref.inspect}"
  is_net, subsys, name = m.captures
  ref_class = (is_net ? JobNetRef : JobRef)
  node_subsys = subsys || curr_subsys
  unless node_subsys
    raise ParameterError, "missing subsystem: #{ref}"
  end
  ref_class.new(node_subsys.to_s, name.to_s, location)
end

Instance Method Details

#==(other) ⇒ Object Also known as: eql?



379
380
381
# File 'lib/bricolage/jobnet.rb', line 379

def ==(other)
  to_s == other.to_s
end

#dummy?Boolean

Returns:

  • (Boolean)


389
390
391
# File 'lib/bricolage/jobnet.rb', line 389

def dummy?
  @name[0] == '@'
end

#hashObject



385
386
387
# File 'lib/bricolage/jobnet.rb', line 385

def hash
  to_s.hash
end

#inspectObject



371
372
373
# File 'lib/bricolage/jobnet.rb', line 371

def inspect
  "\#<#{self.class} #{to_s}>"
end

#to_sObject



375
376
377
# File 'lib/bricolage/jobnet.rb', line 375

def to_s
  @ref ||= [@subsystem, @name].compact.join('/')
end