{"id":15005907,"url":"https://github.com/ull-esit-gradoii-pl/oop","last_synced_at":"2026-03-09T18:05:19.103Z","repository":{"id":57096902,"uuid":"116936697","full_name":"ULL-ESIT-GRADOII-PL/OOP","owner":"ULL-ESIT-GRADOII-PL","description":null,"archived":false,"fork":false,"pushed_at":"2018-10-15T09:43:27.000Z","size":82,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-19T16:19:52.325Z","etag":null,"topics":["continuous-integration","ecmascript6","js","oop","testing"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/ULL-ESIT-GRADOII-PL.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":"2018-01-10T09:24:31.000Z","updated_at":"2018-10-08T12:35:26.000Z","dependencies_parsed_at":"2022-08-20T16:10:56.058Z","dependency_job_id":null,"html_url":"https://github.com/ULL-ESIT-GRADOII-PL/OOP","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/ULL-ESIT-GRADOII-PL%2FOOP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ULL-ESIT-GRADOII-PL%2FOOP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ULL-ESIT-GRADOII-PL%2FOOP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ULL-ESIT-GRADOII-PL%2FOOP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ULL-ESIT-GRADOII-PL","download_url":"https://codeload.github.com/ULL-ESIT-GRADOII-PL/OOP/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243158973,"owners_count":20245669,"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":["continuous-integration","ecmascript6","js","oop","testing"],"created_at":"2024-09-24T19:01:28.283Z","updated_at":"2026-03-09T18:05:19.073Z","avatar_url":"https://github.com/ULL-ESIT-GRADOII-PL.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Eloquent JavaScript. Chapter 6: The Secret Life of Objects.  Section *Laying out a table*\n\n\n[![Build Status](https://travis-ci.org/ULL-ESIT-GRADOII-PL/OOP.svg?branch=master)](https://travis-ci.org/ULL-ESIT-GRADOII-PL/OOP)\n\n#### Introduction\nExample corresponds to the section **Laying out a table** of Chapter 6 **[The Secret Life of Objects](http://eloquentjavascript.net/06_object.html)**, book **[Eloquent javaScript](http://eloquentjavascript.net/)**\n\n#### Files:\n```\npackage.json          - configuration and dependencies\n\ngulpfile.js           - test: run mocha tests\n                      - debugger: run the debbugger\n                      - run: run the program\n\nsrc                   - source folder\n  input.json          - input file\n  main.js             - main program\n  Cell.js             - class cell\n  RCell.js            - class rcell\n  UnderlinedCell.js   - class underlinedcell\n  Table.js            - class table\n\ntest                  - mocha test\n  test.js\n```\n\n#### Description\nThis example consist in a program that, given an array of arrays of table cells in json format, builds up a string that contains a nicely laid out table.\n\nThe *src* folder has the input file and the different classes, the main, all types of cell and the table. Also, in the *test* folder has the file the file with the developed tests.\n\n**Example of input used:**\n```javascript\n~/ejs-chapter-6-oop-KevMCh $ cat src/input.json\n\n[\n  {\"name\": \"Kilimanjaro\\nMontaña mágica\", \"height\": 5895, \"country\": \"Tanzania\"},\n  {\"name\": \"Everest\", \"height\": 8848, \"country\": \"Nepal\\nPaís lejano\"},\n  {\"name\": \"Mount Fuji\", \"height\": 3776, \"country\": \"Japan\"},\n  {\"name\": \"Mont Blanc\", \"height\": 4808, \"country\": \"Italy/France\"},\n  {\"name\": \"Vaalserberg\", \"height\": 323, \"country\": \"Netherlands\"},\n  {\"name\": \"Denali\", \"height\": 6168, \"country\": \"United States\"},\n  {\"name\": \"Popocatepetl\", \"height\": 5465, \"country\": \"Mexico\"}\n]\n```\n\nIf you want to run the code the different tasks is available in the gulp file.\n\n  * Run the program with the debugger.\n  * Run the program with the standard input.\n  * Run the tests.\n\n**Final result:**\n```javascript\n~/ejs-chapter-6-oop-KevMCh $ gulp run\n[12:42:05] Using gulpfile ~/Desktop/ejs-chapter-6-oop-KevMCh/gulpfile.js\n[12:42:05] Starting 'run'...\nname           height country      \n-------------- ------ -------------\nKilimanjaro      5895 Tanzania     \nMontaña mágica                     \nEverest          8848 Nepal        \n                      País lejano  \nMount Fuji       3776 Japan        \nMont Blanc       4808 Italy/France\nVaalserberg       323 Netherlands  \nDenali           6168 United States\nPopocatepetl     5465 Mexico       \n[12:42:05] Finished 'run' after 84 ms\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Full-esit-gradoii-pl%2Foop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Full-esit-gradoii-pl%2Foop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Full-esit-gradoii-pl%2Foop/lists"}