GithubHelp home page GithubHelp logo

kjayma / surveyor_gui Goto Github PK

View Code? Open in Web Editor NEW
44.0 10.0 42.0 6.38 MB

An extension to nubic/surveyor that adds reports and a forms to build surveys

License: MIT License

Ruby 69.28% HTML 13.33% JavaScript 14.94% CSS 2.45%

surveyor_gui's Introduction

surveyor_gui

Gem Version

Add Surveys to your Rails application

Need a way to quickly add surveys to your Rails application? Need a way for users to create customizable surveys with little or no training? Need reports and graphs out of the box? Don't want to use a third-party service or closed solution?

Surveyor_gui can help!

You can add surveyor_gui to a new or existing rails application to provide a way to create and administer surveys.

You can find some screenshots at the bottom of this README.

Builds on the popular Surveyor gem

Surveyor_gui is built over Surveyor gem.

Surveyor does some things really well. Surveyor can be used to build rich surveys with a wide variety of questions types, and it provides a web page for users to take those surveys. However, it lacks two key abilities - the ability to build and edit surveys using a browser and to report on survey results without additional coding. In order to build a survey using Surveyor, you need to create a text file using Surveyor's DSL, and then call a Rake task to parse it.

The lack of a gui front-end and reports limits the utility of surveyor for certain applications.

Surveyor_gui meets this need by providing a gui to create surveys from scratch. Surveyor_gui bypasses the need to create a Surveyor DSL file, and directly updates the Surveyor tables to build a survey.

Surveyor is feature-rich and can create very complex surveys. Surveyor-gui supports most of the features in Surveyor.

This gem also provides a reporting capability for Surveyor.

Surveyor_gui is a mountable engine.

Requirements

SurveyorGui works with:

  • Ruby 1.9.3
  • Rails 4, 4.1

Some key dependencies are:

  • Surveyor
  • HAML
  • Sass
  • Formtastic

A more exhaustive list can be found in the gemspecs for Surveyor surveyor and Surveyor_gui surveyor-gui.

Install

Add surveyor and surveyor-gui to your Gemfile:

gem 'surveyor', github: 'NUBIC/surveyor'
gem 'surveyor_gui'

You will also need a javascript runtime, like node.js or therubyracer. If you have not yet installed one, add

gem "therubyracer"

to your Gemfile.

Bundle, install, and migrate:

bundle install
rails g surveyor_gui:install

Note that the installer will run db:migrate (so any un-applied migrations you have in your project will be pulled in).

You will need to add mountpoints to your routes.rb file. E.g., a starting routes.rb might look like this:

Rails.application.routes.draw do
  mount SurveyorGui::Engine => "/surveyor_gui", :as => "surveyor_gui"
  mount Surveyor::Engine => "/surveys", :as => "surveyor"
end

SurveyorGui::Engine points to the survey editor. Surveyor::Engine points to the url where users will take the surveys. The routes.rb file in the testbed application (see Test Environment section) uses the default mountpoints noted above, however they are arbitrary and can be change to anything you would prefer (e.g., mount SurveyorGui::Engine => "my/survey/engine", :as => "surveyor_gui").

Limitations

This gem provides support for a subset of the Surveyor functionality. It supports all of the basic question types, and most of the complicated question types, but does not currently support the following:

  • Questions with multiple entries (e.g., the "Get me started on an improv sketch" question in the kitchen_sink_survey.rb that comes with the Surveyor gem.
  • Input masks
  • Quizzes

It adds some new question types:

  • Star rating (1-5 stars)
  • File upload
  • Grid dropdown (a grid of dropdowns with up to ten columns.)

Dependencies are partially supported. The following are not currently supported:

  • counts (count the number of answers checked or entered)
  • Regexp validations

You can open the kitchen_sink survey that comes with Surveyor, but a few of the questions will not behave as expected because of the discrepancies noted above.

Locking

This gem enforces locking on surveys. A survey may be modified up until a user submits a response. At that point, the survey can no longer be edited for structural changes (i.e., /surveyform/edit will not permit any changes). This protects the data integrity of the survey response data.

If you want to unlock a survey, you will need to manually delete all of the child ResponseSet records (e.g., Survey.find(1).response_set.all.each{|r| r.destroy} ). Use appropriate caution!

Templates

Surveys may be saved as templates. This allows them to be cloned when creating a new survey (cloning is a pending feature). It is possible to mark certain parts of a survey as unmodifiable so that they will always be present when a survey is cloned.

A template library feature is pending.

Test environment

If you want to try out surveyor-gui before incorporating it into an application, or contribute, clone the repository. Then run

bundle install
bundle exec rake gui_testbed
cd testbed

Start the rails server.

The survey editor can be found at '/surveyor_gui/surveyforms'. Take surveys by going to the '/surveys' url or clicking the link at the bottom of the surveyforms home page.

Before contributing, please run the tests: bundle exec rspec spec

Reports

Surveyor_gui now provides reports!

You can see a report of all survey responses, or view an individual response.

Highcharts.js is used for graphics, and must be licensed for commercial use. Future development will replace Highcharts with Rickshawgraphs.

To see reports, try using the "Preview Reports" button on the survey editor, or take the survey and try "localhost:3000/surveyor_gui/reports/:id/show" where :id is the survey id. Preview reports will create some dummy responses using randomized answers.

You can also view an individual response at "localhost:3000/surveyor_gui/results/:id/show".

Use of Devise and additional customization

Devise

Surveyor_Gui will work with Devise or like gems.

Surveyor_gui adds a user_id attribute to the Survey model. It will try to set user_id to current_user when a new survey is defined. The gem does not provide any access control over survey creation and update, but you can add that to your application using the user_id attribute.

In addition, the underlying Surveyor gem provides a user_id attribute in the ResponseSet model. When responses are created, it will try to set the user_id to current_user.

Surveyor_gui reports assume there will be a unique user for eash Survey response, and reports on results by user. If the response set has a user id, (which will be the case if you've setup Devise in the typical way) it will identify the response by user_id. If no user_id is available, it will default to the response_set.id.

You may want to identify users by something other than id on reports. This can be done easily.

Surveyor_gui creates a response_set_user.rb file in your app/models directory. Edit it to define the identifier you would like to use for users in reports. For instance, if your user model is User, and you would like to see the user's email address on reports, edit the file as follows...

In the initialize method, add the following line:

@user = User.find(user_id)

In the report_user_name method, add the following line:

@user ? @user.email : nil

If you wanted the users full name, you could add something like this:

@user ? @user.last_name + ', ' + @user.first_name : nil

Note that SurveyorGui controllers expect to use surveyor_gui's own layout view, surveyor_gui_default.rb. A copy will be placed in your application's app/views/layouts directory. You may need edit it for various reasons, such as adding a Devise login/logout link. Keep in mind that surveyor_gui works in an isolated namespace, so devise helpers need to be namespaced to the main app. That means that any view local to surveyor_gui would need to refer to Devise's new_user_registration_path as main_app.new_user_registration_path. If you wanted to add a login/logout link to the surveyor_gui_default layout, you might add something like this:

<% if user_signed_in? %>
  Logged in as <strong><%= current_user.email %></strong>.
  <%= link_to 'Edit profile', main_app.edit_user_registration_path %> |
  <%= link_to "Logout", main_app.destroy_user_session_path, method: :delete %>
<% else %>
  <%= link_to "Sign up", main_app.new_user_registration_path %> |
  <%= link_to "Login", main_app.new_user_session_path %>
<% end %>

Additional Customization

If you need to perform more extensive customization of Surveyor_gui, take a look at NUBIC/surveyor for customization documentation. The process of customizing Surveyor_gui is largely the same. There are a couple of points to keep in mind. As mentioned above, Surveyor_gui expects its own layout view. If you need to change it or override the default layout in your own custom SurveyorController, make sure to add the following html (or HAML equivalent):

 <div id="surveyor-gui-mount-point" data-surveyor-gui-mount-point="<%= surveyor_gui.surveyforms_path %>"></div>

This snippet of code allows the javascript files to find the correct mountpoint for the Surveyor_gui gem, which, as mentioned above, may be modified to suit your needs. You will also need to add javascript and stylesheet include tags for surveyor_gui_all.

If you wish to customize the SurveyorController, add the following snippet to the top of your conroller:

 include Surveyor::SurveyorControllerMethods
 include SurveyorControllerCustomMethods

These statements are necessary if calling super from within your customized methods. Be sure to insert the statements in the order shown above.

If customizing models, you'll need to include both the Surveyor and Surveyor_gui libraries. For instance, to customize question.rb, start with the following shell:

class Question < ActiveRecord::Base
  include Surveyor::Models::QuestionMethods
  include SurveyorGui::Models::QuestionMethods
end

Take a look at the surveyor_gui/app/models directory for examples.

Surveyor

Please take a look at the NUBIC/surveyor on github. The README.doc file will help you to understand how the surveyor engine works. Also, the wiki has a very useful data diagram that will help you to grasp the data structure of the surveys and responses.

Screenshots

Manage surveys

Build surveys

Add questions

Get reports

surveyor_gui's People

Contributors

alepore avatar kjayma avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

surveyor_gui's Issues

latest surveyor/rails 4 support

Hi,
i'm evaluating to extend this project for my surveyor admin interface instead of starting from scratch.
Would be nice to have this working with the edge surveyor code (with rails 4 support).
Any experience/interest on this?

Clone/edit surveys

I think the survey clone is not implemented yet.
Btw, the right approach to editing a survey that has already some responses is to start a new clone?
In this case that's really important.

engine migrations

engine migrations should stay inside db/migrate/ so, on engine updates, we can install the new ones with rake railties:install:migrations.

also looks like the migration installer could be simplified because each file has the correct date, unlike surveyor.

i can look at this later

SurveyorController Pundit authorization

I've just install Surveyor gem in my application ruby 2.2.2 rails 4.2.6 with gem pundit. And have an issue: when i'm trying to visit /surveys path it raise an error from pundit:
Pundit::AuthorizationNotPerformedError at /
SurveyorController

{"controller"=>"surveyor", "action"=>"new"}

How should I add pundit verification on action in surveycontroller?

Documentation needed for layout files regarding #surveyor_gui_mount_point

As per the customization documentation, I created my own surveyor_controller.rb to specify use of the application layout. This broke the surveyor_gui js file on line 15.

surveyor_gui_mount_point = $("#surveyor_gui_mount_point").data("surveyor_gui_mount_point");
if (surveyor_gui_mount_point.length==0){
  surveyor_gui_mount_point="/";
} else {
  surveyor_gui_mount_point= surveyor_gui_mount_point.replace(/surveyforms/i, ""); 
}

It should be mentioned under Views in the readme, that when building your own layout, there needs to be an anchor point (#surveyor_gui_mount_point) for the js file.

Updated: Also the data-attribute having underscores is non-standard. The default for HAML 4.0+ is dashes. To get the underscores, I had to put Haml::Template.options[:hyphenate_data_attrs] = false into a config initializer.

Rails 6 surveyor_gui not working

Hello, @kjayma @alepore
I am using rails 6.0.3.1 and ruby 2.6.5
I am unable to put this gem many dependencies occur while added this gem
gem 'surveyor_gui'
Please let me know how will add this gem in my rails 6 application
thanks

logic for groups

Having some troubles on logic with grids..

On the logic admin side looks like every row of the grid is treated as a single question.
for example i have this grid:
screen shot 2014-06-12 at 14 26 09
and the logic form looks like this:
screen shot 2014-06-12 at 14 26 38

Is this a surveyor limitation or is possible to reference the whole group/grid as a single entity here?

Then, on the frontend, if check the trigger answer on the first question (it's a simple pick one) i get this on the grid page

ActionView::Template::Error (uninitialized constant Surveyor::Models::DependencyMethods::B):
    49:                         %span.help= a.help_text_for(@render_context, I18n.locale)
    50:                     %th &nbsp;
    51:                   - ten_questions.each_with_index do |q, i|
    52:                     %tr{:id => "q_#{q.id}", :class => "q_#{renderer} #{q.css_class(@response_set)}"}
    53:                       %th
    54:                         = q.text_for(:pre, @render_context, I18n.locale)
    55:                         = q.help_text_for(@render_context, I18n.locale)
  app/views/partials/_question_group.html.haml:52:in `block (3 levels) in _app_views_partials__question_group_html_haml__2139141595446107674_2245346220'
  app/views/partials/_question_group.html.haml:51:in `each'
  app/views/partials/_question_group.html.haml:51:in `each_with_index'
  app/views/partials/_question_group.html.haml:51:in `block (2 levels) in _app_views_partials__question_group_html_haml__2139141595446107674_2245346220'
  app/views/partials/_question_group.html.haml:43:in `each_slice'
  app/views/partials/_question_group.html.haml:43:in `block in _app_views_partials__question_group_html_haml__2139141595446107674_2245346220'
  app/views/partials/_question_group.html.haml:3:in `_app_views_partials__question_group_html_haml__2139141595446107674_2245346220'
  app/views/surveyor/edit.html.haml:17:in `block in _app_views_surveyor_edit_html_haml___241133071874636758_2244419220'
  app/views/surveyor/edit.html.haml:9:in `_app_views_surveyor_edit_html_haml___241133071874636758_2244419220'

Any idea?

Support for HTML in answers

Hi Kevin-
Is it possible to add HTML support for answers? I've noticed that question text currently supports HTML, just not the answers.

Thanks!

Rails 4.1 support

I made an initial attempt here, by simply commenting out a few lines of code. I'm currently able to run the rake tasks, create and fill out a survey.

Question groups support

This is my main concern because most of my questions uses groups.
Would like to discuss how this can be implemented, not sure how to start.

Testbed app raising Forbidden Attributes Error

I am trying out surveyor-gui before incorporating it into an application, and after the basic question survey was completed, attempting to go to the next section raised:

ActiveModel::ForbiddenAttributesError in SurveyorController#update

I was wondering if this was a strongparams work and couldn't find strongparams defined in the SurveyorController. I also attempted to set the strongparams, but I have no idea of the attributes defiend in the model. Which way?

use a css framework

just putting the idea here...
would be super nice to rewrite the admin interface to use a css framework like bootstrap or zurb foundation.
that would provide a solid, coherent and easy to customize gui and allow to remove ~600 custom CSS LOC.
simple_form has out-of-the-box support.

Postgres breaks tests

Have been developing under sqllite. When switching to Postgres, surveyform_controller_spec.rb fails.

Questions that are mandatory and dependent on another question do not display

I created a mandatory question, with two questions that display depending on the answer of the mandatory question. One of these two questions is itself mandatory, while the other is not mandatory:
screen shot 2015-01-11 at 6 57 10 pm

When I select the answer that is expected to then display the non-mandatory subquestion, it works correctly. If I select the answer that is expected to display the mandatory question, the mandatory question does not appear:
screen shot 2015-01-11 at 6 57 39 pm

images precompile

since images were moved under /lib they are not precompiled anymore by default.
fix is to move them back to /app, or manually specify what to precompile

Asset precompile fails with undefined method `column_attributes'

I didn't see anything locally, but this is what happens when pushing to Heroku:

remote: -----> Preparing app for Rails asset pipeline
remote:        Running: rake assets:precompile
remote:        rake aborted!
remote:        NoMethodError: undefined method `column_attributes' for #<struct PermittedParams params=nil>
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/surveyor_gui-0.1.2/lib/surveyor_gui/models/column_methods.rb:13:in `block in <module:ColumnMethods>'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/concern.rb:120:in `class_eval'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/concern.rb:120:in `append_features'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/surveyor_gui-0.1.2/app/models/column.rb:2:in `include'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/surveyor_gui-0.1.2/app/models/column.rb:2:in `<class:Column>'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/surveyor_gui-0.1.2/app/models/column.rb:1:in `<top (required)>'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `require'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `block in require'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:240:in `load_dependency'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `require'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:360:in `require_or_load'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:317:in `depend_on'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:233:in `require_dependency'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/surveyor_gui-0.1.2/lib/surveyor_gui/engine.rb:24:in `block (2 levels) in <class:Engine>'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/surveyor_gui-0.1.2/lib/surveyor_gui/engine.rb:23:in `each'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/surveyor_gui-0.1.2/lib/surveyor_gui/engine.rb:23:in `block in <class:Engine>'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:441:in `instance_exec'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:441:in `block in make_lambda'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:189:in `call'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:189:in `block in simple'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:190:in `call'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:190:in `block in simple'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:190:in `call'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:190:in `block in simple'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:92:in `call'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:92:in `_run_callbacks'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:734:in `_run_prepare_callbacks'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:81:in `run_callbacks'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/actionpack-4.2.0/lib/action_dispatch/middleware/reloader.rb:83:in `prepare!'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/actionpack-4.2.0/lib/action_dispatch/middleware/reloader.rb:55:in `prepare!'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/application/finisher.rb:50:in `block in <module:Finisher>'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:30:in `instance_exec'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:30:in `run'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:55:in `block in run_initializers'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:54:in `run_initializers'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/application.rb:352:in `initialize!'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/config/environment.rb:5:in `<top (required)>'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `require'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `block in require'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:240:in `load_dependency'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `require'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/application.rb:328:in `require_environment!'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/application.rb:443:in `block in run_tasks_blocks'
remote:        /tmp/build_7025e2961ac33212e9d88b2cedf49b95/vendor/bundle/ruby/2.0.0/gems/sprockets-rails-2.2.2/lib/sprockets/rails/task.rb:64:in `block (2 levels) in define'
remote:        Tasks: TOP => environment
remote:        (See full trace by running task with --trace)
remote:  !
remote:  !     Precompiling assets failed.

I'm using 0.1.2

surveyor assets

i see surveyor_gui is loading surveyor CSS and all the stuff.. is this really needed?
i think this can be a problem... for example i have some branding/customization on the surveyor side and this is messing with the gui styles..

maybe loading surveyor_gui_all on the layout instead of application can be a good default choice?

Optional text value for questions

I've programmatically pre-built the survey i'll need to manage with the gui (not with surveyor DSL).
One of the answers has also a text box (value is going into string_value field), something like this:

question1 = section.questions.new
question1.text = "Question text"
question1.pick = :one
question1.display_order = 1
question1.save!

question1.answers.create(text:"select me")
question1.answers.create(text: "this has also a text box", response_class: :string)

Any advice how to do/implement this with the gui?
Maybe just adding an optional text field near answers?

Install process causing "PermittedParameters" error

Hi, I am trying to run the 'rails g surveyor_gui:install" command. I get the following error...

/Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/surveyor_gui-9278dfff115d/app/models/permitted_params_decorator.rb:1:in <top (required)>': uninitialized constant PermittedParams (NameError) from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/surveyor_gui-9278dfff115d/lib/surveyor_gui/engine.rb:24:in block (2 levels) in class:Engine'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/surveyor_gui-9278dfff115d/lib/surveyor_gui/engine.rb:23:in each' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/surveyor_gui-9278dfff115d/lib/surveyor_gui/engine.rb:23:in block in class:Engine'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/callbacks.rb:446:in instance_exec' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/callbacks.rb:446:in block in make_lambda'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/callbacks.rb:192:in call' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/callbacks.rb:192:in block in simple'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/callbacks.rb:504:in call' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/callbacks.rb:504:in block in call'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/callbacks.rb:504:in each' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/callbacks.rb:504:in call'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/callbacks.rb:92:in __run_callbacks__' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/callbacks.rb:778:in _run_prepare_callbacks'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/callbacks.rb:81:in run_callbacks' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.2.6/lib/action_dispatch/middleware/reloader.rb:83:in prepare!'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.2.6/lib/action_dispatch/middleware/reloader.rb:55:in prepare!' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/application/finisher.rb:50:in block in module:Finisher'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/initializable.rb:30:in instance_exec' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/initializable.rb:30:in run'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/initializable.rb:55:in block in run_initializers' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:226:in block in tsort_each'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:348:in block (2 levels) in each_strongly_connected_component' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:429:in each_strongly_connected_component_from'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:347:in block in each_strongly_connected_component' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:345:in each'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:345:in call' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:345:in each_strongly_connected_component'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:224:in tsort_each' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:203:in tsort_each'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/initializable.rb:54:in run_initializers' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/application.rb:352:in initialize!'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/railtie.rb:194:in public_send' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/railtie.rb:194:in method_missing'
from /Users/bmac/Projects/Professional/psiware/config/environment.rb:5:in <top (required)>' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/application.rb:328:in require_environment!'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:142:in require_application_and_environment!' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:128:in generate_or_destroy'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:50:in generate' from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:39:in run_command!'
from /Users/bmac/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/commands.rb:17:in <top (required)>' from bin/rails:4:in require'
from bin/rails:4:in `

'

I am running rails v4.2.6 and ruby v2.2.3p173. Any thoughts on what may be wrong? I have also had some issues installing 'therubyracer' via my Gemfile, so I was going to tackle that next. Would the error above have anything to do with the lack of 'therubyracer'?

Thanks in advance!

translations

i see surveyor supports translations, but haven't looked at that yet.
would be nice, in the future, to support them.

Override suveyor partial inside surveyor_gui

First of all, Thank you for your great efforts.
I am facing difficulty to override a haml file of surveyor gem, which is originally present inside partials folder of surveyor gem.
After including surveyor_gui, i am unable to override it.

File Name - _question_group.html.haml

screen shot 2015-03-02 at 5 06 51 pm

File Location:

screen shot 2015-03-02 at 5 23 20 pm

I tried many approaches to override it and also solutions in Stack overflow. But was not able to achieve it...Can you guide in right direction...Any ideas?

Thanks

Unable to execute the command "rails g surveyor_gui:install"

I install "surveyor" and "protected_attributes" gems in my repo and ran migrations successfully too. However I have not been able to install and migrate "surveyor_gui". It fails with following error:

/Users/archanaraut/.rvm/gems/ruby-2.3.0/bundler/gems/surveyor_gui-a351b314e7a6/lib/surveyor_gui/models/column_methods.rb:13:in block in <module:ColumnMethods>': uninitialized constant SurveyorGui::Models::ColumnMethods::PermittedParams (NameError) from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/activesupport-4.1.0/lib/active_support/concern.rb:120:inclass_eval'
from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/activesupport-4.1.0/lib/active_support/concern.rb:120:in append_features' from /Users/archanaraut/.rvm/gems/ruby-2.3.0/bundler/gems/surveyor_gui-a351b314e7a6/app/models/column.rb:2:ininclude'
from /Users/archanaraut/.rvm/gems/ruby-2.3.0/bundler/gems/surveyor_gui-a351b314e7a6/app/models/column.rb:2:in <class:Column>' from /Users/archanaraut/.rvm/gems/ruby-2.3.0/bundler/gems/surveyor_gui-a351b314e7a6/app/models/column.rb:1:in<top (required)>'
from /Users/archanaraut/.rvm/gems/ruby-2.3.0/bundler/gems/surveyor_gui-a351b314e7a6/lib/surveyor_gui/engine.rb:24:in block (2 levels) in <class:Engine>' from /Users/archanaraut/.rvm/gems/ruby-2.3.0/bundler/gems/surveyor_gui-a351b314e7a6/lib/surveyor_gui/engine.rb:23:ineach'
from /Users/archanaraut/.rvm/gems/ruby-2.3.0/bundler/gems/surveyor_gui-a351b314e7a6/lib/surveyor_gui/engine.rb:23:in block in <class:Engine>' from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/activesupport-4.1.0/lib/active_support/callbacks.rb:438:ininstance_exec'
from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/activesupport-4.1.0/lib/active_support/callbacks.rb:438:in block in make_lambda' from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/activesupport-4.1.0/lib/active_support/callbacks.rb:184:inblock in simple'
from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/activesupport-4.1.0/lib/active_support/callbacks.rb:86:in run_callbacks' from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/actionpack-4.1.0/lib/action_dispatch/middleware/reloader.rb:83:inprepare!'
from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/actionpack-4.1.0/lib/action_dispatch/middleware/reloader.rb:55:in prepare!' from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/railties-4.1.0/lib/rails/application/finisher.rb:52:inblock in module:Finisher'
from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/railties-4.1.0/lib/rails/initializable.rb:30:in instance_exec' from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/railties-4.1.0/lib/rails/initializable.rb:30:inrun'
from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/railties-4.1.0/lib/rails/initializable.rb:55:in block in run_initializers' from /Users/archanaraut/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:228:inblock in tsort_each'
from /Users/archanaraut/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:350:in block (2 levels) in each_strongly_connected_component' from /Users/archanaraut/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:431:ineach_strongly_connected_component_from'
from /Users/archanaraut/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:349:in block in each_strongly_connected_component' from /Users/archanaraut/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:347:ineach'
from /Users/archanaraut/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:347:in call' from /Users/archanaraut/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:347:ineach_strongly_connected_component'
from /Users/archanaraut/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:226:in tsort_each' from /Users/archanaraut/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:205:intsort_each'
from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/railties-4.1.0/lib/rails/initializable.rb:54:in run_initializers' from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/railties-4.1.0/lib/rails/application.rb:288:ininitialize!'
from /Users/archanaraut/Documents/work/MyFreedomForms/config/environment.rb:5:in <top (required)>' from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/spring-1.7.1/lib/spring/application.rb:92:inrequire'
from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/spring-1.7.1/lib/spring/application.rb:92:in preload' from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/spring-1.7.1/lib/spring/application.rb:143:inserve'
from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/spring-1.7.1/lib/spring/application.rb:131:in block in run' from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/spring-1.7.1/lib/spring/application.rb:125:inloop'
from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/spring-1.7.1/lib/spring/application.rb:125:in run' from /Users/archanaraut/.rvm/gems/ruby-2.3.0/gems/spring-1.7.1/lib/spring/application/boot.rb:19:in<top (required)>'
from /Users/archanaraut/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in require' from /Users/archanaraut/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:inrequire'
from -e:1:in `

'

surveyor overrides

can you please explain what parts of surveyor is surveyor_gui overriding (and why)?

just noticed some partials, module SurveyorControllerCustomMethods and layouts/surveyor_modified

thanks!

Report generation doesn't scale

Hello, first of all thanks so much for this great gem, it's been a huge time saves in a lot of aspects so far for my current project.

The only issue I have come across so far deals with generating reports. We have done a small launch for our application, and got 500 users to take surveys.

The issue: the surveys with 400-500 responses take too long to create a report. Greater than 30s, the default timeout time. Our hotfix solution is to cache the reports generated, and kill the cache every 20 responses or so.

I believe the generate_report method is the culprit, with all of those joins.

I wanted to open up this issue to see if anyone else has come across this. I will be attempting a solution in the coming weeks :) Any feedback or help would be wonderful!

Why use don't use newest version of rails ?

i am installing surveyor successful on rails 4.1.1 and work well , but when i'm install surveyor-gui it's require rails 4.0
can you modify gem dependency in your gemspec?

Circular dependency detected while autoloading constant Survey

this is strange... in my app, in development when i change something i need to restart the app, otherwise i get errors like:

Circular dependency detected while autoloading constant Survey

activesupport (4.0.5) lib/active_support/dependencies.rb:461:in `load_missing_constant'
activesupport (4.0.5) lib/active_support/dependencies.rb:184:in `const_missing'
[...]/bundler/gems/surveyor_gui-b9a6245d714c/app/models/surveyform.rb:1:in `<top (required)>'
activesupport (4.0.5) lib/active_support/dependencies.rb:424:in `load'
activesupport (4.0.5) lib/active_support/dependencies.rb:424:in `block in load_file'
activesupport (4.0.5) lib/active_support/dependencies.rb:616:in `new_constants_in'
activesupport (4.0.5) lib/active_support/dependencies.rb:423:in `load_file'
activesupport (4.0.5) lib/active_support/dependencies.rb:324:in `require_or_load'
activesupport (4.0.5) lib/active_support/dependencies.rb:289:in `depend_on'
activesupport (4.0.5) lib/active_support/dependencies.rb:207:in `require_dependency'
[...]/bundler/gems/surveyor_gui-b9a6245d714c/lib/surveyor_gui/engine.rb:17:in `block (2 levels) in <class:Engine>'
[...]/bundler/gems/surveyor_gui-b9a6245d714c/lib/surveyor_gui/engine.rb:16:in `each'
[...]/bundler/gems/surveyor_gui-b9a6245d714c/lib/surveyor_gui/engine.rb:16:in `block in <class:Engine>'
activesupport (4.0.5) lib/active_support/callbacks.rb:397:in 

or

Circular dependency detected while autoloading constant SurveyformsController

etc.

Not a urgent issue because this should not happen in production, but worth keeping in mind.

Slider becomes dropdown after a logic dependency is added

I create a question that contains a slider, with a question title of "How was your day? (1-100)":
screen shot 2014-12-04 at 10 53 42 am

After I add a conditional to the question, it has turned into a dropdown select and also, the question title has also changed to "How was your day? (1-29)":
screen shot 2014-12-04 at 10 54 29 am

This effect also happens even if I go into add logic, but I don't save the logic.

If I go to take the survey right now, it will show up as a dropdown.

If I come back in to examine the question, it appears that the logic remains:
screen shot 2014-12-04 at 10 41 44 am

If I click save here, it shows up as a slider again.

I've been getting around this bug by creating a question but not specifying it as a slider. I would then add the logic to the question prior to assigning it as a slider question.

Help Required

Hi Team
I need your help in running the project .I have cloned the project and followed the instructions but I am unable to run Surveyor_gui.Can Surveyor_gui run independently or does it need to run along with the Rails app as install instructions are not clear

override surveyor layout

Thanks for your excellent gem. Needed quick help. I am unable to override base layout of survey controller from gem surveyor. Because surveyor_gui is overriding surveyor_controller.rb and rendering layout named "surveyor_modified". Can you please check once and update me on this. I also tried by creating same folder hierarchy as in gem but it was taking layout "surveyor_modified" from gem.Below is the code for quick reference from surveyor_gui gem .

https://github.com/kjayma/surveyor_gui/blob/master/app/controllers/surveyor_controller.rb

def self.included(base)
  base.send :layout, 'surveyor_gui/surveyor_modified'
end

Feature: Dependencies to support sum of integer responses

Hi Kevin -
While there is support for >, <, = dependency comparisons, are there any plans to add support for dependencies when it comes to summing responses? So for example, display question C if the sum of the answers to questions A and B sum up to 100.

Dependencies do not persist during cloning

I'm not sure if cloning is fully supported or not, as it said the cloning feature was pending in the readme.

In a survey that has been created through the GUI, conditional logic doesn't persist if that survey is cloned. So for example, I've created a survey of several sections, each containing questions with conditional logic. If I clone that survey, all of those dependencies disappear.

Using ruby 2.1.4 and rails 4.1.0 if that helps.

Postgres error while adding multiple choice question

When I try to add a multiple choice question to a survey I get the following error message:

ActiveRecord::StatementInvalid (PG::GroupingError: ERROR:  column "answers.id" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: SELECT "answers".* FROM "answers"  WHERE "answers"."question...
               ^
: SELECT "answers".* FROM "answers"  WHERE "answers"."question_id" = $1 GROUP BY text  ORDER BY display_order, display_order DESC

Using Ruby 2.1.2, Rails 4.0.8, pg 0.17.1 and Postgres 9.3.1 on OSX Mavericks.

I don't get this error when I use SQLite.

Repeating groups broken

When taking a survey, one one answer group is permitted due to uniqueness index on response sets. Users should be able to enter as many answers as they want.

Unable to perform rails g surveyor_gui:install

$ rails g surveyor_gui:install
/home/faraazc/.rvm/gems/ruby-2.1.5/gems/surveyor_gui-0.1.2/app/models/surveyform.rb:1:in <top (required)>': superclass must be a Class (Module given) (TypeError) from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:457:inload'
from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:457:in block in load_file' from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:647:innew_constants_in'
from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:456:in load_file' from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:354:inrequire_or_load'
from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:317:in depend_on' from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:233:inrequire_dependency'
from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/surveyor_gui-0.1.2/lib/surveyor_gui/engine.rb:24:in block (2 levels) in <class:Engine>' from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/surveyor_gui-0.1.2/lib/surveyor_gui/engine.rb:23:ineach'
from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/surveyor_gui-0.1.2/lib/surveyor_gui/engine.rb:23:in block in <class:Engine>' from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:441:ininstance_exec'
from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:441:in block in make_lambda' from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:189:incall'
from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:189:in block in simple' from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:190:incall'
from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:190:in block in simple' from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:92:incall'
from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:92:in _run_callbacks' from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:734:in_run_prepare_callbacks'
from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0/lib/active_support/callbacks.rb:81:in run_callbacks' from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/actionpack-4.2.0/lib/action_dispatch/middleware/reloader.rb:83:inprepare!'
from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/actionpack-4.2.0/lib/action_dispatch/middleware/reloader.rb:55:in prepare!' from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/railties-4.2.0/lib/rails/application/finisher.rb:50:inblock in module:Finisher'
from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/railties-4.2.0/lib/rails/initializable.rb:30:in instance_exec' from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/railties-4.2.0/lib/rails/initializable.rb:30:inrun'
from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/railties-4.2.0/lib/rails/initializable.rb:55:in block in run_initializers' from /home/faraazc/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/tsort.rb:226:inblock in tsort_each'
from /home/faraazc/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/tsort.rb:348:in block (2 levels) in each_strongly_connected_component' from /home/faraazc/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/tsort.rb:427:ineach_strongly_connected_component_from'
from /home/faraazc/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/tsort.rb:347:in block in each_strongly_connected_component' from /home/faraazc/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/tsort.rb:345:ineach'
from /home/faraazc/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/tsort.rb:345:in call' from /home/faraazc/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/tsort.rb:345:ineach_strongly_connected_component'
from /home/faraazc/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/tsort.rb:224:in tsort_each' from /home/faraazc/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/tsort.rb:205:intsort_each'
from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/railties-4.2.0/lib/rails/initializable.rb:54:in run_initializers' from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/railties-4.2.0/lib/rails/application.rb:352:ininitialize!'
from /home/faraazc/rails/survey/config/environment.rb:5:in <top (required)>' from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/spring-1.3.4/lib/spring/application.rb:92:inrequire'
from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/spring-1.3.4/lib/spring/application.rb:92:in preload' from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/spring-1.3.4/lib/spring/application.rb:143:inserve'
from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/spring-1.3.4/lib/spring/application.rb:131:in block in run' from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/spring-1.3.4/lib/spring/application.rb:125:inloop'
from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/spring-1.3.4/lib/spring/application.rb:125:in run' from /home/faraazc/.rvm/gems/ruby-2.1.5/gems/spring-1.3.4/lib/spring/application/boot.rb:18:in<top (required)>'
from /home/faraazc/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in require' from /home/faraazc/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:inrequire'
from -e:1:in `

'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.