{"id":20148,"name":"Bike Index","description":"Bike registration that works: online, powerful, free.","url":"https://github.com/bikeindex/bike_index","last_synced_at":"2026-08-12T13:01:30.118Z","repository":{"id":9716786,"uuid":"11671912","full_name":"bikeindex/bike_index","owner":"bikeindex","description":"All the code for Bike Index, because we love you","archived":false,"fork":false,"pushed_at":"2026-08-08T00:09:46.000Z","size":259419,"stargazers_count":308,"open_issues_count":26,"forks_count":76,"subscribers_count":14,"default_branch":"main","last_synced_at":"2026-08-08T02:58:21.228Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://bikeindex.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bikeindex.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":".github/copilot-instructions.md","dco":null,"cla":null,"disclosure":null},"funding":{"github":"bikeindex","custom":"https://bikeindex.org/donate"}},"created_at":"2013-07-25T21:52:26.000Z","updated_at":"2026-08-07T23:39:51.000Z","dependencies_parsed_at":"2026-08-07T22:25:11.355Z","dependency_job_id":null,"html_url":"https://github.com/bikeindex/bike_index","commit_stats":{"total_commits":4108,"total_committers":37,"mean_commits":"111.02702702702703","dds":"0.14654333008763387","last_synced_commit":"e4245444296b3dd84e8386c23c6056f4db3c4949"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/bikeindex/bike_index","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bikeindex%2Fbike_index","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bikeindex%2Fbike_index/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bikeindex%2Fbike_index/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bikeindex%2Fbike_index/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bikeindex","download_url":"https://codeload.github.com/bikeindex/bike_index/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bikeindex%2Fbike_index/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36392052,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-08T02:00:08.763Z","response_time":96,"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"}},"owner":{"login":"bikeindex","name":"Bike Index","uuid":"4251544","kind":"organization","description":null,"email":null,"website":"https://bikeindex.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/4251544?v=4","repositories_count":17,"last_synced_at":"2024-04-14T19:14:24.822Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/bikeindex","funding_links":[],"total_stars":375,"followers":10,"following":0,"created_at":"2022-11-05T03:51:55.657Z","updated_at":"2024-04-14T19:14:28.852Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bikeindex","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bikeindex/repositories"},"packages":[],"commits":{"id":1254140,"full_name":"bikeindex/bike_index","default_branch":"main","total_commits":5467,"total_committers":39,"total_bot_commits":163,"total_bot_committers":3,"mean_commits":140.17948717948718,"dds":0.1423083958295226,"past_year_total_commits":1102,"past_year_total_committers":7,"past_year_total_bot_commits":151,"past_year_total_bot_committers":3,"past_year_mean_commits":157.42857142857142,"past_year_dds":0.15063520871143377,"last_synced_at":"2026-08-10T13:48:47.876Z","last_synced_commit":"be50ac8be4e12f00a329779329f24960f5dbda7c","created_at":"2023-03-27T10:58:49.585Z","updated_at":"2026-08-10T13:48:47.488Z","committers":[{"name":"Seth Herr","email":"seth.william.herr@gmail.com","login":"sethherr","count":4689},{"name":"Jake Romer","email":"4433943+jmromer","login":"jmromer","count":247},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":138},{"name":"Robert Gervais","email":"Robertgervais22@gmail.com","login":"Robertgervais","count":108},{"name":"Jake Romer","email":"jake@bikeindex.org","login":null,"count":91},{"name":"Tim Kelly","email":"timlkelly","login":"timlkelly","count":21},{"name":"github-actions[bot]","email":"41898282+github-actions[bot]","login":"github-actions[bot]","count":18},{"name":"Jake Romer","email":"mail@jakeromer.com","login":null,"count":17},{"name":"Chris Olin","email":"contact@chrisolin.com","login":"realchrisolin","count":13},{"name":"Seyamack Afzali","email":"seyamack@gmail.com","login":"eld120","count":13},{"name":"runt2pb","email":"runt2pb","login":"runt2pb","count":13},{"name":"Andrew Herr","email":"lobsterless@gmail.com","login":"adherr","count":11},{"name":"Geoff Ereth","email":"github@geoffereth.com","login":"gadogado","count":11},{"name":"Jack Alto","email":"384288+aokj4ck","login":"aokj4ck","count":10},{"name":"Will Barrett","email":"will@tallgreentree.com","login":"willbarrett","count":10},{"name":"bikeindex-translations-sync[bot]","email":"292912856+bikeindex-translations-sync[bot]","login":"bikeindex-translations-sync[bot]","count":7},{"name":"G. Torres","email":"gelsey@ombulabs.com","login":"torresga","count":7},{"name":"Patrick D. Kelly","email":"e@pdk.to","login":"pdk","count":6},{"name":"Josh Chernoff","email":"digitalcakestudios@gmail.com","login":"joshchernoff","count":4},{"name":"Andrew Herr","email":"andrew.herr@gmail.com","login":null,"count":4},{"name":"Londerson","email":"londerson@gmail.com","login":"londerson","count":3},{"name":"Steve Piercy","email":"web@stevepiercy.com","login":"stevepiercy","count":3},{"name":"Josh Chernoff","email":"joshc@digitalcak.es","login":null,"count":3},{"name":"Bruno Almeida","email":"wwwbruno","login":"wwwbruno","count":2},{"name":"Grey Baker","email":"greysteil@gmail.com","login":"greysteil","count":2},{"name":"Steven Buccini","email":"stevenbuccini","login":"stevenbuccini","count":2},{"name":"Mateus Pereira","email":"mateus@ombulabs.com","login":"mateusdeap","count":2},{"name":"laraferroni","email":"lara@project529.com","login":"laraferroni","count":1},{"name":"ackime","email":"alex@bikeindex.org","login":"ackime","count":1},{"name":"Amit Kapadia","email":"amit@zooniverse.org","login":null,"count":1},{"name":"Teresa Tarn","email":"tarnelope","login":"tarnelope","count":1},{"name":"Sam Whited","email":"sam@samwhited.com","login":"SamWhited","count":1},{"name":"Kalman Hazins","email":"kalmanh@gmail.com","login":"kalmanh","count":1},{"name":"Godfrey Chan","email":"godfreykfc@gmail.com","login":"chancancode","count":1},{"name":"Florin Popa","email":"popaflorin@protonmail.com","login":"FlorinPopaCodes","count":1},{"name":"Copilot","email":"198982749+Copilot","login":"Copilot","count":1},{"name":"Bryan Purcell","email":"purcebr@gmail.com","login":"purcebr","count":1},{"name":"Ben Sheldon [he/him]","email":"bensheldon@github.com","login":"bensheldon","count":1},{"name":"Andrew Ford","email":"barefootford","login":"barefootford","count":1}],"past_year_committers":[{"name":"Seth Herr","email":"seth.william.herr@gmail.com","login":"sethherr","count":936},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":126},{"name":"github-actions[bot]","email":"41898282+github-actions[bot]","login":"github-actions[bot]","count":18},{"name":"Seyamack Afzali","email":"seyamack@gmail.com","login":"eld120","count":10},{"name":"bikeindex-translations-sync[bot]","email":"292912856+bikeindex-translations-sync[bot]","login":"bikeindex-translations-sync[bot]","count":7},{"name":"Jack Alto","email":"384288+aokj4ck","login":"aokj4ck","count":4},{"name":"Copilot","email":"198982749+Copilot","login":"Copilot","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/bikeindex%2Fbike_index/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-10T00:00:10.517Z","repositories_count":6625689,"commits_count":918472127,"contributors_count":39003860,"owners_count":1330273,"committers_count":3290803,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"bikeindex/bike_index","html_url":"https://github.com/bikeindex/bike_index","last_synced_at":"2026-08-10T22:04:54.449Z","status":null,"issues_count":333,"pull_requests_count":3024,"avg_time_to_close_issue":53515314.597484276,"avg_time_to_close_pull_request":1542978.2464812908,"issues_closed_count":318,"pull_requests_closed_count":2913,"pull_request_authors_count":49,"issue_authors_count":50,"avg_comments_per_issue":1.3753753753753755,"avg_comments_per_pull_request":0.2923280423280423,"merged_pull_requests_count":2681,"bot_issues_count":0,"bot_pull_requests_count":60,"past_year_issues_count":3,"past_year_pull_requests_count":190,"past_year_avg_time_to_close_issue":55440.0,"past_year_avg_time_to_close_pull_request":90386.20833333333,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":144,"past_year_pull_request_authors_count":6,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.6666666666666666,"past_year_avg_comments_per_pull_request":0.3473684210526316,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":21,"past_year_merged_pull_requests_count":138,"created_at":"2023-05-09T10:35:34.286Z","updated_at":"2026-08-12T10:58:49.180Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/bikeindex%2Fbike_index","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/bikeindex%2Fbike_index/issues","issue_labels_count":{"Ruby":52,"Enhancement":45,"Small":25,"Medium":19,"bug":19,"Priority":11,"Javascript":10,"Large":6,"Authentication":5,"Visual":4},"pull_request_labels_count":{"dependencies":59,"Ruby":48,"Javascript":7,"github_actions":3,"security":1},"issue_author_associations_count":{"MEMBER":187,"CONTRIBUTOR":57,"NONE":54,"COLLABORATOR":35},"pull_request_author_associations_count":{"MEMBER":2235,"CONTRIBUTOR":722,"COLLABORATOR":37,"NONE":30},"issue_authors":{"sethherr":185,"jmromer":22,"runt2pb":20,"appsforartists":14,"moleon":13,"realchrisolin":12,"joshchernoff":10,"adherr":4,"stevepiercy":4,"braaar":3,"blske101":2,"timlkelly":2,"pqhf5kd":2,"stevevance":2,"jmcelroy5":2,"wonderificdave":2,"encg":1,"justinskolnick":1,"denraf":1,"grimreaper":1,"x41x41x41":1,"one1speed":1,"FlipEnergy":1,"catdoch":1,"stevenbuccini":1,"dannygale":1,"MrSwitch":1,"pkaeding":1,"barefootford":1,"jakebruemmer":1,"josephrowe":1,"hanochyeung":1,"MaggieFero":1,"araichev":1,"willbarrett":1,"purcebr":1,"jackbravo":1,"Jack11111":1,"pdk":1,"biskit1":1,"fernandesnikhil":1,"smyers119":1,"coreyarnold":1,"bhance":1,"arthurlutz":1,"thoran":1,"eld120":1,"aokj4ck":1,"interstateone":1,"ajmarkow":1},"pull_request_authors":{"sethherr":2220,"jmromer":418,"Robertgervais":129,"dependabot[bot]":59,"torresga":22,"willbarrett":18,"aokj4ck":16,"timlkelly":15,"realchrisolin":14,"gadogado":13,"runt2pb":12,"eld120":11,"adherr":10,"joshchernoff":6,"londerson":5,"mateusdeap":4,"fbuys":4,"stevenbuccini":4,"stevepiercy":3,"laraferroni":3,"pdk":3,"bensheldon":2,"kleberbritomoreira10":2,"greysteil":2,"wwwbruno":2,"mftaff":2,"Copilot":2,"SamWhited":2,"kapadia":1,"FlorinPopaCodes":1,"tarnelope":1,"dependabot-preview[bot]":1,"ryanhallcs":1,"usmanasif":1,"chancancode":1,"chiliec":1,"ilalkovski":1,"kalmanh":1,"barefootford":1,"Paul-Hess":1,"planet-argonbot":1,"nerdofthunder":1,"0xsolid22":1,"purcebr":1,"jonatasdaniel":1,"j-calvert":1,"ackime":1,"hahmed":1,"dsgn1graphics":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-12T00:00:07.634Z","repositories_count":16025445,"issues_count":40540647,"pull_requests_count":131079050,"authors_count":11439351,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{"bug":1,"Javascript":1},"past_year_pull_request_labels_count":{"dependencies":21,"Ruby":18,"github_actions":3},"past_year_issue_author_associations_count":{"MEMBER":2,"NONE":1},"past_year_pull_request_author_associations_count":{"MEMBER":155,"CONTRIBUTOR":21,"COLLABORATOR":9,"NONE":2},"past_year_issue_authors":{"sethherr":2,"MaggieFero":1},"past_year_pull_request_authors":{"sethherr":155,"dependabot[bot]":21,"eld120":6,"aokj4ck":3,"Copilot":1,"j-calvert":1},"maintainers":[{"login":"sethherr","count":2405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethherr"},{"login":"runt2pb","count":32,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/runt2pb"},{"login":"timlkelly","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/timlkelly"},{"login":"aokj4ck","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aokj4ck"},{"login":"moleon","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/moleon"},{"login":"eld120","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eld120"}],"active_maintainers":[{"login":"sethherr","count":157,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethherr"},{"login":"eld120","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eld120"},{"login":"aokj4ck","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aokj4ck"}]},"events":{"total":{"DeleteEvent":702,"PullRequestEvent":827,"ForkEvent":5,"IssuesEvent":34,"WatchEvent":21,"IssueCommentEvent":55,"PushEvent":3231,"PullRequestReviewEvent":18,"PullRequestReviewCommentEvent":17,"CreateEvent":674},"last_year":{"DeleteEvent":444,"PullRequestEvent":326,"IssuesEvent":32,"WatchEvent":1,"IssueCommentEvent":29,"PushEvent":2078,"PullRequestReviewCommentEvent":10,"PullRequestReviewEvent":11,"CreateEvent":427}},"keywords":[],"dependencies":[{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2023-01-13T16:24:07.663Z","updated_at":"2023-01-13T16:24:07.663Z","repository_link":"https://github.com/bikeindex/bike_index/blob/main/Gemfile","dependencies":[{"id":6890528308,"package_name":"rack","ecosystem":"rubygems","requirements":"= 2.2.3","direct":true,"kind":"runtime","optional":false},{"id":6890528309,"package_name":"rails","ecosystem":"rubygems","requirements":"~\u003e 6.0","direct":true,"kind":"runtime","optional":false},{"id":6890528310,"package_name":"puma","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528311,"package_name":"bcrypt","ecosystem":"rubygems","requirements":"~\u003e 3.1.7","direct":true,"kind":"runtime","optional":false},{"id":6890528312,"package_name":"bootsnap","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528313,"package_name":"pg","ecosystem":"rubygems","requirements":"~\u003e 1.0","direct":true,"kind":"runtime","optional":false},{"id":6890528314,"package_name":"paranoia","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528315,"package_name":"pg_search","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528316,"package_name":"fast_blank","ecosystem":"rubygems","requirements":"~\u003e 1.0","direct":true,"kind":"runtime","optional":false},{"id":6890528317,"package_name":"active_model_serializers","ecosystem":"rubygems","requirements":"~\u003e 0.8.3","direct":true,"kind":"runtime","optional":false},{"id":6890528318,"package_name":"oj","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528319,"package_name":"multi_json","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528320,"package_name":"flipper","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528321,"package_name":"flipper-active_record","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528322,"package_name":"flipper-ui","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528323,"package_name":"i18n-country-translations","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528324,"package_name":"i18n-js","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528325,"package_name":"rails-i18n","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528326,"package_name":"translation","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528327,"package_name":"redis","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528328,"package_name":"sidekiq","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528329,"package_name":"sidekiq-failures","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528330,"package_name":"soulheart","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528331,"package_name":"eventmachine","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528332,"package_name":"faraday_middleware","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528333,"package_name":"geocoder","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528334,"package_name":"hamlit","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528335,"package_name":"httparty","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528336,"package_name":"kaminari","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528337,"package_name":"kramdown","ecosystem":"rubygems","requirements":"= 2.3.1","direct":true,"kind":"runtime","optional":false},{"id":6890528338,"package_name":"kramdown-parser-gfm","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528339,"package_name":"money-rails","ecosystem":"rubygems","requirements":"~\u003e 1.11","direct":true,"kind":"runtime","optional":false},{"id":6890528340,"package_name":"omniauth","ecosystem":"rubygems","requirements":"~\u003e 1.6","direct":true,"kind":"runtime","optional":false},{"id":6890528341,"package_name":"omniauth-facebook","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528342,"package_name":"omniauth-globalid","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528343,"package_name":"omniauth-strava","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528344,"package_name":"omniauth-twitter","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528345,"package_name":"sitemap_generator","ecosystem":"rubygems","requirements":"~\u003e 6","direct":true,"kind":"runtime","optional":false},{"id":6890528346,"package_name":"mini_magick","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528347,"package_name":"carrierwave","ecosystem":"rubygems","requirements":"~\u003e 0.11.2","direct":true,"kind":"runtime","optional":false},{"id":6890528348,"package_name":"carrierwave_backgrounder","ecosystem":"rubygems","requirements":"~\u003e 0.4.2","direct":true,"kind":"runtime","optional":false},{"id":6890528349,"package_name":"axlsx","ecosystem":"rubygems","requirements":"~\u003e 3.0.0.pre","direct":true,"kind":"runtime","optional":false},{"id":6890528350,"package_name":"rqrcode","ecosystem":"rubygems","requirements":"= 0.10.1","direct":true,"kind":"runtime","optional":false},{"id":6890528351,"package_name":"twitter","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528352,"package_name":"twilio-ruby","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528353,"package_name":"stripe","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528354,"package_name":"fog-aws","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528355,"package_name":"postmark-rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528356,"package_name":"MailchimpMarketing","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528357,"package_name":"facebookbusiness","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528365,"package_name":"api-pagination","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528367,"package_name":"doorkeeper","ecosystem":"rubygems","requirements":"~\u003e 5.2.5","direct":true,"kind":"runtime","optional":false},{"id":6890528368,"package_name":"doorkeeper-i18n","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528369,"package_name":"grape","ecosystem":"rubygems","requirements":"~\u003e 1.3.0","direct":true,"kind":"runtime","optional":false},{"id":6890528370,"package_name":"grape-swagger","ecosystem":"rubygems","requirements":"= 0.11","direct":true,"kind":"runtime","optional":false},{"id":6890528371,"package_name":"hashie","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528372,"package_name":"swagger-ui_rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528373,"package_name":"rack-throttle","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528374,"package_name":"secure_headers","ecosystem":"rubygems","requirements":"~\u003e 2.5.0","direct":true,"kind":"runtime","optional":false},{"id":6890528375,"package_name":"jquery-rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528376,"package_name":"bootstrap","ecosystem":"rubygems","requirements":"= 4.0.0.alpha4","direct":true,"kind":"runtime","optional":false},{"id":6890528377,"package_name":"chartkick","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528378,"package_name":"coderay","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528379,"package_name":"coffee-rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528380,"package_name":"groupdate","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528381,"package_name":"premailer-rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528382,"package_name":"sass-rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528383,"package_name":"sprockets","ecosystem":"rubygems","requirements":"= 4.0.0","direct":true,"kind":"runtime","optional":false},{"id":6890528384,"package_name":"sprockets-rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528385,"package_name":"uglifier","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528386,"package_name":"webpacker","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528387,"package_name":"flamegraph","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528388,"package_name":"memory_profiler","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528389,"package_name":"rack-mini-profiler","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528390,"package_name":"stackprof","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528391,"package_name":"responders","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528392,"package_name":"thor","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528393,"package_name":"rails-assets-jquery","ecosystem":"rubygems","requirements":"~\u003e 3.4.1","direct":true,"kind":"runtime","optional":false},{"id":6890528394,"package_name":"rails-assets-jquery.dirtyforms","ecosystem":"rubygems","requirements":"~\u003e 2.0.0","direct":true,"kind":"runtime","optional":false},{"id":6890528395,"package_name":"rails-assets-lodash","ecosystem":"rubygems","requirements":"~\u003e 4.9.0","direct":true,"kind":"runtime","optional":false},{"id":6890528396,"package_name":"rails-assets-mailcheck","ecosystem":"rubygems","requirements":"~\u003e 1.1.2","direct":true,"kind":"runtime","optional":false},{"id":6890528397,"package_name":"rails-assets-moment","ecosystem":"rubygems","requirements":"~\u003e 2.18.1","direct":true,"kind":"runtime","optional":false},{"id":6890528398,"package_name":"rails-assets-moment-timezone","ecosystem":"rubygems","requirements":"~\u003e 0.5.13","direct":true,"kind":"runtime","optional":false},{"id":6890528399,"package_name":"rails-assets-mustache","ecosystem":"rubygems","requirements":"~\u003e 2.2.1","direct":true,"kind":"runtime","optional":false},{"id":6890528400,"package_name":"rails-assets-select2","ecosystem":"rubygems","requirements":"~\u003e 4.0.3","direct":true,"kind":"runtime","optional":false},{"id":6890528401,"package_name":"rails-assets-selectize","ecosystem":"rubygems","requirements":"~\u003e 0.12.1","direct":true,"kind":"runtime","optional":false},{"id":6890528402,"package_name":"rails-assets-Stickyfill","ecosystem":"rubygems","requirements":"~\u003e 1.1.3","direct":true,"kind":"runtime","optional":false},{"id":6890528427,"package_name":"rails-assets-tether","ecosystem":"rubygems","requirements":"~\u003e 1.1.0","direct":true,"kind":"runtime","optional":false},{"id":6890528428,"package_name":"rails-assets-waypoints","ecosystem":"rubygems","requirements":"~\u003e 3.1.1","direct":true,"kind":"runtime","optional":false},{"id":6890528429,"package_name":"grape_logging","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528430,"package_name":"lograge","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528431,"package_name":"logstash-event","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528432,"package_name":"skylight","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528433,"package_name":"honeybadger","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":6890528434,"package_name":"bullet","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528435,"package_name":"guard","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528436,"package_name":"guard-rspec","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528437,"package_name":"letter_opener","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528438,"package_name":"rerun","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528439,"package_name":"terminal-notifier","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528440,"package_name":"database_cleaner","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528441,"package_name":"dotenv-rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528442,"package_name":"foreman","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528443,"package_name":"parallel_tests","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528444,"package_name":"pry-byebug","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528445,"package_name":"pry-rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528446,"package_name":"rb-fsevent","ecosystem":"rubygems","requirements":"~\u003e 0.10.3","direct":true,"kind":"development","optional":false},{"id":6890528447,"package_name":"rspec","ecosystem":"rubygems","requirements":"~\u003e 3.4","direct":true,"kind":"development","optional":false},{"id":6890528448,"package_name":"rspec-rails","ecosystem":"rubygems","requirements":"~\u003e 4.0","direct":true,"kind":"development","optional":false},{"id":6890528449,"package_name":"rspec_junit_formatter","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528450,"package_name":"standard","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528451,"package_name":"i18n-tasks","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528452,"package_name":"i18n_generators","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528453,"package_name":"factory_bot_rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528454,"package_name":"rails-controller-testing","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528455,"package_name":"rspec-sidekiq","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528456,"package_name":"simplecov","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528457,"package_name":"vcr","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":6890528458,"package_name":"webmock","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"rubygems","filepath":"Gemfile.lock","sha":null,"kind":"lockfile","created_at":"2023-01-13T16:24:08.133Z","updated_at":"2023-01-13T16:24:08.133Z","repository_link":"https://github.com/bikeindex/bike_index/blob/main/Gemfile.lock","dependencies":[{"id":6890528730,"package_name":"swagger-ui_rails","ecosystem":"rubygems","requirements":"0.1.7","direct":false,"kind":"runtime","optional":false},{"id":6890528731,"package_name":"facebookbusiness","ecosystem":"rubygems","requirements":"0.12.0.1","direct":false,"kind":"runtime","optional":false},{"id":6890528732,"package_name":"MailchimpMarketing","ecosystem":"rubygems","requirements":"3.0.48","direct":false,"kind":"runtime","optional":false},{"id":6890528733,"package_name":"soulheart","ecosystem":"rubygems","requirements":"0.4.0","direct":false,"kind":"runtime","optional":false},{"id":6890528734,"package_name":"rails-assets-Stickyfill","ecosystem":"rubygems","requirements":"1.1.4","direct":false,"kind":"runtime","optional":false},{"id":6890528735,"package_name":"rails-assets-jquery","ecosystem":"rubygems","requirements":"3.4.1","direct":false,"kind":"runtime","optional":false},{"id":6890528736,"package_name":"rails-assets-jquery.dirtyforms","ecosystem":"rubygems","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":6890528737,"package_name":"rails-assets-lodash","ecosystem":"rubygems","requirements":"4.9.0","direct":false,"kind":"runtime","optional":false},{"id":6890528738,"package_name":"rails-assets-mailcheck","ecosystem":"rubygems","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":6890528739,"package_name":"rails-assets-microplugin","ecosystem":"rubygems","requirements":"0.0.3","direct":false,"kind":"runtime","optional":false},{"id":6890528740,"package_name":"rails-assets-moment","ecosystem":"rubygems","requirements":"2.18.1","direct":false,"kind":"runtime","optional":false},{"id":6890528741,"package_name":"rails-assets-moment-timezone","ecosystem":"rubygems","requirements":"0.5.25","direct":false,"kind":"runtime","optional":false},{"id":6890528742,"package_name":"rails-assets-mustache","ecosystem":"rubygems","requirements":"2.2.1","direct":false,"kind":"runtime","optional":false},{"id":6890528743,"package_name":"rails-assets-select2","ecosystem":"rubygems","requirements":"4.0.8","direct":false,"kind":"runtime","optional":false},{"id":6890528744,"package_name":"rails-assets-selectize","ecosystem":"rubygems","requirements":"0.12.6","direct":false,"kind":"runtime","optional":false},{"id":6890528745,"package_name":"rails-assets-sifter","ecosystem":"rubygems","requirements":"0.5.3","direct":false,"kind":"runtime","optional":false},{"id":6890528746,"package_name":"rails-assets-tether","ecosystem":"rubygems","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":6890528747,"package_name":"rails-assets-waypoints","ecosystem":"rubygems","requirements":"3.1.1","direct":false,"kind":"runtime","optional":false},{"id":6890528748,"package_name":"actioncable","ecosystem":"rubygems","requirements":"6.1.6.1","direct":false,"kind":"runtime","optional":false},{"id":6890528749,"package_name":"actionmailbox","ecosystem":"rubygems","requirements":"6.1.6.1","direct":false,"kind":"runtime","optional":false},{"id":6890528750,"package_name":"actionmailer","ecosystem":"rubygems","requirements":"6.1.6.1","direct":false,"kind":"runtime","optional":false},{"id":6890528751,"package_name":"actionpack","ecosystem":"rubygems","requirements":"6.1.6.1","direct":false,"kind":"runtime","optional":false},{"id":6890528752,"package_name":"actiontext","ecosystem":"rubygems","requirements":"6.1.6.1","direct":false,"kind":"runtime","optional":false},{"id":6890528753,"package_name":"actionview","ecosystem":"rubygems","requirements":"6.1.6.1","direct":false,"kind":"runtime","optional":false},{"id":6890528754,"package_name":"active_model_serializers","ecosystem":"rubygems","requirements":"0.8.4","direct":false,"kind":"runtime","optional":false},{"id":6890528755,"package_name":"activejob","ecosystem":"rubygems","requirements":"6.1.6.1","direct":false,"kind":"runtime","optional":false},{"id":6890528756,"package_name":"activemodel","ecosystem":"rubygems","requirements":"6.1.6.1","direct":false,"kind":"runtime","optional":false},{"id":6890528757,"package_name":"activerecord","ecosystem":"rubygems","requirements":"6.1.6.1","direct":false,"kind":"runtime","optional":false},{"id":6890528758,"package_name":"activestorage","ecosystem":"rubygems","requirements":"6.1.6.1","direct":false,"kind":"runtime","optional":false},{"id":6890528759,"package_name":"activesupport","ecosystem":"rubygems","requirements":"6.1.6.1","direct":false,"kind":"runtime","optional":false},{"id":6890528760,"package_name":"addressable","ecosystem":"rubygems","requirements":"2.8.0","direct":false,"kind":"runtime","optional":false},{"id":6890528761,"package_name":"api-pagination","ecosystem":"rubygems","requirements":"5.0.0","direct":false,"kind":"runtime","optional":false},{"id":6890528762,"package_name":"ast","ecosystem":"rubygems","requirements":"2.4.2","direct":false,"kind":"runtime","optional":false},{"id":6890528763,"package_name":"autoprefixer-rails","ecosystem":"rubygems","requirements":"9.7.3","direct":false,"kind":"runtime","optional":false},{"id":6890528764,"package_name":"axlsx","ecosystem":"rubygems","requirements":"3.0.0.pre","direct":false,"kind":"runtime","optional":false},{"id":6890528765,"package_name":"bcrypt","ecosystem":"rubygems","requirements":"3.1.13","direct":false,"kind":"runtime","optional":false},{"id":6890528766,"package_name":"bootsnap","ecosystem":"rubygems","requirements":"1.4.5","direct":false,"kind":"runtime","optional":false},{"id":6890528767,"package_name":"bootstrap","ecosystem":"rubygems","requirements":"4.0.0.alpha4","direct":false,"kind":"runtime","optional":false},{"id":6890528768,"package_name":"buftok","ecosystem":"rubygems","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":6890528769,"package_name":"builder","ecosystem":"rubygems","requirements":"3.2.4","direct":false,"kind":"runtime","optional":false},{"id":6890528770,"package_name":"bullet","ecosystem":"rubygems","requirements":"7.0.1","direct":false,"kind":"runtime","optional":false},{"id":6890528771,"package_name":"byebug","ecosystem":"rubygems","requirements":"11.1.3","direct":false,"kind":"runtime","optional":false},{"id":6890528772,"package_name":"carrierwave","ecosystem":"rubygems","requirements":"0.11.2","direct":false,"kind":"runtime","optional":false},{"id":6890528773,"package_name":"carrierwave_backgrounder","ecosystem":"rubygems","requirements":"0.4.2","direct":false,"kind":"runtime","optional":false},{"id":6890528774,"package_name":"chartkick","ecosystem":"rubygems","requirements":"4.1.3","direct":false,"kind":"runtime","optional":false},{"id":6890528775,"package_name":"chunky_png","ecosystem":"rubygems","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":6890528776,"package_name":"coderay","ecosystem":"rubygems","requirements":"1.1.3","direct":false,"kind":"runtime","optional":false},{"id":6890528777,"package_name":"coffee-rails","ecosystem":"rubygems","requirements":"4.2.2","direct":false,"kind":"runtime","optional":false},{"id":6890528778,"package_name":"coffee-script","ecosystem":"rubygems","requirements":"2.4.1","direct":false,"kind":"runtime","optional":false},{"id":6890528779,"package_name":"coffee-script-source","ecosystem":"rubygems","requirements":"1.12.2","direct":false,"kind":"runtime","optional":false},{"id":6890528780,"package_name":"concurrent-ruby","ecosystem":"rubygems","requirements":"1.1.10","direct":false,"kind":"runtime","optional":false},{"id":6890528781,"package_name":"connection_pool","ecosystem":"rubygems","requirements":"2.2.5","direct":false,"kind":"runtime","optional":false},{"id":6890528782,"package_name":"countries","ecosystem":"rubygems","requirements":"3.1.0","direct":false,"kind":"runtime","optional":false},{"id":6890528783,"package_name":"crack","ecosystem":"rubygems","requirements":"0.4.3","direct":false,"kind":"runtime","optional":false},{"id":6890528784,"package_name":"crass","ecosystem":"rubygems","requirements":"1.0.6","direct":false,"kind":"runtime","optional":false},{"id":6890528785,"package_name":"css_parser","ecosystem":"rubygems","requirements":"1.7.1","direct":false,"kind":"runtime","optional":false},{"id":6890528786,"package_name":"database_cleaner","ecosystem":"rubygems","requirements":"1.7.0","direct":false,"kind":"runtime","optional":false},{"id":6890528787,"package_name":"diff-lcs","ecosystem":"rubygems","requirements":"1.4.4","direct":false,"kind":"runtime","optional":false},{"id":6890528788,"package_name":"docile","ecosystem":"rubygems","requirements":"1.3.2","direct":false,"kind":"runtime","optional":false},{"id":6890528789,"package_name":"domain_name","ecosystem":"rubygems","requirements":"0.5.20190701","direct":false,"kind":"runtime","optional":false},{"id":6890528790,"package_name":"doorkeeper","ecosystem":"rubygems","requirements":"5.2.6","direct":false,"kind":"runtime","optional":false},{"id":6890528791,"package_name":"doorkeeper-i18n","ecosystem":"rubygems","requirements":"5.2.2","direct":false,"kind":"runtime","optional":false},{"id":6890528792,"package_name":"dotenv","ecosystem":"rubygems","requirements":"2.7.6","direct":false,"kind":"runtime","optional":false},{"id":6890528793,"package_name":"dotenv-rails","ecosystem":"rubygems","requirements":"2.7.6","direct":false,"kind":"runtime","optional":false},{"id":6890528794,"package_name":"dry-configurable","ecosystem":"rubygems","requirements":"0.14.0","direct":false,"kind":"runtime","optional":false},{"id":6890528795,"package_name":"dry-container","ecosystem":"rubygems","requirements":"0.9.0","direct":false,"kind":"runtime","optional":false},{"id":6890528796,"package_name":"dry-core","ecosystem":"rubygems","requirements":"0.7.1","direct":false,"kind":"runtime","optional":false},{"id":6890528797,"package_name":"dry-inflector","ecosystem":"rubygems","requirements":"0.2.1","direct":false,"kind":"runtime","optional":false},{"id":6890528798,"package_name":"dry-logic","ecosystem":"rubygems","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":6890528799,"package_name":"dry-types","ecosystem":"rubygems","requirements":"1.5.1","direct":false,"kind":"runtime","optional":false},{"id":6890528800,"package_name":"equalizer","ecosystem":"rubygems","requirements":"0.0.11","direct":false,"kind":"runtime","optional":false},{"id":6890528801,"package_name":"erubi","ecosystem":"rubygems","requirements":"1.10.0","direct":false,"kind":"runtime","optional":false},{"id":6890528802,"package_name":"eventmachine","ecosystem":"rubygems","requirements":"1.2.7","direct":false,"kind":"runtime","optional":false},{"id":6890528803,"package_name":"excon","ecosystem":"rubygems","requirements":"0.76.0","direct":false,"kind":"runtime","optional":false},{"id":6890528804,"package_name":"execjs","ecosystem":"rubygems","requirements":"2.7.0","direct":false,"kind":"runtime","optional":false},{"id":6890528805,"package_name":"factory_bot","ecosystem":"rubygems","requirements":"5.1.1","direct":false,"kind":"runtime","optional":false},{"id":6890528806,"package_name":"factory_bot_rails","ecosystem":"rubygems","requirements":"5.1.1","direct":false,"kind":"runtime","optional":false},{"id":6890528807,"package_name":"faraday","ecosystem":"rubygems","requirements":"1.4.3","direct":false,"kind":"runtime","optional":false},{"id":6890528808,"package_name":"faraday-em_http","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":6890528809,"package_name":"faraday-em_synchrony","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":6890528810,"package_name":"faraday-excon","ecosystem":"rubygems","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":6890528811,"package_name":"faraday-net_http","ecosystem":"rubygems","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":6890528812,"package_name":"faraday-net_http_persistent","ecosystem":"rubygems","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":6890528813,"package_name":"faraday_middleware","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":6890528814,"package_name":"fast_blank","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":6890528815,"package_name":"ffi","ecosystem":"rubygems","requirements":"1.15.4","direct":false,"kind":"runtime","optional":false},{"id":6890528816,"package_name":"ffi-compiler","ecosystem":"rubygems","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":6890528817,"package_name":"flamegraph","ecosystem":"rubygems","requirements":"0.9.5","direct":false,"kind":"runtime","optional":false},{"id":6890528818,"package_name":"flipper","ecosystem":"rubygems","requirements":"0.17.2","direct":false,"kind":"runtime","optional":false},{"id":6890528819,"package_name":"flipper-active_record","ecosystem":"rubygems","requirements":"0.17.2","direct":false,"kind":"runtime","optional":false},{"id":6890528820,"package_name":"flipper-ui","ecosystem":"rubygems","requirements":"0.17.1","direct":false,"kind":"runtime","optional":false},{"id":6890528821,"package_name":"fog-aws","ecosystem":"rubygems","requirements":"3.5.2","direct":false,"kind":"runtime","optional":false},{"id":6890528822,"package_name":"fog-core","ecosystem":"rubygems","requirements":"2.1.2","direct":false,"kind":"runtime","optional":false},{"id":6890528823,"package_name":"fog-json","ecosystem":"rubygems","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":6890528824,"package_name":"fog-xml","ecosystem":"rubygems","requirements":"0.1.3","direct":false,"kind":"runtime","optional":false},{"id":6890528825,"package_name":"foreman","ecosystem":"rubygems","requirements":"0.86.0","direct":false,"kind":"runtime","optional":false},{"id":6890528826,"package_name":"formatador","ecosystem":"rubygems","requirements":"0.2.5","direct":false,"kind":"runtime","optional":false},{"id":6890528827,"package_name":"geocoder","ecosystem":"rubygems","requirements":"1.6.1","direct":false,"kind":"runtime","optional":false},{"id":6890528828,"package_name":"gettext","ecosystem":"rubygems","requirements":"3.3.7","direct":false,"kind":"runtime","optional":false},{"id":6890528829,"package_name":"globalid","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":6890528830,"package_name":"grape","ecosystem":"rubygems","requirements":"1.3.3","direct":false,"kind":"runtime","optional":false},{"id":6890528831,"package_name":"grape-entity","ecosystem":"rubygems","requirements":"0.4.8","direct":false,"kind":"runtime","optional":false},{"id":6890528832,"package_name":"grape-swagger","ecosystem":"rubygems","requirements":"0.11.0","direct":false,"kind":"runtime","optional":false},{"id":6890528833,"package_name":"grape_logging","ecosystem":"rubygems","requirements":"1.8.3","direct":false,"kind":"runtime","optional":false},{"id":6890528834,"package_name":"groupdate","ecosystem":"rubygems","requirements":"6.0.1","direct":false,"kind":"runtime","optional":false},{"id":6890528835,"package_name":"guard","ecosystem":"rubygems","requirements":"2.16.2","direct":false,"kind":"runtime","optional":false},{"id":6890528836,"package_name":"guard-compat","ecosystem":"rubygems","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":6890528837,"package_name":"guard-rspec","ecosystem":"rubygems","requirements":"4.7.3","direct":false,"kind":"runtime","optional":false},{"id":6890528838,"package_name":"hamlit","ecosystem":"rubygems","requirements":"2.16.0","direct":false,"kind":"runtime","optional":false},{"id":6890528839,"package_name":"hashdiff","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":6890528840,"package_name":"hashie","ecosystem":"rubygems","requirements":"5.0.0","direct":false,"kind":"runtime","optional":false},{"id":6890528841,"package_name":"highline","ecosystem":"rubygems","requirements":"2.0.3","direct":false,"kind":"runtime","optional":false},{"id":6890528842,"package_name":"honeybadger","ecosystem":"rubygems","requirements":"4.5.4","direct":false,"kind":"runtime","optional":false},{"id":6890528843,"package_name":"htmlentities","ecosystem":"rubygems","requirements":"4.3.4","direct":false,"kind":"runtime","optional":false},{"id":6890528845,"package_name":"http","ecosystem":"rubygems","requirements":"4.4.1","direct":false,"kind":"runtime","optional":false},{"id":6890528846,"package_name":"http-cookie","ecosystem":"rubygems","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":6890528847,"package_name":"http-form_data","ecosystem":"rubygems","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":6890528848,"package_name":"http-parser","ecosystem":"rubygems","requirements":"1.2.3","direct":false,"kind":"runtime","optional":false},{"id":6890528849,"package_name":"http_parser.rb","ecosystem":"rubygems","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":6890528850,"package_name":"httparty","ecosystem":"rubygems","requirements":"0.16.2","direct":false,"kind":"runtime","optional":false},{"id":6890528851,"package_name":"i18n","ecosystem":"rubygems","requirements":"1.12.0","direct":false,"kind":"runtime","optional":false},{"id":6890528852,"package_name":"i18n-country-translations","ecosystem":"rubygems","requirements":"1.4.1","direct":false,"kind":"runtime","optional":false},{"id":6890528853,"package_name":"i18n-js","ecosystem":"rubygems","requirements":"3.5.0","direct":false,"kind":"runtime","optional":false},{"id":6890528854,"package_name":"i18n-tasks","ecosystem":"rubygems","requirements":"0.9.37","direct":false,"kind":"runtime","optional":false},{"id":6890528855,"package_name":"i18n_data","ecosystem":"rubygems","requirements":"0.11.0","direct":false,"kind":"runtime","optional":false},{"id":6890528856,"package_name":"i18n_generators","ecosystem":"rubygems","requirements":"2.2.2","direct":false,"kind":"runtime","optional":false},{"id":6890528857,"package_name":"ipaddress","ecosystem":"rubygems","requirements":"0.8.3","direct":false,"kind":"runtime","optional":false},{"id":6890528858,"package_name":"jquery-rails","ecosystem":"rubygems","requirements":"4.3.5","direct":false,"kind":"runtime","optional":false},{"id":6890528859,"package_name":"json","ecosystem":"rubygems","requirements":"2.5.1","direct":false,"kind":"runtime","optional":false},{"id":6890528860,"package_name":"jwt","ecosystem":"rubygems","requirements":"2.2.2","direct":false,"kind":"runtime","optional":false},{"id":6890528861,"package_name":"kaminari","ecosystem":"rubygems","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":6890528862,"package_name":"kaminari-actionview","ecosystem":"rubygems","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":6890528863,"package_name":"kaminari-activerecord","ecosystem":"rubygems","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":6890528864,"package_name":"kaminari-core","ecosystem":"rubygems","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":6890528865,"package_name":"kramdown","ecosystem":"rubygems","requirements":"2.3.1","direct":false,"kind":"runtime","optional":false},{"id":6890528866,"package_name":"kramdown-parser-gfm","ecosystem":"rubygems","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":6890528867,"package_name":"launchy","ecosystem":"rubygems","requirements":"2.4.3","direct":false,"kind":"runtime","optional":false},{"id":6890528868,"package_name":"letter_opener","ecosystem":"rubygems","requirements":"1.7.0","direct":false,"kind":"runtime","optional":false},{"id":6890528869,"package_name":"listen","ecosystem":"rubygems","requirements":"3.3.3","direct":false,"kind":"runtime","optional":false},{"id":6890528870,"package_name":"locale","ecosystem":"rubygems","requirements":"2.1.3","direct":false,"kind":"runtime","optional":false},{"id":6890528871,"package_name":"lograge","ecosystem":"rubygems","requirements":"0.11.2","direct":false,"kind":"runtime","optional":false},{"id":6890528872,"package_name":"logstash-event","ecosystem":"rubygems","requirements":"1.2.02","direct":false,"kind":"runtime","optional":false},{"id":6890528873,"package_name":"loofah","ecosystem":"rubygems","requirements":"2.18.0","direct":false,"kind":"runtime","optional":false},{"id":6890528874,"package_name":"lumberjack","ecosystem":"rubygems","requirements":"1.2.8","direct":false,"kind":"runtime","optional":false},{"id":6890528875,"package_name":"mail","ecosystem":"rubygems","requirements":"2.7.1","direct":false,"kind":"runtime","optional":false},{"id":6890528876,"package_name":"marcel","ecosystem":"rubygems","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":6890528877,"package_name":"memoizable","ecosystem":"rubygems","requirements":"0.4.2","direct":false,"kind":"runtime","optional":false},{"id":6890528878,"package_name":"memory_profiler","ecosystem":"rubygems","requirements":"0.9.14","direct":false,"kind":"runtime","optional":false},{"id":6890528879,"package_name":"method_source","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":6890528880,"package_name":"mime-types","ecosystem":"rubygems","requirements":"3.3.1","direct":false,"kind":"runtime","optional":false},{"id":6890528881,"package_name":"mime-types-data","ecosystem":"rubygems","requirements":"3.2021.0225","direct":false,"kind":"runtime","optional":false},{"id":6890528882,"package_name":"mimemagic","ecosystem":"rubygems","requirements":"0.4.3","direct":false,"kind":"runtime","optional":false},{"id":6890528883,"package_name":"mini_magick","ecosystem":"rubygems","requirements":"4.11.0","direct":false,"kind":"runtime","optional":false},{"id":6890528884,"package_name":"mini_mime","ecosystem":"rubygems","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":6890528885,"package_name":"mini_portile2","ecosystem":"rubygems","requirements":"2.8.0","direct":false,"kind":"runtime","optional":false},{"id":6890528886,"package_name":"minitest","ecosystem":"rubygems","requirements":"5.16.3","direct":false,"kind":"runtime","optional":false},{"id":6890528887,"package_name":"monetize","ecosystem":"rubygems","requirements":"1.12.0","direct":false,"kind":"runtime","optional":false},{"id":6890528888,"package_name":"money","ecosystem":"rubygems","requirements":"6.16.0","direct":false,"kind":"runtime","optional":false},{"id":6890528889,"package_name":"money-rails","ecosystem":"rubygems","requirements":"1.15.0","direct":false,"kind":"runtime","optional":false},{"id":6890528890,"package_name":"msgpack","ecosystem":"rubygems","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":6890528891,"package_name":"multi_json","ecosystem":"rubygems","requirements":"1.15.0","direct":false,"kind":"runtime","optional":false},{"id":6890528892,"package_name":"multi_xml","ecosystem":"rubygems","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":6890528893,"package_name":"multipart-post","ecosystem":"rubygems","requirements":"2.1.1","direct":false,"kind":"runtime","optional":false},{"id":6890528894,"package_name":"mustermann","ecosystem":"rubygems","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":6890528895,"package_name":"mustermann-grape","ecosystem":"rubygems","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":6890528896,"package_name":"naught","ecosystem":"rubygems","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":6890528897,"package_name":"nenv","ecosystem":"rubygems","requirements":"0.3.0","direct":false,"kind":"runtime","optional":false},{"id":6890528898,"package_name":"nio4r","ecosystem":"rubygems","requirements":"2.5.8","direct":false,"kind":"runtime","optional":false},{"id":6890528899,"package_name":"nokogiri","ecosystem":"rubygems","requirements":"1.13.7","direct":false,"kind":"runtime","optional":false},{"id":6890528900,"package_name":"notiffany","ecosystem":"rubygems","requirements":"0.1.3","direct":false,"kind":"runtime","optional":false},{"id":6890528901,"package_name":"oauth","ecosystem":"rubygems","requirements":"0.5.4","direct":false,"kind":"runtime","optional":false},{"id":6890528902,"package_name":"oauth2","ecosystem":"rubygems","requirements":"1.4.4","direct":false,"kind":"runtime","optional":false},{"id":6890528903,"package_name":"oj","ecosystem":"rubygems","requirements":"3.13.11","direct":false,"kind":"runtime","optional":false},{"id":6890528904,"package_name":"omniauth","ecosystem":"rubygems","requirements":"1.9.1","direct":false,"kind":"runtime","optional":false},{"id":6890528905,"package_name":"omniauth-facebook","ecosystem":"rubygems","requirements":"5.0.0","direct":false,"kind":"runtime","optional":false},{"id":6890528906,"package_name":"omniauth-globalid","ecosystem":"rubygems","requirements":"0.1.5","direct":false,"kind":"runtime","optional":false},{"id":6890528907,"package_name":"omniauth-oauth","ecosystem":"rubygems","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":6890528908,"package_name":"omniauth-oauth2","ecosystem":"rubygems","requirements":"1.7.0","direct":false,"kind":"runtime","optional":false},{"id":6890528909,"package_name":"omniauth-strava","ecosystem":"rubygems","requirements":"0.0.6","direct":false,"kind":"runtime","optional":false},{"id":6890528910,"package_name":"omniauth-twitter","ecosystem":"rubygems","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":6890528911,"package_name":"parallel","ecosystem":"rubygems","requirements":"1.22.1","direct":false,"kind":"runtime","optional":false},{"id":6890528912,"package_name":"parallel_tests","ecosystem":"rubygems","requirements":"2.30.0","direct":false,"kind":"runtime","optional":false},{"id":6890528913,"package_name":"paranoia","ecosystem":"rubygems","requirements":"2.5.2","direct":false,"kind":"runtime","optional":false},{"id":6890528914,"package_name":"parser","ecosystem":"rubygems","requirements":"3.1.2.1","direct":false,"kind":"runtime","optional":false},{"id":6890528915,"package_name":"pg","ecosystem":"rubygems","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":6890528916,"package_name":"pg_search","ecosystem":"rubygems","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":6890528917,"package_name":"postmark","ecosystem":"rubygems","requirements":"1.22.0","direct":false,"kind":"runtime","optional":false},{"id":6890528918,"package_name":"postmark-rails","ecosystem":"rubygems","requirements":"0.21.0","direct":false,"kind":"runtime","optional":false},{"id":6890528919,"package_name":"premailer","ecosystem":"rubygems","requirements":"1.11.1","direct":false,"kind":"runtime","optional":false},{"id":6890528920,"package_name":"premailer-rails","ecosystem":"rubygems","requirements":"1.10.3","direct":false,"kind":"runtime","optional":false},{"id":6890528921,"package_name":"pry","ecosystem":"rubygems","requirements":"0.13.1","direct":false,"kind":"runtime","optional":false},{"id":6890528922,"package_name":"pry-byebug","ecosystem":"rubygems","requirements":"3.9.0","direct":false,"kind":"runtime","optional":false},{"id":6890528923,"package_name":"pry-rails","ecosystem":"rubygems","requirements":"0.3.9","direct":false,"kind":"runtime","optional":false},{"id":6890528924,"package_name":"public_suffix","ecosystem":"rubygems","requirements":"4.0.6","direct":false,"kind":"runtime","optional":false},{"id":6890528925,"package_name":"puma","ecosystem":"rubygems","requirements":"5.6.4","direct":false,"kind":"runtime","optional":false},{"id":6890528926,"package_name":"racc","ecosystem":"rubygems","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":6890528927,"package_name":"rack","ecosystem":"rubygems","requirements":"2.2.3","direct":false,"kind":"runtime","optional":false},{"id":6890528928,"package_name":"rack-accept","ecosystem":"rubygems","requirements":"0.4.5","direct":false,"kind":"runtime","optional":false},{"id":6890528929,"package_name":"rack-mini-profiler","ecosystem":"rubygems","requirements":"2.3.1","direct":false,"kind":"runtime","optional":false},{"id":6890528930,"package_name":"rack-protection","ecosystem":"rubygems","requirements":"2.0.8.1","direct":false,"kind":"runtime","optional":false},{"id":6890528931,"package_name":"rack-proxy","ecosystem":"rubygems","requirements":"0.6.5","direct":false,"kind":"runtime","optional":false},{"id":6890528932,"package_name":"rack-test","ecosystem":"rubygems","requirements":"2.0.2","direct":false,"kind":"runtime","optional":false},{"id":6890528933,"package_name":"rack-throttle","ecosystem":"rubygems","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":6890528934,"package_name":"rails","ecosystem":"rubygems","requirements":"6.1.6.1","direct":false,"kind":"runtime","optional":false},{"id":6890528935,"package_name":"rails-controller-testing","ecosystem":"rubygems","requirements":"1.0.4","direct":false,"kind":"runtime","optional":false},{"id":6890528936,"package_name":"rails-dom-testing","ecosystem":"rubygems","requirements":"2.0.3","direct":false,"kind":"runtime","optional":false},{"id":6890528937,"package_name":"rails-html-sanitizer","ecosystem":"rubygems","requirements":"1.4.3","direct":false,"kind":"runtime","optional":false},{"id":6890528938,"package_name":"rails-i18n","ecosystem":"rubygems","requirements":"7.0.3","direct":false,"kind":"runtime","optional":false},{"id":6890528939,"package_name":"railties","ecosystem":"rubygems","requirements":"6.1.6.1","direct":false,"kind":"runtime","optional":false},{"id":6890528940,"package_name":"rainbow","ecosystem":"rubygems","requirements":"3.1.1","direct":false,"kind":"runtime","optional":false},{"id":6890528941,"package_name":"rake","ecosystem":"rubygems","requirements":"13.0.6","direct":false,"kind":"runtime","optional":false},{"id":6890528942,"package_name":"rb-fsevent","ecosystem":"rubygems","requirements":"0.10.4","direct":false,"kind":"runtime","optional":false},{"id":6890528943,"package_name":"rb-inotify","ecosystem":"rubygems","requirements":"0.10.1","direct":false,"kind":"runtime","optional":false},{"id":6890528944,"package_name":"redis","ecosystem":"rubygems","requirements":"4.6.0","direct":false,"kind":"runtime","optional":false},{"id":6890528945,"package_name":"regexp_parser","ecosystem":"rubygems","requirements":"2.5.0","direct":false,"kind":"runtime","optional":false},{"id":6890528946,"package_name":"request_store","ecosystem":"rubygems","requirements":"1.4.1","direct":false,"kind":"runtime","optional":false},{"id":6890528947,"package_name":"rerun","ecosystem":"rubygems","requirements":"0.13.0","direct":false,"kind":"runtime","optional":false},{"id":6890528948,"package_name":"responders","ecosystem":"rubygems","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":6890528949,"package_name":"rexml","ecosystem":"rubygems","requirements":"3.2.5","direct":false,"kind":"runtime","optional":false},{"id":6890528950,"package_name":"rqrcode","ecosystem":"rubygems","requirements":"0.10.1","direct":false,"kind":"runtime","optional":false},{"id":6890528951,"package_name":"rspec","ecosystem":"rubygems","requirements":"3.9.0","direct":false,"kind":"runtime","optional":false},{"id":6890528952,"package_name":"rspec-core","ecosystem":"rubygems","requirements":"3.9.3","direct":false,"kind":"runtime","optional":false},{"id":6890528953,"package_name":"rspec-expectations","ecosystem":"rubygems","requirements":"3.9.4","direct":false,"kind":"runtime","optional":false},{"id":6890528954,"package_name":"rspec-mocks","ecosystem":"rubygems","requirements":"3.9.1","direct":false,"kind":"runtime","optional":false},{"id":6890528955,"package_name":"rspec-rails","ecosystem":"rubygems","requirements":"4.0.1","direct":false,"kind":"runtime","optional":false},{"id":6890528956,"package_name":"rspec-sidekiq","ecosystem":"rubygems","requirements":"3.0.3","direct":false,"kind":"runtime","optional":false},{"id":6890528957,"package_name":"rspec-support","ecosystem":"rubygems","requirements":"3.9.4","direct":false,"kind":"runtime","optional":false},{"id":6890528958,"package_name":"rspec_junit_formatter","ecosystem":"rubygems","requirements":"0.4.1","direct":false,"kind":"runtime","optional":false},{"id":6890528959,"package_name":"rubocop","ecosystem":"rubygems","requirements":"1.32.0","direct":false,"kind":"runtime","optional":false},{"id":6890528960,"package_name":"rubocop-ast","ecosystem":"rubygems","requirements":"1.21.0","direct":false,"kind":"runtime","optional":false},{"id":6890528961,"package_name":"rubocop-performance","ecosystem":"rubygems","requirements":"1.14.3","direct":false,"kind":"runtime","optional":false},{"id":6890528962,"package_name":"ruby-progressbar","ecosystem":"rubygems","requirements":"1.11.0","direct":false,"kind":"runtime","optional":false},{"id":6890528963,"package_name":"ruby2_keywords","ecosystem":"rubygems","requirements":"0.0.5","direct":false,"kind":"runtime","optional":false},{"id":6890528964,"package_name":"rubyzip","ecosystem":"rubygems","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":6890528965,"package_name":"safe_yaml","ecosystem":"rubygems","requirements":"1.0.5","direct":false,"kind":"runtime","optional":false},{"id":6890528966,"package_name":"sass","ecosystem":"rubygems","requirements":"3.7.4","direct":false,"kind":"runtime","optional":false},{"id":6890528967,"package_name":"sass-listen","ecosystem":"rubygems","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":6890528968,"package_name":"sass-rails","ecosystem":"rubygems","requirements":"6.0.0","direct":false,"kind":"runtime","optional":false},{"id":6890528969,"package_name":"sassc","ecosystem":"rubygems","requirements":"2.4.0","direct":false,"kind":"runtime","optional":false},{"id":6890528970,"package_name":"sassc-rails","ecosystem":"rubygems","requirements":"2.1.2","direct":false,"kind":"runtime","optional":false},{"id":6890528971,"package_name":"secure_headers","ecosystem":"rubygems","requirements":"2.5.3","direct":false,"kind":"runtime","optional":false},{"id":6890528972,"package_name":"shellany","ecosystem":"rubygems","requirements":"0.0.1","direct":false,"kind":"runtime","optional":false},{"id":6890528973,"package_name":"sidekiq","ecosystem":"rubygems","requirements":"6.4.1","direct":false,"kind":"runtime","optional":false},{"id":6890528974,"package_name":"sidekiq-failures","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":6890528975,"package_name":"simple_oauth","ecosystem":"rubygems","requirements":"0.3.1","direct":false,"kind":"runtime","optional":false},{"id":6890528976,"package_name":"simplecov","ecosystem":"rubygems","requirements":"0.17.1","direct":false,"kind":"runtime","optional":false},{"id":6890528977,"package_name":"simplecov-html","ecosystem":"rubygems","requirements":"0.10.2","direct":false,"kind":"runtime","optional":false},{"id":6890528978,"package_name":"sinatra","ecosystem":"rubygems","requirements":"2.0.8.1","direct":false,"kind":"runtime","optional":false},{"id":6890528979,"package_name":"sitemap_generator","ecosystem":"rubygems","requirements":"6.1.2","direct":false,"kind":"runtime","optional":false},{"id":6890528980,"package_name":"sixarm_ruby_unaccent","ecosystem":"rubygems","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":6890528981,"package_name":"skylight","ecosystem":"rubygems","requirements":"5.3.4","direct":false,"kind":"runtime","optional":false},{"id":6890528982,"package_name":"sprockets","ecosystem":"rubygems","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":6890528983,"package_name":"sprockets-rails","ecosystem":"rubygems","requirements":"3.4.2","direct":false,"kind":"runtime","optional":false},{"id":6890528984,"package_name":"stackprof","ecosystem":"rubygems","requirements":"0.2.14","direct":false,"kind":"runtime","optional":false},{"id":6890528985,"package_name":"standard","ecosystem":"rubygems","requirements":"1.14.0","direct":false,"kind":"runtime","optional":false},{"id":6890528986,"package_name":"stripe","ecosystem":"rubygems","requirements":"5.35.0","direct":false,"kind":"runtime","optional":false},{"id":6890528987,"package_name":"temple","ecosystem":"rubygems","requirements":"0.8.2","direct":false,"kind":"runtime","optional":false},{"id":6890528988,"package_name":"terminal-notifier","ecosystem":"rubygems","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":6890528989,"package_name":"terminal-table","ecosystem":"rubygems","requirements":"3.0.2","direct":false,"kind":"runtime","optional":false},{"id":6890528990,"package_name":"text","ecosystem":"rubygems","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":6890528991,"package_name":"thor","ecosystem":"rubygems","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":6890528992,"package_name":"thread_safe","ecosystem":"rubygems","requirements":"0.3.6","direct":false,"kind":"runtime","optional":false},{"id":6890528993,"package_name":"tilt","ecosystem":"rubygems","requirements":"2.0.10","direct":false,"kind":"runtime","optional":false},{"id":6890528994,"package_name":"translation","ecosystem":"rubygems","requirements":"1.26","direct":false,"kind":"runtime","optional":false},{"id":6890528995,"package_name":"twilio-ruby","ecosystem":"rubygems","requirements":"5.40.4","direct":false,"kind":"runtime","optional":false},{"id":6890528996,"package_name":"twitter","ecosystem":"rubygems","requirements":"7.0.0","direct":false,"kind":"runtime","optional":false},{"id":6890528997,"package_name":"tzinfo","ecosystem":"rubygems","requirements":"2.0.5","direct":false,"kind":"runtime","optional":false},{"id":6890528998,"package_name":"uglifier","ecosystem":"rubygems","requirements":"4.2.0","direct":false,"kind":"runtime","optional":false},{"id":6890528999,"package_name":"unf","ecosystem":"rubygems","requirements":"0.1.4","direct":false,"kind":"runtime","optional":false},{"id":6890529000,"package_name":"unf_ext","ecosystem":"rubygems","requirements":"0.0.7.7","direct":false,"kind":"runtime","optional":false},{"id":6890529001,"package_name":"unicode-display_width","ecosystem":"rubygems","requirements":"2.2.0","direct":false,"kind":"runtime","optional":false},{"id":6890529002,"package_name":"unicode_utils","ecosystem":"rubygems","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":6890529003,"package_name":"uniform_notifier","ecosystem":"rubygems","requirements":"1.14.2","direct":false,"kind":"runtime","optional":false},{"id":6890529004,"package_name":"user_agent_parser","ecosystem":"rubygems","requirements":"2.7.0","direct":false,"kind":"runtime","optional":false},{"id":6890529005,"package_name":"vcr","ecosystem":"rubygems","requirements":"5.0.0","direct":false,"kind":"runtime","optional":false},{"id":6890529006,"package_name":"vegas","ecosystem":"rubygems","requirements":"0.1.11","direct":false,"kind":"runtime","optional":false},{"id":6890529007,"package_name":"webmock","ecosystem":"rubygems","requirements":"3.7.6","direct":false,"kind":"runtime","optional":false},{"id":6890529008,"package_name":"webpacker","ecosystem":"rubygems","requirements":"4.2.2","direct":false,"kind":"runtime","optional":false},{"id":6890529009,"package_name":"websocket-driver","ecosystem":"rubygems","requirements":"0.7.5","direct":false,"kind":"runtime","optional":false},{"id":6890529010,"package_name":"websocket-extensions","ecosystem":"rubygems","requirements":"0.1.5","direct":false,"kind":"runtime","optional":false},{"id":6890529011,"package_name":"zeitwerk","ecosystem":"rubygems","requirements":"2.6.6","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/review-app.yml","sha":null,"kind":"manifest","created_at":"2026-08-07T22:25:08.381Z","updated_at":"2026-08-07T22:25:08.381Z","repository_link":"https://github.com/bikeindex/bike_index/blob/main/.github/workflows/review-app.yml","dependencies":[{"id":25929299891,"package_name":"actions/github-script","ecosystem":"actions","requirements":"v9","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/strava_search_ci.yml","sha":null,"kind":"manifest","created_at":"2026-08-07T22:25:08.875Z","updated_at":"2026-08-07T22:25:08.875Z","repository_link":"https://github.com/bikeindex/bike_index/blob/main/.github/workflows/strava_search_ci.yml","dependencies":[{"id":25929302175,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":25929302176,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/upload-basemap.yml","sha":null,"kind":"manifest","created_at":"2026-08-07T22:25:09.509Z","updated_at":"2026-08-07T22:25:09.509Z","repository_link":"https://github.com/bikeindex/bike_index/blob/main/.github/workflows/upload-basemap.yml","dependencies":[]},{"ecosystem":"docker","filepath":".github/ci/Dockerfile","sha":null,"kind":"manifest","created_at":"2026-08-07T22:25:09.870Z","updated_at":"2026-08-07T22:25:09.870Z","repository_link":"https://github.com/bikeindex/bike_index/blob/main/.github/ci/Dockerfile","dependencies":[{"id":25929304461,"package_name":"docker.io/library/ruby","ecosystem":"docker","requirements":"$RUBY_VERSION-slim","direct":true,"kind":"build","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/kamal-deploy.yml","sha":null,"kind":"manifest","created_at":"2026-08-07T22:25:08.136Z","updated_at":"2026-08-07T22:25:08.136Z","repository_link":"https://github.com/bikeindex/bike_index/blob/main/.github/workflows/kamal-deploy.yml","dependencies":[{"id":25929299258,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":25929299259,"package_name":"docker/setup-buildx-action","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":25929299260,"package_name":"actions/cache","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25929299261,"package_name":"reproducible-containers/buildkit-cache-dance","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25929299262,"package_name":"docker/login-action","ecosystem":"actions","requirements":"v4.6.0","direct":true,"kind":"composite","optional":false},{"id":25929299263,"package_name":"docker/build-push-action","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":25929299264,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":25929299265,"package_name":"webfactory/ssh-agent","ecosystem":"actions","requirements":"v0.10.0","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2026-08-07T22:25:10.146Z","updated_at":"2026-08-07T22:25:10.146Z","repository_link":"https://github.com/bikeindex/bike_index/blob/main/Dockerfile","dependencies":[{"id":25929305100,"package_name":"docker.io/library/ruby","ecosystem":"docker","requirements":"$RUBY_VERSION-slim","direct":true,"kind":"build","optional":false},{"id":25929305101,"package_name":"base","ecosystem":"docker","requirements":"latest","direct":true,"kind":"build","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/sandbox.yml","sha":null,"kind":"manifest","created_at":"2026-08-07T22:25:08.645Z","updated_at":"2026-08-07T22:25:08.645Z","repository_link":"https://github.com/bikeindex/bike_index/blob/main/.github/workflows/sandbox.yml","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2026-08-07T22:25:07.163Z","updated_at":"2026-08-07T22:25:07.163Z","repository_link":"https://github.com/bikeindex/bike_index/blob/main/.github/workflows/ci.yml","dependencies":[{"id":25929298633,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":25929298634,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":25929298635,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":25929298636,"package_name":"docker/login-action","ecosystem":"actions","requirements":"v4.6.0","direct":true,"kind":"composite","optional":false},{"id":25929298637,"package_name":"docker/setup-buildx-action","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":25929298638,"package_name":"docker/build-push-action","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":25929298639,"package_name":"actions/create-github-app-token","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25929298640,"package_name":"actions/cache","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25929298641,"package_name":"actions/cache/restore","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25929298642,"package_name":"actions/cache/save","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25929298643,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":25929298644,"package_name":"mirror.gcr.io/library/postgres","ecosystem":"actions","requirements":"16-alpine","direct":true,"kind":"docker","optional":false},{"id":25929298645,"package_name":"mirror.gcr.io/library/redis","ecosystem":"actions","requirements":"7-alpine","direct":true,"kind":"docker","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/copilot-setup-steps.yml","sha":null,"kind":"manifest","created_at":"2026-08-07T22:25:07.619Z","updated_at":"2026-08-07T22:25:07.619Z","repository_link":"https://github.com/bikeindex/bike_index/blob/main/.github/workflows/copilot-setup-steps.yml","dependencies":[{"id":25929298787,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":25929298788,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":25929298789,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":25929298790,"package_name":"postgres","ecosystem":"actions","requirements":"16-alpine","direct":true,"kind":"docker","optional":false},{"id":25929298791,"package_name":"redis","ecosystem":"actions","requirements":"*","direct":true,"kind":"docker","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ios-e2e.yml","sha":null,"kind":"manifest","created_at":"2026-08-07T22:25:07.957Z","updated_at":"2026-08-07T22:25:07.957Z","repository_link":"https://github.com/bikeindex/bike_index/blob/main/.github/workflows/ios-e2e.yml","dependencies":[{"id":25929298918,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":25929298919,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false}]}],"score":9.474702639106347,"created_at":"2023-09-11T14:52:10.152Z","updated_at":"2026-08-12T13:01:30.122Z","avatar_url":"https://github.com/bikeindex.png","language":"Ruby","category":"Consumption","sub_category":"Mobility and Transportation","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# [![BIKE INDEX][bike-index-logo]][bike-index] [![View performance data on Skylight][skylight-badge]][skylight]\n\n[bike-index-logo]: https://github.com/bikeindex/bike_index/blob/main/public/icon-dark.svg?raw=true\n[skylight]: https://oss.skylight.io/app/applications/j93iQ4K2pxCP\n[skylight-badge]: https://badges.skylight.io/status/j93iQ4K2pxCP.svg\n[bike-index]: https://www.bikeindex.org\n\nBike registration that works: online, powerful, free.\n\nRegistering a 🚲 only takes a few minutes and gives 🚴‍♀️ a permanent record linked to their identity that proves ownership in the case of a theft.\n\nWe're an open source project. Take a gander through our code, report bugs, or download it and run it locally.\n\n### Dependencies\n\n_We recommend [mise](https://mise.jdx.dev/) for managing versions of Ruby and Node. Check the [.tool-versions](.tool-versions) file to see the versions of required versions of:_\n\n- [Ruby](http://www.ruby-lang.org/en/)\n\n- [Node](https://nodejs.org/en/)\n\n_Bike Index also requires some additional libraries. We recommend installing them via your system package manager / homebrew_\n\n- PostgreSQL\n\n- Redis\n\n- `libvips` and `imagemagick` for image manipulation\n  - Eventually, `imagemagick` will only be required for testing (via [chunky_png](https://github.com/wvanbergen/chunky_png)), but we're not there yet\n\n\n## Running Bike Index locally\n\nFollow [the Getting Started guide](docs/getting-started.markdown) for a complete set up. Or if you're familiar with developing Ruby on Rails applications start with these steps and a local Postgresql installation:\n\n- `bin/setup` sets up the application and seeds:\n  - Three test user accounts: admin@example.com, member@example.com, user@example.com (all have password `pleaseplease12`)\n  - Gives user@example.com 50 bikes\n\n- `bin/dev` start the server. It starts redis in the background and runs foreman with the [dev procfile](Procfile.dev). If you need/prefer something else, do that. If your \"something else\" isn't running at localhost:3042, change the appropriate values in [Procfile.dev](Procfile.dev) and [.env](.env)\n\n- Go to [localhost:3042](http://localhost:3042)\n\n| Toggle in development | command                       | default  |\n| ---------             | -------                       | -------  |\n| Caching               | `bundle exec rails dev:cache` | disabled |\n| [letter_opener][]     | `bin/rake dev:letter_opener`  | enabled  |\n| logging with lograge  | `bin/rake dev:lograge`        | enabled  |\n\n[letter_opener]: https://github.com/ryanb/letter_opener\n\n## Localization\n\nSee the [localization docs](docs/localization.markdown) for details (we use [translation.io](https://translation.io/) for localization).\n\n## Testing\n\nWe use [RSpec](https://github.com/rspec/rspec) and\n[Guard](https://github.com/guard/guard) for testing.\n\n- Run the test suite continuously in the background with `bin/guard` (watches for file changes/saves and runs those specs)\n\n- You may have to manually add the `fuzzystrmatch` extension, which we use for\n  near serial searches, to your databases. The migration should take care of\n  this but sometimes doesn't. Open the databases in postgres\n  (`psql bikeindex_development` and `psql bikeindex_test`) and add the extension.\n\n  ```sql\n  CREATE EXTENSION fuzzystrmatch;\n  ```\n\nWe use [`turbo_tests`](https://github.com/serpapi/turbo_tests) to run the test suite in parallel. By default, this will spawn one process per CPU in your computer.\n\n- Run all the tests in parallel with `bin/turbo_tests`\n\n- Run `bin/rake parallel:prepare` to synchronize the test db schema after migrations (rather than `db:test:prepare`).\n\n- Run specific files or test directories with `bin/turbo_tests \u003cFILES_OR_FOLDERS\u003e`\n\n- Run Guard with parallelism `bin/guard -G Guardfile_parallel`\n\n## Code Hygiene\n\nWe use the following tools to automate code formatting and linting:\n\n- [EditorConfig](https://editorconfig.org/)\n- [StandardRB](https://github.com/testdouble/standard)\n- [ESlint](https://eslint.org/)\n\nRun `bin/lint` to automatically lint the files and/or add auto formatters to your text editor (e.g. [prettier-standard](https://github.com/sheerun/prettier-standard))\n\n### EditorConfig\n\nEditorConfig ensures whitespace consistency. See the [Download a\nPlugin][editorconfig-plugin] section of the EditorConfig docs to find a plugin\nappropriate to your editor.\n\n[editorconfig-plugin]: https://editorconfig.org/#download\n\n### StandardRB\n\nStandardRB is an opinionated Ruby style guide, linter, and formatter - it is \"a spiritual port of [StandardJS](https://standardjs.com/)\".\n\nSee the [how do I run standard in my editor](standardrb-plugin) section of the StandardRB docs to find an appropriate plugin for on-the-fly linting.\n\n[standardrb-plugin]: https://github.com/testdouble/standard#how-do-i-run-standard-in-my-editor\n\n### StandardJS\n\nstandard is configured to run on project JavaScript.\n\nInstall it with `npm install`\n\nRun it with `npm run lint`.\n\n## Bug tracker\n\nHave a bug or a feature request? [Open an issue](https://github.com/bikeindex/bike_index/issues/new).\n\n\n## Community\n\nKeep track of development and community news.\n\n- Follow [@bikeindex](http://twitter.com/bikeindex) on Twitter.\n- Read the [Bike Index Blog](https://bikeindex.org/blog).\n\n## Contributing\n\nOpen a Pull request!\n\nDon't wait until you have a finished feature before before opening the PR, unfinished pull requests are welcome! The earlier you open the pull request, the earlier it's possible to discuss the direction of the changes.\n\nOnce the PR is ready for review, request review from the relevant person.\n\nIf your pull request contains Ruby patches or features, you must include relevant Rspec tests.\n\n\n... and go hard\n","funding_links":["https://github.com/sponsors/bikeindex","https://bikeindex.org/donate"],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["activejob","activerecord","mvc"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/20148","html_url":"https://ost.ecosyste.ms/projects/20148"}