Class: SlnProject::RootBlock

Inherits:
BaseBlock show all
Defined in:
lib/fastlane/plugin/sapfire/sln_project/root_block.rb

Constant Summary collapse

TOKENS =
{
  VisualStudioVersionToken: "VisualStudioVersion",
  MinimumVisualStudioVersionToken: "MinimumVisualStudioVersion"
}.freeze
START_TOKENS =
{
  ProjectToken: "Project",
  GlobalToken: "Global"
}.freeze
END_TOKENS =
{
  ProjectToken: "EndProject",
  GlobalToken: "EndGlobal"
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#globalObject

Returns the value of attribute global.



22
23
24
# File 'lib/fastlane/plugin/sapfire/sln_project/root_block.rb', line 22

def global
  @global
end

#min_visual_studio_versionObject

Returns the value of attribute min_visual_studio_version.



22
23
24
# File 'lib/fastlane/plugin/sapfire/sln_project/root_block.rb', line 22

def min_visual_studio_version
  @min_visual_studio_version
end

#projectsObject

Returns the value of attribute projects.



22
23
24
# File 'lib/fastlane/plugin/sapfire/sln_project/root_block.rb', line 22

def projects
  @projects
end

#visual_studio_versionObject

Returns the value of attribute visual_studio_version.



22
23
24
# File 'lib/fastlane/plugin/sapfire/sln_project/root_block.rb', line 22

def visual_studio_version
  @visual_studio_version
end

Instance Method Details

#parse(block_str) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/fastlane/plugin/sapfire/sln_project/root_block.rb', line 24

def parse(block_str)
  inner_block = nil
  inner_block_str = ""
  content_reader = StringIO.new(block_str)

  content_reader.each_line do |line|
    trim_line = line.strip
    inner_block = check_start_token(trim_line, inner_block)
    inner_block = check_end_token(trim_line, inner_block, inner_block_str)

    inner_block_str += "#{trim_line}\n" unless inner_block.nil?
    inner_block_str = "" if inner_block.nil?
  end
end