{"id":19543384,"url":"https://github.com/jonathanyiv/enumerable_methods","last_synced_at":"2026-04-17T02:31:22.715Z","repository":{"id":87535980,"uuid":"99392689","full_name":"JonathanYiv/enumerable_methods","owner":"JonathanYiv","description":"Implementation of Ruby's Enumerable Module","archived":false,"fork":false,"pushed_at":"2017-08-27T02:49:39.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-09-05T10:49:40.214Z","etag":null,"topics":["enumerables","ruby"],"latest_commit_sha":null,"homepage":"","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/JonathanYiv.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-05T02:06:56.000Z","updated_at":"2020-02-08T03:06:07.000Z","dependencies_parsed_at":"2023-05-12T12:31:11.417Z","dependency_job_id":null,"html_url":"https://github.com/JonathanYiv/enumerable_methods","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JonathanYiv/enumerable_methods","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanYiv%2Fenumerable_methods","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanYiv%2Fenumerable_methods/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanYiv%2Fenumerable_methods/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanYiv%2Fenumerable_methods/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JonathanYiv","download_url":"https://codeload.github.com/JonathanYiv/enumerable_methods/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanYiv%2Fenumerable_methods/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31912323,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["enumerables","ruby"],"created_at":"2024-11-11T03:18:33.679Z","updated_at":"2026-04-17T02:31:22.667Z","avatar_url":"https://github.com/JonathanYiv.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Enumerables Project\n\nThis is my version of implementing some of [Ruby's Enumerable Module](https://ruby-doc.org/core-2.4.1/Enumerable.html) traversal and searching methods.\nI specifically implemented #each, #each_with_index, #select, #all?, #any?, #none?, #count, #map, and #inject.\n\nThis is a project from [The Odin Project](https://www.theodinproject.com/courses/ruby-programming/lessons/advanced-building-blocks).\n\n## Installation\n\nOpen your Terminal/Command Line. Navigate to the directory where your version will live. Type in the following:\n\n```\n$ git clone https://github.com/JonathanYiv/enumerable_methods.git\n$ cd enumerable_methods\n$ irb\n$ load \"lib/enumerable_methods.rb\"\n```\n\nThis will load an irb (interactive ruby shell) session with the newly implemented methods for use.\nTo exit the irb session, type:\n\n```ruby\n\u003e quit\n```\n\n## Pre-Project Thoughts\n\nOne thing I want to get out of this specifically is a better understanding of blocks and yielding.\n\n## Post-Project Thoughts\n1. If you look at the source code, you'll see two versions of #my_select, with one commented out. The commented out one is one that did not use #my_each to help build the other methods. Everything onward builds on #my_each. This is because when you include the enumerables module in your own class, you can override the #each method to teach it how to traverse your new class, and since all the other methods are built using #each, you have access to the full functionality of the enumerables module.\n\n2. I developed a much stronger understanding of yielding and blocks. I believe the only fundamental concept in Ruby that I need to practice/comprehend more is lambdas and Methods.\n\n3. In this [Odin follow-up project](https://www.theodinproject.com/courses/ruby-programming/lessons/testing-ruby): \n\n\t1. I came back to this project and integrated testing. After implementing testing in my [Caesar Cipher Project](https://github.com/JonathanYiv/caesar_cipher) and this one, I am feeling a little bit more confident with basic unit tests. I will definitely try to integrate them into my future development workflow.\n\n\t2. I am wary of using mocks and stubs going forward as I didn't fully comprehend their usage. The next component of this project will have me make use of them, so hopefully I understand them through practice!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanyiv%2Fenumerable_methods","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonathanyiv%2Fenumerable_methods","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanyiv%2Fenumerable_methods/lists"}