{"id":16002640,"url":"https://github.com/luan/mars-rovers","last_synced_at":"2025-03-27T02:23:35.512Z","repository":{"id":3140137,"uuid":"4169128","full_name":"luan/mars-rovers","owner":"luan","description":"Mars Rovers basic solution in plain ruby","archived":false,"fork":false,"pushed_at":"2022-02-08T23:45:32.000Z","size":8,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-01T07:44:15.942Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/luan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-04-28T17:59:09.000Z","updated_at":"2023-02-13T19:13:08.000Z","dependencies_parsed_at":"2022-07-21T21:47:26.738Z","dependency_job_id":null,"html_url":"https://github.com/luan/mars-rovers","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luan%2Fmars-rovers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luan%2Fmars-rovers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luan%2Fmars-rovers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luan%2Fmars-rovers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luan","download_url":"https://codeload.github.com/luan/mars-rovers/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245767825,"owners_count":20668922,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-08T10:02:18.085Z","updated_at":"2025-03-27T02:23:35.493Z","avatar_url":"https://github.com/luan.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mars Rovers\n\nI used RSpec for unit testing together with guard and guard-rspec for continuous testing.\nI used Rake for running everything.\n\nThere are 3 rake tasks:\n\n```\n$ rake -T\nrake batch        # Run the app in batch mode\nrake interactive  # Run the app in interactive mode\nrake spec         # Run RSpec code examples\n```\n\n - The batch mode will run the example input from the specification.\n - The interactive mode will expect user input, that could be eigher typed in the thermina\n or directed from the command line with pipes or \u003c assignments.\n - The spec task runs all the unit tests\n\n Example usage:\n\n```\n$ rake batch\n=\u003e 1 3 N 5 1 E\n```\n\n### plateau.txt\n\n```\n5 5\n1 2 N\nLMLMLMLMM\n3 3 E\nMMRMMRMRRM\n```\n\n```\n$ rake interactive \u003c plateau.txt\n=\u003e 1 3 N 5 1 E\n```\n\n```\n$ rake interactive\n5 5\n1 2 N\nLMLMLMLMM\n3 3 E\nMMRMMRMRRM\n\u003cControl-D\u003e\n=\u003e 1 3 N 5 1 E\n```\n\n\nI assumed that a rover can't go out of the plateau (one rover hits the edge won't go further).\nI assumed that rovers can walk through each other (two or more rovers can occupy the same position).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluan%2Fmars-rovers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluan%2Fmars-rovers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluan%2Fmars-rovers/lists"}