{"id":21689653,"url":"https://github.com/3zcurdia/capybara-pagemap","last_synced_at":"2025-09-06T08:43:58.568Z","repository":{"id":59151916,"uuid":"62419432","full_name":"3zcurdia/capybara-pagemap","owner":"3zcurdia","description":"Simple object mapper for page objects with capybara","archived":false,"fork":false,"pushed_at":"2020-03-23T18:15:17.000Z","size":51,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-21T21:35:37.036Z","etag":null,"topics":["capybara","gem","pageobject","pageobject-pattern","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/3zcurdia.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-07-01T21:00:42.000Z","updated_at":"2020-03-23T18:15:17.000Z","dependencies_parsed_at":"2022-09-13T10:50:21.881Z","dependency_job_id":null,"html_url":"https://github.com/3zcurdia/capybara-pagemap","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/3zcurdia/capybara-pagemap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3zcurdia%2Fcapybara-pagemap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3zcurdia%2Fcapybara-pagemap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3zcurdia%2Fcapybara-pagemap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3zcurdia%2Fcapybara-pagemap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/3zcurdia","download_url":"https://codeload.github.com/3zcurdia/capybara-pagemap/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3zcurdia%2Fcapybara-pagemap/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273879467,"owners_count":25184427,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["capybara","gem","pageobject","pageobject-pattern","ruby"],"created_at":"2024-11-25T17:27:06.348Z","updated_at":"2025-09-06T08:43:58.544Z","avatar_url":"https://github.com/3zcurdia.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Capybara Pagemap\n[![Build Status](https://travis-ci.org/3zcurdia/capybara-pagemap.svg?branch=master)](https://travis-ci.org/3zcurdia/capybara-pagemap)\n[![Maintainability](https://api.codeclimate.com/v1/badges/19084f69bfee063ec218/maintainability)](https://codeclimate.com/github/3zcurdia/capybara-pagemap/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/19084f69bfee063ec218/test_coverage)](https://codeclimate.com/github/3zcurdia/capybara-pagemap/test_coverage)\n[![Gem Version](https://badge.fury.io/rb/capybara-pagemap.svg)](https://badge.fury.io/rb/capybara-pagemap)\n\nSimple object mapper for page objects with capybara\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'capybara-pagemap'\n```\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install capybara-pagemap\n\n## Usage\n\nInherit from ```Capybara::Pagemap::Base``` and define the input fields as the following example\n\n```ruby\nclass LoginPage\n  include Capybara::Pagemap\n  define_input :email, '//*[@id=\"user_email\"]'\n  define_input :password, '//*[@id=\"user_password\"]'\n  define_button :log_in, '//*[@id=\"log_in\"]'\nend\n```\nOnce you have define your input you will have access to the getters setters\n\n```ruby\nlogin_page = LoginPage.new\nlogin_page.email = \"test@example.org\"\nlogin_page.email\n# =\u003e \"test@example.org\"\nlogin_page.email_input\n# =\u003e Capybara::Node\nlogin_page.log_in_button.click if login_page.valid?\n```\n\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/3zcurdia/capybara-pagemap.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3zcurdia%2Fcapybara-pagemap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F3zcurdia%2Fcapybara-pagemap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3zcurdia%2Fcapybara-pagemap/lists"}