Class: Subversion::ExternalsContainer
- Inherits:
-
Object
- Object
- Subversion::ExternalsContainer
- Defined in:
- lib/svn-command/subversion.rb
Overview
Represents an “externals container”, which is a directory that has the svn:externals
property set to something useful. Each ExternalsContainer contains a set of “entries”, which are the actual directories listed in the svn:externals
property and are “pulled into” the directory.
Defined Under Namespace
Classes: ExternalItem
Instance Attribute Summary collapse
-
#container_dir ⇒ Object
readonly
Returns the value of attribute container_dir.
-
#entries ⇒ Object
readonly
Returns the value of attribute entries.
Instance Method Summary collapse
- #==(other) ⇒ Object
- #entries_structs ⇒ Object
- #has_entries? ⇒ Boolean
-
#initialize(external_dir) ⇒ ExternalsContainer
constructor
A new instance of ExternalsContainer.
- #to_s ⇒ Object
Constructor Details
#initialize(external_dir) ⇒ ExternalsContainer
Returns a new instance of ExternalsContainer.
496 497 498 499 500 |
# File 'lib/svn-command/subversion.rb', line 496 def initialize(external_dir) @container_dir = File.(external_dir) @entries = Subversion.get_property("externals", @container_dir) #p @entries end |
Instance Attribute Details
#container_dir ⇒ Object (readonly)
Returns the value of attribute container_dir.
493 494 495 |
# File 'lib/svn-command/subversion.rb', line 493 def container_dir @container_dir end |
#entries ⇒ Object (readonly)
Returns the value of attribute entries.
494 495 496 |
# File 'lib/svn-command/subversion.rb', line 494 def entries @entries end |
Instance Method Details
#==(other) ⇒ Object
529 530 531 |
# File 'lib/svn-command/subversion.rb', line 529 def ==(other) self.container_dir == other.container_dir end |
#entries_structs ⇒ Object
506 507 508 509 510 511 |
# File 'lib/svn-command/subversion.rb', line 506 def entries_structs entries.chomp.enum(:each_line).map { |line| line =~ /^(\S+)\s*(\S+)/ ExternalItem.new($1, $2) } end |
#has_entries? ⇒ Boolean
502 503 504 |
# File 'lib/svn-command/subversion.rb', line 502 def has_entries? @entries.size > 0 end |
#to_s ⇒ Object
513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 |
# File 'lib/svn-command/subversion.rb', line 513 def to_s entries_structs = entries_structs() longest_item_name = [ entries_structs.map { |entry| entry.name.size }.max.to_i, 25 ].max container_dir.bold + "\n" + entries_structs.map { |entry| " * " + entry.name.ljust(longest_item_name + 1) + entry.repository_path + "\n" }.join end |