toy_robot_cli 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f9ea2b0b48996a8fcb4f68df38f7773060e92ac1221d36e09eb05268a6cb6db6
4
- data.tar.gz: '0145910220ff22a216dfe8b4ffe4786d337a993d0a8b743c52b9092fa716b7b9'
3
+ metadata.gz: 3b9465bbbfd49f2de70e762e66b8ebb85a42e058e047dc190d459c4cfa9e0674
4
+ data.tar.gz: c1d8c7b25605ba93871bae39756c0f0f9f86c263dd784f789b4156cc7a645283
5
5
  SHA512:
6
- metadata.gz: be4037d0629acfd481136ea6ab35a7875a3b3ec2670a55d9e93e86f866b0b1c555b98366a5e0518c288431803f4ac64d5183479ff6cb7d19da149cf9eb7c1133
7
- data.tar.gz: aa39acda6ad7fb7b128970fc40420888a314c784c83bb81f2a951a3a48a7d7bcbe439d439a3769e9a49ee83508848111b8029fce45cfaf24ecf8016d42cdec12
6
+ metadata.gz: 2f9bd0a617f9fc83256dfeae4ef9ef879f761f49b9a4c00642b322792beacaf50223cb02fdf48954bc46dbc7a8da2e729e6d107cfa23dc282a311a34e58a7cc3
7
+ data.tar.gz: 06367b0746873f1af22aa0b9e0a0bc9e103683d501f9183274307201e1c170ad0b4c97e6fb9f7f07007ad7e2d65d83e7c2fa9745a01fb90010f496cd61fda3a8
data/README.md CHANGED
@@ -33,6 +33,7 @@ The available commands are:
33
33
  - left: Rotate the robot 90 degrees to the left.
34
34
  - right: Rotate the robot 90 degrees to the right.
35
35
  - report: Report the current position and direction of the robot.
36
+ - current_position: Report the current position of the robot.
36
37
 
37
38
  Here's an example usage:
38
39
 
@@ -44,6 +45,7 @@ $ toy_robot
44
45
  > right
45
46
  > move
46
47
  > report
48
+ > current_position
47
49
  ```
48
50
 
49
51
  ## Development
@@ -36,6 +36,16 @@ module ToyRobotCli
36
36
  puts @robot.report
37
37
  end
38
38
 
39
+ desc "current_position", "Return the current position of the robot"
40
+ def current_position
41
+ position = @robot.current_position
42
+ if position
43
+ puts "Current Position: #{position[0]}, #{position[1]}"
44
+ else
45
+ puts "Robot is not placed on the table."
46
+ end
47
+ end
48
+
39
49
  desc "interactive", "Interactive mode to input commands"
40
50
  def interactive
41
51
  loop do
@@ -55,6 +65,8 @@ module ToyRobotCli
55
65
  right
56
66
  when "report"
57
67
  report
68
+ when "current_position"
69
+ current_position
58
70
  when "exit"
59
71
  break
60
72
  else
@@ -32,6 +32,21 @@ module ToyRobotCli
32
32
  @direction = VALID_DIRECTIONS.index(facing)
33
33
  end
34
34
 
35
+ # Get the current position (X, Y) of the robot.
36
+ # Example:
37
+ # >> robot = ToyRobotCli::Robot.new
38
+ # => #<ToyRobotCli::Robot:0x000000... @direction=nil, @position=nil>
39
+ # >> robot.place(0, 0, "SOUTH")
40
+ # => 2
41
+ #
42
+ # Returns:
43
+ # (Array) - An array containing the X and Y coordinates of the robot's current position.
44
+ def current_position
45
+ return nil unless placed?
46
+
47
+ @position.to_a.flatten
48
+ end
49
+
35
50
  # Move the robot one unit forward in the current direction.
36
51
  def move
37
52
  return unless placed?
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ToyRobotCli
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: toy_robot_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paulo H Sacramento
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-18 00:00:00.000000000 Z
11
+ date: 2023-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aruba