Class: VStudioIDE::SLN

Inherits:
Object
  • Object
show all
Defined in:
lib/vstudioide/solution.rb

Direct Known Subclasses

SLNv8, SLNv9

Constant Summary collapse

@@formats =
[]

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.inherited(format) ⇒ Object



30
31
32
# File 'lib/vstudioide/solution.rb', line 30

def self.inherited(format)
  @@formats << format
end

.load(io) ⇒ Object

Raises:

  • (IOError)


34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/vstudioide/solution.rb', line 34

def self.load(io)
  # Loop until we read a line that begins with a word charachter.  This
  # scans past garbage that certain versions of Visual Studio put at the
  # beginning of the file.
  while io.gets
    break if $_.match('\A\w')
  end
  
  sln = nil
  version = $_.strip
  
  @@formats.each do |format|
    sln = format.new if format.loads? version
  end
  raise IOError, "Unrecognized Visual Studio solution format." if sln.nil?
  
  sln.parse(io)
  sln
end

.loads?(format) ⇒ Boolean

Returns:

  • (Boolean)


55
56
57
# File 'lib/vstudioide/solution.rb', line 55

def self.loads?(format)
  false
end

Instance Method Details

#configurationsObject



59
60
61
# File 'lib/vstudioide/solution.rb', line 59

def configurations
  []
end