Class: ArduinoSketchBuilder::ArduinoCmakeBuild

Inherits:
Object
  • Object
show all
Defined in:
lib/arduino_sketch_builder/arduino_cmake_build.rb

Defined Under Namespace

Classes: State

Constant Summary collapse

INITIAL =
State.new(:initial, "ready")
CMAKE_COMPLETE =
State.new(:cmake_complete, "success")
MAKE_COMPLETE =
State.new(:make_complete, "success")
MAKE_UPLOAD_COMPLETE =
State.new(:make_upload_complete, "success")
STATE_SEQUENCE =
[INITIAL, CMAKE_COMPLETE, MAKE_COMPLETE, MAKE_UPLOAD_COMPLETE]

Instance Method Summary collapse

Constructor Details

#initialize(main_directory, build_directory) ⇒ ArduinoCmakeBuild

Returns a new instance of ArduinoCmakeBuild.



14
15
16
17
18
# File 'lib/arduino_sketch_builder/arduino_cmake_build.rb', line 14

def initialize(main_directory, build_directory)
  @main_directory = main_directory
  @build_directory = build_directory
  @state = INITIAL
end

Instance Method Details

#build_and_uploadObject



28
29
30
31
32
33
34
# File 'lib/arduino_sketch_builder/arduino_cmake_build.rb', line 28

def build_and_upload
  self.cmake
  return self.state unless self.state == :cmake_complete
  self.make
  return self.state unless self.state == :make_complete
  self.make_upload
end

#messageObject



24
25
26
# File 'lib/arduino_sketch_builder/arduino_cmake_build.rb', line 24

def message
  @state.message
end

#stateObject



20
21
22
# File 'lib/arduino_sketch_builder/arduino_cmake_build.rb', line 20

def state
  @state.value
end