https://github.com/alejandroq12/enumerable-ruby
This project shows a custom Ruby class, MyList, and a module, MyEnumerable, to simulate functionality of some built-in Enumerable methods. It provides a practical understanding of how classes, modules, and enumerable methods interact in Ruby.
https://github.com/alejandroq12/enumerable-ruby
Last synced: 15 days ago
JSON representation
This project shows a custom Ruby class, MyList, and a module, MyEnumerable, to simulate functionality of some built-in Enumerable methods. It provides a practical understanding of how classes, modules, and enumerable methods interact in Ruby.
- Host: GitHub
- URL: https://github.com/alejandroq12/enumerable-ruby
- Owner: Alejandroq12
- License: mit
- Created: 2023-06-15T16:25:57.000Z (almost 2 years ago)
- Default Branch: dev
- Last Pushed: 2023-06-15T22:34:01.000Z (almost 2 years ago)
- Last Synced: 2025-03-28T23:11:18.572Z (about 1 month ago)
- Language: Ruby
- Homepage:
- Size: 137 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Enumerables
![]()
Enumerables
# 📗 Table of Contents- [📗 Table of Contents](#-table-of-contents)
- [📖 Enumerables Enumerables](#-enumerables-enumerables)
- [🛠 Built With ](#-built-with-)
- [Tech Stack ](#tech-stack-)
- [Key Features ](#key-features-)
- [💻 Getting Started ](#-getting-started-)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Install](#install)
- [Usage](#usage)
- [Run tests](#run-tests)
- [Deployment](#deployment)
- [👥 Authors ](#-authors-)
- [🔭 Future Features ](#-future-features-)
- [🤝 Contributing ](#-contributing-)
- [📝 License ](#-license-)# 📖 Enumerables Enumerables
This project shows a custom Ruby class, MyList, and a module, MyEnumerable, to simulate functionality of some built-in Enumerable methods. It provides a practical understanding of how classes, modules, and enumerable methods interact in Ruby.
Backend
### Key Features
- **Custom Class and Module:** Implementation of a custom Ruby class, `MyList`, and a module, `MyEnumerable`.
- **Custom Enumerable Methods:** `MyEnumerable` module mimics the functionality of Ruby's built-in Enumerable methods `#all?`, `#any?`, and `#filter`.
- **Iterable Custom Class:** Instances of `MyList` are iterable with the custom enumerable methods, thanks to an `#each` method in the `MyList` class.
- **Understanding Ruby Internals:** The project offers practical insights into the behavior of Ruby Enumerable methods.
- **Test Cases:** Test cases are provided to validate the functionality of the custom enumerable methods.
To get a local copy up and running, follow these steps.
### Prerequisites
In order to run this project you need:
[Install Ruby](https://www.ruby-lang.org/en/documentation/installation/)
### Setup
```sh
cd my-folder
git clone https://github.com/Alejandroq12/enumerable-ruby.git
```
### Install
This project does not require additional dependencies, just Ruby interpreter. However, it uses RuboCop as a linter and you should set it up as well.
```sh
bundle install
```
### Usage
To run the project, navigate to the project directory and execute the following command:
```sh
ruby my_list.rb
```
### Run tests
To run tests, run the following command:
Run the following command
```sh
rubocop
```
### Deployment
You can deploy this project using:
Not available at the moment.
👤 **Santiago Munoz**
- GitHub: [@smunoz](https://github.com/smunoz1988)
- Twitter: [@twitterhandle](https://twitter.com/Santiag24209785)
- LinkedIn: [LinkedIn](https://www.linkedin.com/in/santiago-munoz-0b2b1a260)
👤 **Julio Quezada**
- GitHub: [Alejandroq12](https://github.com/Alejandroq12)
- Twitter: [@JulioAle54](https://twitter.com/JulioAle54)
- LinkedIn: [Julio Quezada](https://www.linkedin.com/in/quezadajulio/)
- **We will add a GUI.**
Contributions, issues, and feature requests are welcome!
This project is [MIT](./LICENSE) licensed.