toybot 1.0.0 → 1.0.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 +13 -5
- data/.travis.yml +9 -1
- data/README.md +25 -19
- data/{bin → exe}/toy-robot +0 -0
- data/lib/toybot/version.rb +1 -1
- data/toybot.gemspec +0 -8
- metadata +15 -14
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ZmU0YWNiYjUzYzMyNWUwY2QxMmI3MWM0ZDcyNzAxNjIyYjc3NTYyOA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MTc5MDVhYjYyNzUwNjE0ZmJiYjc4NDJjYzZjZDQyMzdmNDE1YzA4NA==
|
5
7
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
NjBjNDkxYzYzZGQwYzllZTE0OTZhZmI2ODgzYTU1MDY2Nzc5YjE5MDQ2ZTIx
|
10
|
+
YmY4ZjI2MDI3NzE5YTQ1NDYzNWVmZmNkYTFlNzgwZjAwZGUxOWE4M2IxM2Q5
|
11
|
+
ZGY3NmFmYzhkZjE0NGUxZjlhNTk0ZGY2YWI0MTNlMjU3MmZkNDk=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
MzBlZDQwOGU4MjgwYzliN2MxNDk5YTIzNjkyOTgxMzU1MDJhNTM4MjJhMjQw
|
14
|
+
ODRkMTA3ZDMxZTdiY2FiYTk0ZTA4MmQ5N2M2ZjJiZmIyYjgwNGM0ZTc2MzIz
|
15
|
+
NDZjMDBlZWY5ZmEyMTQ3NzVmZjIyYTVmY2UxM2ZjOTY5MGYzZTI=
|
data/.travis.yml
CHANGED
@@ -1,4 +1,12 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
-
|
3
|
+
- 2.2.2
|
4
4
|
before_install: gem install bundler -v 1.10.5
|
5
|
+
deploy:
|
6
|
+
provider: rubygems
|
7
|
+
api_key:
|
8
|
+
secure: U9Xlmt5pmpW684saOdwTJ2aefdze8N600/XnVDdRmD9ztWQ4WDO4h4wsqDqt9QjEMInL0Q4otfB5ty9WO6Sa61k/++7xTnpqUiHUn7NDveB4axKh2CJ8K+5ltl1V2Oc9EkDUFCzL10ebNa6oGw2TZUaSqTDYFsmWYMrEzD/W7RXL+Ybw8tlAr2bViak2dNXak1iMRez960yTo0h/69ZfbE5dKF7DHKyX8Bh8CHMN5uAjKDMoFnGtO1UPYc9cVUGtpkCbC0jEbsxKNFfw7vrJChlcrK3Pif440grZIteCZVijwcxErrxArpVPaWYUgKeArMJ3MrajpFV0Z5lw0iwoYn8uSA54/DF8xgJLyST7fVKD7p4c1gFPJ8lxaMoQ2H+gJx6T05saP5lWnJw9sDGM4jmgvDTaz6ReLsunTMulNn6H134UH41Wu8eNo51PDYuBNqrZTsTxWa2X3DP7GdEQ8ed1fOfEPMQOBEwlnEj3DeGSryLIAL6CRMiO34ppvrjg/PZSoREno5h2wwHw2/W8QaO3zpnSwsQSn/GZhtbDB7RKQlurAW6jnwIAD9lmbMrIcOLqhgY3WgvFgb1Ja29EqOwq5jv/58PstBdTUO7peiFeeJIZ20/EHQAo1yrEqX1Qr7PtSFnpp8HA1R49hgCgdEzaq+On8m00y2A5klp7Qmo=
|
9
|
+
gem: toybot
|
10
|
+
on:
|
11
|
+
tags: true
|
12
|
+
repo: nsarno/toybot
|
data/README.md
CHANGED
@@ -1,21 +1,29 @@
|
|
1
1
|
# toy-robot
|
2
|
+
[](https://travis-ci.org/nsarno/toybot)
|
3
|
+
[](http://badge.fury.io/rb/toybot)
|
2
4
|
|
3
5
|
### Description
|
4
6
|
|
5
7
|
toy-robot is a simulator of a toy robot that moves on a tabletop.
|
6
8
|
|
7
|
-
|
9
|
+
## From RubyGems
|
8
10
|
|
9
|
-
|
10
|
-
|
11
|
+
```bash
|
12
|
+
$ gem install toybot
|
13
|
+
$ toy-robot
|
14
|
+
```
|
11
15
|
|
12
|
-
|
16
|
+
## From the source
|
17
|
+
|
18
|
+
### Requirements
|
19
|
+
|
20
|
+
If you don't already have, install Bundler from rubygems:
|
13
21
|
|
14
22
|
```bash
|
15
23
|
$ gem install bundler
|
16
24
|
```
|
17
25
|
|
18
|
-
###
|
26
|
+
### Installation
|
19
27
|
|
20
28
|
```bash
|
21
29
|
$ bundle install
|
@@ -33,13 +41,11 @@ $ bundle exec rake
|
|
33
41
|
|
34
42
|
### Usage
|
35
43
|
|
36
|
-
**Start bot**
|
37
|
-
|
38
44
|
```bash
|
39
|
-
$ bundle exec
|
45
|
+
$ bundle exec exe/toy-robot
|
40
46
|
```
|
41
47
|
|
42
|
-
It is also possible to give a size to the tabletop
|
48
|
+
It is also possible to give a size to the tabletop:
|
43
49
|
|
44
50
|
```bash
|
45
51
|
$ bundle exec bin/toy-robot WIDTH HEIGHT
|
@@ -47,14 +53,14 @@ $ bundle exec bin/toy-robot WIDTH HEIGHT
|
|
47
53
|
|
48
54
|
### Error handling
|
49
55
|
|
50
|
-
- Toybot is quite permissive with the input as long as it respects the number of arguments
|
51
|
-
- Toybot is not very smart,
|
56
|
+
- Toybot is quite permissive with the input, as long as it respects the number of arguments and uses the comma separator.
|
57
|
+
- Toybot is not very smart, although he is trying. Any invalid input will freak him out and he will display a little helper.
|
52
58
|
|
53
59
|
### Implementation details
|
54
60
|
|
55
61
|
Toybot is made of several components:
|
56
62
|
|
57
|
-
|
63
|
+
#### Tabletop
|
58
64
|
|
59
65
|
The `Tabletop` class is a simple abstraction of a tabletop with a `width` and a `height`.
|
60
66
|
|
@@ -64,15 +70,15 @@ The `Tabletop` class is a simple abstraction of a tabletop with a `width` and a
|
|
64
70
|
|
65
71
|
**where**: `lib/toybot/tabletop.rb`
|
66
72
|
|
67
|
-
|
73
|
+
#### Direction
|
68
74
|
|
69
|
-
The `Direction` class
|
75
|
+
The `Direction` class abstracts the notion of cardinal directions.
|
70
76
|
|
71
|
-
- It can be rotated clockwise or counter clockwise
|
77
|
+
- It can be rotated clockwise or counter clockwise by 90 degrees.
|
72
78
|
|
73
79
|
**where**: `lib/toybot/direction.rb`
|
74
80
|
|
75
|
-
|
81
|
+
#### Bot
|
76
82
|
|
77
83
|
Finally, our little robot.
|
78
84
|
|
@@ -83,12 +89,12 @@ Finally, our little robot.
|
|
83
89
|
Toybot::Bot.start(tabletop)
|
84
90
|
```
|
85
91
|
|
86
|
-
- It implements
|
87
|
-
-
|
92
|
+
- It internally implements all the possible actions.
|
93
|
+
- Action methods are called by passing a message to the bot object, deducted from the input.
|
88
94
|
|
89
95
|
**where**: `lib/toybot/bot.rb`
|
90
96
|
|
91
|
-
|
97
|
+
## Specifications
|
92
98
|
|
93
99
|
toy-robot is a simulator of a toy robot that moves on a tabletop.
|
94
100
|
|
data/{bin → exe}/toy-robot
RENAMED
File without changes
|
data/lib/toybot/version.rb
CHANGED
data/toybot.gemspec
CHANGED
@@ -11,14 +11,6 @@ Gem::Specification.new do |spec|
|
|
11
11
|
|
12
12
|
spec.summary = %q{BIP BOP}
|
13
13
|
|
14
|
-
# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
|
15
|
-
# delete this section to allow pushing this gem to any host.
|
16
|
-
# if spec.respond_to?(:metadata)
|
17
|
-
# spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
|
18
|
-
# else
|
19
|
-
# raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
|
20
|
-
# end
|
21
|
-
|
22
14
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
23
15
|
spec.bindir = "exe"
|
24
16
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: toybot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arnaud MESUREUR
|
@@ -14,60 +14,61 @@ dependencies:
|
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.10'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.10'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '10.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: minitest
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ! '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ! '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
description:
|
56
56
|
email:
|
57
57
|
- arnaud.mesureur@gmail.com
|
58
|
-
executables:
|
58
|
+
executables:
|
59
|
+
- toy-robot
|
59
60
|
extensions: []
|
60
61
|
extra_rdoc_files: []
|
61
62
|
files:
|
62
|
-
-
|
63
|
-
-
|
64
|
-
-
|
63
|
+
- .gitignore
|
64
|
+
- .ruby-version
|
65
|
+
- .travis.yml
|
65
66
|
- Gemfile
|
66
67
|
- README.md
|
67
68
|
- Rakefile
|
68
69
|
- bin/console
|
69
70
|
- bin/setup
|
70
|
-
-
|
71
|
+
- exe/toy-robot
|
71
72
|
- lib/toybot.rb
|
72
73
|
- lib/toybot/bot.rb
|
73
74
|
- lib/toybot/direction.rb
|
@@ -83,12 +84,12 @@ require_paths:
|
|
83
84
|
- lib
|
84
85
|
required_ruby_version: !ruby/object:Gem::Requirement
|
85
86
|
requirements:
|
86
|
-
- -
|
87
|
+
- - ! '>='
|
87
88
|
- !ruby/object:Gem::Version
|
88
89
|
version: '0'
|
89
90
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
90
91
|
requirements:
|
91
|
-
- -
|
92
|
+
- - ! '>='
|
92
93
|
- !ruby/object:Gem::Version
|
93
94
|
version: '0'
|
94
95
|
requirements: []
|