toy_robot_cli 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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