{"id":23727807,"url":"https://github.com/mutalis/surveyor-demo","last_synced_at":"2026-05-01T02:34:54.914Z","repository":{"id":66975387,"uuid":"129348054","full_name":"mutalis/surveyor-demo","owner":"mutalis","description":"Surveyor is a Rails gem that lets you easily design surveys, questionnares, quizes, etc... and add them to your app.","archived":false,"fork":false,"pushed_at":"2020-08-15T22:53:21.000Z","size":55,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-31T01:38:57.836Z","etag":null,"topics":["rails","survey"],"latest_commit_sha":null,"homepage":"https://surveyor-on.herokuapp.com/surveys/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mutalis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2018-04-13T04:34:45.000Z","updated_at":"2021-11-12T07:54:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"19326c74-ecaa-4037-ad3f-830883e910d5","html_url":"https://github.com/mutalis/surveyor-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mutalis/surveyor-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutalis%2Fsurveyor-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutalis%2Fsurveyor-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutalis%2Fsurveyor-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutalis%2Fsurveyor-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mutalis","download_url":"https://codeload.github.com/mutalis/surveyor-demo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutalis%2Fsurveyor-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32483406,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"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":["rails","survey"],"created_at":"2024-12-31T01:45:31.210Z","updated_at":"2026-05-01T02:34:54.899Z","avatar_url":"https://github.com/mutalis.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Status\n[![Gem Version](https://badge.fury.io/rb/surveyor.svg)](http://badge.fury.io/rb/surveyor)\n[![Build Status](https://travis-ci.org/NUBIC/surveyor.svg)](https://travis-ci.org/NUBIC/surveyor)\n[![Code Climate](https://codeclimate.com/github/NUBIC/surveyor.png)](https://codeclimate.com/github/NUBIC/surveyor)\n\n## Why surveyor?\n\nSurveyor is a developer tool to deliver surveys in Rails applications.\nSurveys are written in the surveyor DSL (Domain Specific\nLanguage). A DSL makes it significantly easier to import long surveys\n(one of the motivations for building surveyor was copy/paste fatigue).\nIt enables non-programmers to write out, edit, and review surveys.\n\nIf your Rails app needs to asks users questions as part of a survey, quiz,\nor questionnaire then you should consider using surveyor. This gem was\ndesigned to deliver clinical research surveys to large populations,\nbut it can be used for any type of survey.\n\nSurveyor is a Rails engine distributed as a ruby gem, meaning it is\nstraightforward to override or extend its behaviors in your Rails app\nwithout maintaining a fork.\n\n## Requirements\n\nSurveyor works with:\n\n* Ruby 2.0.0 and 2.1.1\n* Rails 3.2 and 4.0\n\nIn keeping with the Rails team maintenance [policy] we no longer support Rails 3.1 (stick with v1.4.0 if you need Rails 3.1) or Ruby 1.9.3 (stick with v1.4.0 if you need Ruby 1.8.7 or 1.9.3).\n\nSome key dependencies are:\n\n* HAML\n* Sass\n* Formtastic\n\nA more exhaustive list can be found in the [gemspec][].\n\n[gemspec]: https://github.com/NUBIC/surveyor/blob/master/surveyor.gemspec\n[policy]: http://weblog.rubyonrails.org/2013/2/24/maintenance-policy-for-ruby-on-rails/\n\n## Install\n\nAdd surveyor to your Gemfile:\n\n    gem \"surveyor\"\n\nBundle, install, and migrate:\n\n    bundle install\n    script/rails generate surveyor:install\n    bundle exec rake db:migrate\n\nParse the \"kitchen sink\" survey ([kitchen sink](http://en.wiktionary.org/wiki/everything_but_the_kitchen_sink) means almost everything)\n\n    bundle exec rake surveyor FILE=surveys/kitchen_sink_survey.rb\n\nStart up your app, visit `/surveys`, compare what you see to [kitchen\\_sink\\_survey.rb][kitchensink] and try responding to the survey.\n\n[kitchensink]: http://github.com/NUBIC/surveyor/blob/master/lib/generators/surveyor/templates/surveys/kitchen_sink_survey.rb\n\n## Customize surveyor\n\nSurveyor's controller, helper, models, and views may be overridden by classes in your `app` folder. To generate a sample custom controller and layout run:\n\n    script/rails generate surveyor:custom\n\nand read the instructions generated in [`surveys/EXTENDING_SURVEYOR.MD`][extending]\n\n[extending]: https://github.com/NUBIC/surveyor/blob/master/lib/generators/surveyor/templates/surveys/EXTENDING_SURVEYOR.md\n\n## Upgrade surveyor\n\nTo get the latest version of surveyor, bundle, install and migrate:\n\n    bundle update surveyor\n    script/rails generate surveyor:install\n    bundle exec rake db:migrate\n\nand review the [changelog][] for changes that may affect your customizations.\n\n[changelog]: https://github.com/NUBIC/surveyor/blob/master/CHANGELOG.md\n\n## What surveyor does and doesn't do\n\n### Does do\n* use a DSL to parse large surveys without hours of copy/paste into a gui builder\n* support complex, rule-based dependencies (skip-logic)\n* JSON export of both surveys and response sets\n* allow customization of all models, views, and controller, as well as helpers and routes\n* follow semantic versioning\n* exclusive checkboxes - a checkbox that when checked, unchecks all the others\n\n### Doesn't do\n* Enforce mandatory questions... yet (although it does have some[1] methods[2] on ResponseSet to support that)\n* Dependencies within repeaters... yet [#235](http://github.com/NUBIC/surveyor/issues/235)\n* Validations within the UI... yet [#34](http://github.com/NUBIC/surveyor/issues/34), although it does have model support and database representations\n* GUI creating, editing, deleting and administration of surveys... yet [#414](http://github.com/NUBIC/surveyor/issues/414)\n* Consistently support HTML tags in title, text, help_text attributes. We intend to move to markdown support [#413](http://github.com/NUBIC/surveyor/issues/413) so that same survey definition can be used with [nu_surveyor](http://github.com/NUBIC/nu_surveyor).\n\n[1]: http://github.com/NUBIC/surveyor/blob/master/lib/surveyor/models/response_set_methods.rb#L94\n[2]: http://github.com/NUBIC/surveyor/blob/master/lib/surveyor/models/response_set_methods.rb#L97\n\n\n## Users of spork\n\nThere is [an issue with spork and custom inputs in formatstic (#851)][851]. A workaround (thanks rmm5t!):\n\n    Spork.prefork do\n      # ...\n      surveyor_path = Gem.loaded_specs['surveyor'].full_gem_path\n      Dir[\"#{surveyor_path}/app/inputs/*_input.rb\"].each { |f| require File.basename(f) }\n      # ...\n    end\n\n[851]: https://github.com/justinfrench/formtastic/issues/851\n\n## Follow master\n\nIf you are following pre-release versions of surveyor using a `:git`\nsource in your Gemfile, be particularly careful about reviewing migrations after\nupdating surveyor and re-running the generator. We will never change a migration\nbetween two released versions of surveyor. However, we may on rare occasions\nchange a migration which has been merged into master. When this happens, you'll\nneed to assess the differences and decide on an appropriate course of action for\nyour app. If you aren't sure what this means, we do not recommend that you deploy an app\nthat's locked to surveyor master into production.\n\n## Support\n\nFor general discussion (e.g., \"how do I do this?\"), please send a message to the\n[surveyor-dev][] group. This group is moderated to keep out spam; don't be\nsurprised if your message isn't posted immediately.\n\nFor reproducible bugs, please file an issue on the [GitHub issue tracker][issues].\nPlease include a minimal test case (a detailed description of\nhow to trigger the bug in a clean rails application). If you aren't sure how to\nisolate the bug, send a message to [surveyor-dev][] with what you know and we'll\ntry to help.\n\nFor build status see our [continuous integration page][ci].\n\nTake a look at our [screencast][] (a bit dated now).\n\n[surveyor-dev]: https://groups.google.com/group/surveyor-dev\n[issues]: https://github.com/NUBIC/surveyor/issues\n[ci]:https://travis-ci.org/NUBIC/surveyor\n[screencast]:http://vimeo.com/7051279\n\n## Contribute, test\n\nTo work on the code, fork this github project. Install [bundler][] if\nyou don't have it, then bundle, generate the app in `testbed`, and run the specs and features\n\n    $ bundle update\n    $ bundle exec rake testbed\n    $ bundle exec rake spec\n\n[bundler]: http://gembundler.com/\n\nCopyright (c) 2008-2013 Brian Chamberlain and Mark Yoon, released under the [MIT license][mit]\n\n[mit]: https://github.com/NUBIC/surveyor/blob/master/MIT-LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmutalis%2Fsurveyor-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmutalis%2Fsurveyor-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmutalis%2Fsurveyor-demo/lists"}