{"id":16547524,"url":"https://github.com/waiting-for-dev/rubyconf21_web_pipe","last_synced_at":"2026-03-07T17:05:51.841Z","repository":{"id":66166837,"uuid":"413723611","full_name":"waiting-for-dev/rubyconf21_web_pipe","owner":"waiting-for-dev","description":"Slides examples for RubyConf21 talk \"Harness the power of functions to build composable rack applications\"","archived":false,"fork":false,"pushed_at":"2021-10-05T08:03:02.000Z","size":12084,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-04T10:25:33.044Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/waiting-for-dev.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":"2021-10-05T07:52:58.000Z","updated_at":"2021-10-28T19:56:24.000Z","dependencies_parsed_at":"2023-04-28T03:37:47.156Z","dependency_job_id":null,"html_url":"https://github.com/waiting-for-dev/rubyconf21_web_pipe","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/waiting-for-dev/rubyconf21_web_pipe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waiting-for-dev%2Frubyconf21_web_pipe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waiting-for-dev%2Frubyconf21_web_pipe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waiting-for-dev%2Frubyconf21_web_pipe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waiting-for-dev%2Frubyconf21_web_pipe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/waiting-for-dev","download_url":"https://codeload.github.com/waiting-for-dev/rubyconf21_web_pipe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waiting-for-dev%2Frubyconf21_web_pipe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30222545,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T17:00:40.062Z","status":"ssl_error","status_checked_at":"2026-03-07T17:00:39.026Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-10-11T19:14:37.243Z","updated_at":"2026-03-07T17:05:51.822Z","avatar_url":"https://github.com/waiting-for-dev.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# HARNESS THE POWER OF FUNCTIONS TO BUILD COMPOSABLE RACK APPLICATIONS\n\nWhat's a function? A function is a black box that takes an input and returns an\noutput. Similarly, from the outside, HTTP requests take some request data to\ngive it back as a response. Functions may compose if the output of one matches\nthe input of the next one. web_pipe helps you build rack applications by\nplugging small process units that progressively create a response from a given\nrequest.\n\n## Marc Busqué\n\nI'm a software developer with more than 13 years of experience. I've been\nworking in Ruby for the most part. Still, I've also programmed, whether\nprofessionally or for personal projects, in Elixir and Haskell. The experience\nwith functional programming and the flexibility and expressiveness of Ruby\npushes me to try to blend the latter to adopt new paradigms.\n\nBirds of a feather flock together, so I eventually joined dry-rb \u0026 hanami\norganizations. Currently, I'm helping build Hanami 2.\n\n## Example application\n\nFor the example To-Do Hanami application, visit:\n\nhttps://github.com/waiting-for-dev/hanami_2_web_pipe_todo_app\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaiting-for-dev%2Frubyconf21_web_pipe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwaiting-for-dev%2Frubyconf21_web_pipe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaiting-for-dev%2Frubyconf21_web_pipe/lists"}