{"id":18049583,"url":"https://github.com/iacobson/odin8-ruby-advanced-building_blocks","last_synced_at":"2025-10-03T18:16:13.727Z","repository":{"id":28101001,"uuid":"31599259","full_name":"iacobson/Odin8-Ruby-Advanced-Building_Blocks","owner":"iacobson","description":null,"archived":false,"fork":false,"pushed_at":"2015-03-04T15:03:26.000Z","size":136,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T02:36:55.136Z","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":"learnstreet-dev/learnstreet","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iacobson.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":"2015-03-03T13:18:28.000Z","updated_at":"2015-03-04T15:03:26.000Z","dependencies_parsed_at":"2022-09-02T12:10:55.477Z","dependency_job_id":null,"html_url":"https://github.com/iacobson/Odin8-Ruby-Advanced-Building_Blocks","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/iacobson%2FOdin8-Ruby-Advanced-Building_Blocks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iacobson%2FOdin8-Ruby-Advanced-Building_Blocks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iacobson%2FOdin8-Ruby-Advanced-Building_Blocks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iacobson%2FOdin8-Ruby-Advanced-Building_Blocks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iacobson","download_url":"https://codeload.github.com/iacobson/Odin8-Ruby-Advanced-Building_Blocks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247294567,"owners_count":20915341,"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-30T21:08:10.388Z","updated_at":"2025-10-03T18:16:08.690Z","avatar_url":"https://github.com/iacobson.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Odin8-Ruby-Advanced-Building_Blocks\nOdin Project ruby assignment:\nhttp://www.theodinproject.com/ruby-programming/advanced-building-blocks?ref=lnav\n\n## 1. Bubble sort\n1.1 Build a method `#bubble_sort` that takes an array and returns a sorted array. It must use the bubble sort methodology\n1.2 Create a similar method called `#bubble_sort_by` which sorts an array but accepts a block. The block should take two arguments which represent the two elements currently being compared.\n\n## 2. Enumerable Methods\nAdd your new methods onto the existing `Enumerable` module.\n- Create `#my_each`, a method that is identical to `#each` but (obviously) does not use `#each`. You'll need to remember the yield statement. Make sure it returns the same thing as `#each` as well.\n- Create `#my_each_with_index` in the same way.\n- Create `#my_select` in the same way, though you may use `#my_each` in your definition (but not `#each`).\n- Create `#my_all?` (continue as above)\n- Create `#my_any?`\n- Create `#my_none?`\n- Create `#my_count`\n- Create `#my_map`\n- Create `#my_inject`\n- Test your `#my_inject` by creating a method called #multiply_els which multiplies all the elements of the array together by using `#my_inject`, e.g. `multiply_els([2,4,5]) #=\u003e 40`\n- Modify your `#my_map` method to take a proc instead.\n- Modify your `#my_map` method to take either a proc or a block, executing the block only if both are supplied (in which case it would execute both the block AND the proc).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiacobson%2Fodin8-ruby-advanced-building_blocks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiacobson%2Fodin8-ruby-advanced-building_blocks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiacobson%2Fodin8-ruby-advanced-building_blocks/lists"}