unique_rapidfire 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.md +199 -0
  3. data/Rakefile +36 -0
  4. data/app/assets/javascripts/rapidfire/application.js +12 -0
  5. data/app/assets/stylesheets/rapidfire/application.css +22 -0
  6. data/app/controllers/rapidfire/answer_groups_controller.rb +34 -0
  7. data/app/controllers/rapidfire/application_controller.rb +11 -0
  8. data/app/controllers/rapidfire/question_groups_controller.rb +48 -0
  9. data/app/controllers/rapidfire/questions_controller.rb +58 -0
  10. data/app/helpers/rapidfire/application_helper.rb +12 -0
  11. data/app/models/rapidfire/answer.rb +18 -0
  12. data/app/models/rapidfire/answer_group.rb +12 -0
  13. data/app/models/rapidfire/question.rb +44 -0
  14. data/app/models/rapidfire/question_group.rb +10 -0
  15. data/app/models/rapidfire/questions/checkbox.rb +21 -0
  16. data/app/models/rapidfire/questions/date.rb +16 -0
  17. data/app/models/rapidfire/questions/long.rb +6 -0
  18. data/app/models/rapidfire/questions/numeric.rb +21 -0
  19. data/app/models/rapidfire/questions/radio.rb +6 -0
  20. data/app/models/rapidfire/questions/select.rb +19 -0
  21. data/app/models/rapidfire/questions/short.rb +6 -0
  22. data/app/serializers/rapidfire/question_result_serializer.rb +15 -0
  23. data/app/services/rapidfire/answer_group_builder.rb +48 -0
  24. data/app/services/rapidfire/base_service.rb +21 -0
  25. data/app/services/rapidfire/question_form.rb +85 -0
  26. data/app/services/rapidfire/question_group_results.rb +29 -0
  27. data/app/services/rapidfire/question_result.rb +11 -0
  28. data/app/views/rapidfire/answer_groups/new.html.erb +11 -0
  29. data/app/views/rapidfire/answers/_checkbox.html.erb +11 -0
  30. data/app/views/rapidfire/answers/_date.html.erb +4 -0
  31. data/app/views/rapidfire/answers/_errors.html.erb +7 -0
  32. data/app/views/rapidfire/answers/_long.html.erb +4 -0
  33. data/app/views/rapidfire/answers/_numeric.html.erb +4 -0
  34. data/app/views/rapidfire/answers/_radio.html.erb +9 -0
  35. data/app/views/rapidfire/answers/_select.html.erb +4 -0
  36. data/app/views/rapidfire/answers/_short.html.erb +4 -0
  37. data/app/views/rapidfire/question_groups/_form.html.erb +15 -0
  38. data/app/views/rapidfire/question_groups/_question_group.html.erb +18 -0
  39. data/app/views/rapidfire/question_groups/index.html.erb +23 -0
  40. data/app/views/rapidfire/question_groups/new.html.erb +1 -0
  41. data/app/views/rapidfire/question_groups/results.html.erb +32 -0
  42. data/app/views/rapidfire/questions/_form.html.erb +40 -0
  43. data/app/views/rapidfire/questions/_question.html.erb +9 -0
  44. data/app/views/rapidfire/questions/edit.html.erb +1 -0
  45. data/app/views/rapidfire/questions/index.html.erb +21 -0
  46. data/app/views/rapidfire/questions/new.html.erb +1 -0
  47. data/config/database.yml +8 -0
  48. data/config/routes.rb +10 -0
  49. data/db/migrate/20130502170733_create_rapidfire_question_groups.rb +8 -0
  50. data/db/migrate/20130502195310_create_rapidfire_questions.rb +15 -0
  51. data/db/migrate/20130502195415_create_rapidfire_answer_groups.rb +12 -0
  52. data/db/migrate/20130502195504_create_rapidfire_answers.rb +13 -0
  53. data/lib/generators/rapidfire/views_generator.rb +23 -0
  54. data/lib/rapidfire.rb +6 -0
  55. data/lib/rapidfire/engine.rb +7 -0
  56. data/lib/rapidfire/version.rb +3 -0
  57. data/lib/tasks/rapidfire_tasks.rake +4 -0
  58. metadata +223 -0
@@ -0,0 +1,4 @@
1
+ <%= render partial: "rapidfire/answers/errors", locals: {answer: answer} %>
2
+
3
+ <%= f.label :answer_text, answer.question.question_text %>
4
+ <%= f.text_field :answer_text %>
@@ -0,0 +1,7 @@
1
+ <%- if answer.errors.any? %>
2
+ <ul>
3
+ <%- answer.errors.full_messages.each do |message| %>
4
+ <li><%= message %></li>
5
+ <% end %>
6
+ </ul>
7
+ <% end %>
@@ -0,0 +1,4 @@
1
+ <%= render partial: "rapidfire/answers/errors", locals: {answer: answer} %>
2
+
3
+ <%= f.label :answer_text, answer.question.question_text %>
4
+ <%= f.text_area :answer_text, :rows => 5 %>
@@ -0,0 +1,4 @@
1
+ <%= render partial: "rapidfire/answers/errors", locals: {answer: answer} %>
2
+
3
+ <%= f.label :answer_text, answer.question.question_text %>
4
+ <%= f.text_field :answer_text %>
@@ -0,0 +1,9 @@
1
+ <%= render partial: "rapidfire/answers/errors", locals: {answer: answer} %>
2
+
3
+ <%= f.label :answer_text, answer.question.question_text %>
4
+ <%- answer.question.options.each do |option| %>
5
+ <%= f.label "answer_text_#{option}", option do %>
6
+ <%= f.radio_button :answer_text, option %>
7
+ <%= option %>
8
+ <% end %>
9
+ <% end %>
@@ -0,0 +1,4 @@
1
+ <%= render partial: "rapidfire/answers/errors", locals: {answer: answer} %>
2
+
3
+ <%= f.label :answer_text, answer.question.question_text %>
4
+ <%= f.select :answer_text, answer.question.options, include_blank: true %>
@@ -0,0 +1,4 @@
1
+ <%= render partial: "rapidfire/answers/errors", locals: {answer: answer} %>
2
+
3
+ <%= f.label :answer_text, answer.question.question_text %>
4
+ <%= f.text_field :answer_text %>
@@ -0,0 +1,15 @@
1
+ <h3><%= question_group.new_record? ? "New Group" : "Edit Group" %></h3>
2
+
3
+ <%= form_for question_group do |f| %>
4
+ <%- if question_group.errors.any? %>
5
+ <ul>
6
+ <%- question_group.errors.full_messages.each do |message| %>
7
+ <li><%= message %></li>
8
+ <% end %>
9
+ </ul>
10
+ <% end %>
11
+
12
+ <%= f.label :name %>
13
+ <%= f.text_field :name %>
14
+ <%= f.submit %>
15
+ <% end %>
@@ -0,0 +1,18 @@
1
+ <tr id= "question_group_<%= question_group.id %>">
2
+ <td>
3
+ <% if can_administer? %>
4
+ <%= link_to question_group.name, question_group_questions_path(question_group) %>
5
+ <% else %>
6
+ <%= question_group.name %>
7
+ <% end %>
8
+ </td>
9
+ <td>
10
+ <ul class="horizontal-list">
11
+ <li><%= link_to "Answer Questions", new_question_group_answer_group_path(question_group) %></li>
12
+ <% if can_administer? %>
13
+ <li><%= link_to "Results", [:results, question_group] %></li>
14
+ <li><%= link_to "Delete", [question_group], method: :delete %></li>
15
+ <% end %>
16
+ </ul>
17
+ </td>
18
+ </tr>
@@ -0,0 +1,23 @@
1
+ <h2>
2
+ Question Groups
3
+ <% if can_administer? %>
4
+ <%= link_to "New Group", new_question_group_path %>
5
+ <% end %>
6
+ </h2>
7
+ <hr/>
8
+
9
+ <table>
10
+ <colgroup>
11
+ <col>
12
+ <col width="250">
13
+ </colgroup>
14
+ <thead>
15
+ <tr>
16
+ <th>Question Group</th>
17
+ <th></th>
18
+ </tr>
19
+ </thead>
20
+ <tbody>
21
+ <%= render partial: "question_group", collection: @question_groups %>
22
+ </tbody>
23
+ </table>
@@ -0,0 +1 @@
1
+ <%= render partial: 'form', locals: {question_group: @question_group} %>
@@ -0,0 +1,32 @@
1
+ <h1>Results</h1>
2
+
3
+ <%- @question_group_results.each do |result| %>
4
+ <div>
5
+ <h4><%= result.question.question_text %></h4>
6
+ <p>
7
+ <%- if result.results.is_a?(Array) %>
8
+ <ol>
9
+ <%- result.results.each do |answer| %>
10
+ <li><%= answer %></li>
11
+ <% end %>
12
+ </ol>
13
+ <% elsif result.results.is_a?(Hash) %>
14
+ <table>
15
+ <thead>
16
+ <tr>
17
+ <th>Option</th>
18
+ <th>Count</th>
19
+ </tr>
20
+ </thead>
21
+ <tbody>
22
+ <%- result.results.each do |option, count| %>
23
+ <tr>
24
+ <td><%= option %></td>
25
+ <td><%= count %></td>
26
+ </tr>
27
+ <% end %>
28
+ </tbody>
29
+ </table>
30
+ <% end %>
31
+ </div>
32
+ <% end %>
@@ -0,0 +1,40 @@
1
+ <h3>Question</h3>
2
+
3
+ <%= form_for [@question_group, question] do |f| %>
4
+ <%- unless question.errors.empty? %>
5
+ <ul>
6
+ <%- question.errors.full_messages.each do |message| %>
7
+ <li><%= message %></li>
8
+ <% end %>
9
+ </ul>
10
+ <% end %>
11
+
12
+ <%= f.label :type %>
13
+ <%= f.select :type, ::Rapidfire::QuestionForm::QUESTION_TYPES, {}, id: "question_type" %>
14
+
15
+ <%= f.label :question_text %>
16
+ <%= f.text_field :question_text %>
17
+
18
+ <%= f.label :answer_options %>
19
+ <%= f.text_area :answer_options, rows: 5 %>
20
+
21
+ <h4>Other options</h4>
22
+ <hr/>
23
+
24
+ <%= f.label :answer_presence %>
25
+ <%= f.check_box :answer_presence %>
26
+
27
+ <%= f.label :answer_minimum_length %>
28
+ <%= f.text_field :answer_minimum_length %>
29
+
30
+ <%= f.label :answer_maximum_length %>
31
+ <%= f.text_field :answer_maximum_length %>
32
+
33
+ <%= f.label :answer_greater_than_or_equal_to %>
34
+ <%= f.text_field :answer_greater_than_or_equal_to %>
35
+
36
+ <%= f.label :answer_less_than_or_equal_to %>
37
+ <%= f.text_field :answer_less_than_or_equal_to %>
38
+
39
+ <%= f.submit %>
40
+ <% end %>
@@ -0,0 +1,9 @@
1
+ <tr id="question_<%= question.id %>">
2
+ <td><%= question.question_text %></td>
3
+ <td>
4
+ <ul class="horizontal-list">
5
+ <li><%= link_to "Edit", [:edit, question.question_group, question] %></li>
6
+ <li><%= link_to "Delete", [question.question_group, question], method: :delete %></li>
7
+ </ul>
8
+ </td>
9
+ </tr>
@@ -0,0 +1 @@
1
+ <%= render partial: 'form', locals: {question: @question} %>
@@ -0,0 +1,21 @@
1
+ <h2>
2
+ Questions
3
+ <%= link_to "New Question", new_question_group_question_path(@question_group) %>
4
+ </h2>
5
+ <hr/>
6
+
7
+ <table>
8
+ <colgroup>
9
+ <col>
10
+ <col width="250">
11
+ </colgroup>
12
+ <thead>
13
+ <tr>
14
+ <th>Question</th>
15
+ <th></th>
16
+ </tr>
17
+ </thead>
18
+ <tbody>
19
+ <%= render partial: "question", collection: @questions %>
20
+ </tbody>
21
+ </table>
@@ -0,0 +1 @@
1
+ <%= render partial: 'form', locals: {question: @question} %>
@@ -0,0 +1,8 @@
1
+ # Warning: The database defined as "test" will be erased and
2
+ # re-generated from your development database when you run "rake".
3
+ # Do not set this db to the same as development or production.
4
+ test:
5
+ adapter: sqlite3
6
+ database: db/test.sqlite3
7
+ pool: 5
8
+ timeout: 5000
@@ -0,0 +1,10 @@
1
+ Rapidfire::Engine.routes.draw do
2
+ resources :question_groups do
3
+ get 'results', on: :member
4
+
5
+ resources :questions
6
+ resources :answer_groups, only: [:new, :create]
7
+ end
8
+
9
+ root :to => "question_groups#index"
10
+ end
@@ -0,0 +1,8 @@
1
+ class CreateRapidfireQuestionGroups < ActiveRecord::Migration
2
+ def change
3
+ create_table :rapidfire_question_groups do |t|
4
+ t.string :name
5
+ t.timestamps
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,15 @@
1
+ class CreateRapidfireQuestions < ActiveRecord::Migration
2
+ def change
3
+ create_table :rapidfire_questions do |t|
4
+ t.references :question_group
5
+ t.string :type
6
+ t.string :question_text
7
+ t.integer :position
8
+ t.text :answer_options
9
+ t.text :validation_rules
10
+
11
+ t.timestamps
12
+ end
13
+ add_index :rapidfire_questions, :question_group_id
14
+ end
15
+ end
@@ -0,0 +1,12 @@
1
+ class CreateRapidfireAnswerGroups < ActiveRecord::Migration
2
+ def change
3
+ create_table :rapidfire_answer_groups do |t|
4
+ t.references :question_group
5
+ t.references :user, polymorphic: true
6
+
7
+ t.timestamps
8
+ end
9
+ add_index :rapidfire_answer_groups, :question_group_id
10
+ add_index :rapidfire_answer_groups, [:user_id, :user_type]
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ class CreateRapidfireAnswers < ActiveRecord::Migration
2
+ def change
3
+ create_table :rapidfire_answers do |t|
4
+ t.references :answer_group
5
+ t.references :question
6
+ t.text :answer_text
7
+
8
+ t.timestamps
9
+ end
10
+ add_index :rapidfire_answers, :answer_group_id
11
+ add_index :rapidfire_answers, :question_id
12
+ end
13
+ end
@@ -0,0 +1,23 @@
1
+ # inspired by devise and forem
2
+ require 'rails/generators'
3
+
4
+ module Rapidfire
5
+ module Generators
6
+ class ViewsGenerator < Rails::Generators::Base
7
+ source_root File.expand_path("../../../../app/views/rapidfire", __FILE__)
8
+ desc "Copies default Rapidfire views to your application."
9
+
10
+ def copy_views
11
+ view_directory :answer_groups
12
+ view_directory :answers
13
+ view_directory :question_groups
14
+ view_directory :questions
15
+ end
16
+
17
+ protected
18
+ def view_directory(name)
19
+ directory name.to_s, "app/views/rapidfire/#{name}"
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,6 @@
1
+ require "rapidfire/engine"
2
+
3
+ module Rapidfire
4
+ class AccessDenied < StandardError
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ require 'active_model_serializers'
2
+
3
+ module Rapidfire
4
+ class Engine < ::Rails::Engine
5
+ isolate_namespace Rapidfire
6
+ end
7
+ end
@@ -0,0 +1,3 @@
1
+ module Rapidfire
2
+ VERSION = "1.0.0"
3
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :rapidfire do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,223 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: unique_rapidfire
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Akeel Qureshi
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-02-26 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: &9993020 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 3.2.13
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *9993020
25
+ - !ruby/object:Gem::Dependency
26
+ name: active_model_serializers
27
+ requirement: &9990540 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: 0.8.1
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *9990540
36
+ - !ruby/object:Gem::Dependency
37
+ name: sqlite3
38
+ requirement: &9989800 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *9989800
47
+ - !ruby/object:Gem::Dependency
48
+ name: quiet_assets
49
+ requirement: &10005340 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *10005340
58
+ - !ruby/object:Gem::Dependency
59
+ name: rspec-rails
60
+ requirement: &10003980 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *10003980
69
+ - !ruby/object:Gem::Dependency
70
+ name: shoulda
71
+ requirement: &10003020 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *10003020
80
+ - !ruby/object:Gem::Dependency
81
+ name: database_cleaner
82
+ requirement: &10002400 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *10002400
91
+ - !ruby/object:Gem::Dependency
92
+ name: factory_girl_rails
93
+ requirement: &10001520 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: *10001520
102
+ - !ruby/object:Gem::Dependency
103
+ name: capybara
104
+ requirement: &10000660 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - =
108
+ - !ruby/object:Gem::Version
109
+ version: 2.0.3
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: *10000660
113
+ - !ruby/object:Gem::Dependency
114
+ name: capybara-webkit
115
+ requirement: &9999740 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: *9999740
124
+ - !ruby/object:Gem::Dependency
125
+ name: launchy
126
+ requirement: &9998820 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: *9998820
135
+ description: One stop solution for all survey related requirements! Its tad easy!.
136
+ email:
137
+ - akeel.q@cisinlabs.com
138
+ executables: []
139
+ extensions: []
140
+ extra_rdoc_files: []
141
+ files:
142
+ - app/helpers/rapidfire/application_helper.rb
143
+ - app/views/rapidfire/answers/_long.html.erb
144
+ - app/views/rapidfire/answers/_select.html.erb
145
+ - app/views/rapidfire/answers/_checkbox.html.erb
146
+ - app/views/rapidfire/answers/_short.html.erb
147
+ - app/views/rapidfire/answers/_errors.html.erb
148
+ - app/views/rapidfire/answers/_radio.html.erb
149
+ - app/views/rapidfire/answers/_numeric.html.erb
150
+ - app/views/rapidfire/answers/_date.html.erb
151
+ - app/views/rapidfire/questions/_question.html.erb
152
+ - app/views/rapidfire/questions/_form.html.erb
153
+ - app/views/rapidfire/questions/new.html.erb
154
+ - app/views/rapidfire/questions/edit.html.erb
155
+ - app/views/rapidfire/questions/index.html.erb
156
+ - app/views/rapidfire/answer_groups/new.html.erb
157
+ - app/views/rapidfire/question_groups/_form.html.erb
158
+ - app/views/rapidfire/question_groups/new.html.erb
159
+ - app/views/rapidfire/question_groups/_question_group.html.erb
160
+ - app/views/rapidfire/question_groups/results.html.erb
161
+ - app/views/rapidfire/question_groups/index.html.erb
162
+ - app/controllers/rapidfire/application_controller.rb
163
+ - app/controllers/rapidfire/answer_groups_controller.rb
164
+ - app/controllers/rapidfire/questions_controller.rb
165
+ - app/controllers/rapidfire/question_groups_controller.rb
166
+ - app/assets/stylesheets/rapidfire/application.css
167
+ - app/assets/javascripts/rapidfire/application.js
168
+ - app/models/rapidfire/question.rb
169
+ - app/models/rapidfire/questions/numeric.rb
170
+ - app/models/rapidfire/questions/radio.rb
171
+ - app/models/rapidfire/questions/select.rb
172
+ - app/models/rapidfire/questions/date.rb
173
+ - app/models/rapidfire/questions/short.rb
174
+ - app/models/rapidfire/questions/long.rb
175
+ - app/models/rapidfire/questions/checkbox.rb
176
+ - app/models/rapidfire/answer.rb
177
+ - app/models/rapidfire/question_group.rb
178
+ - app/models/rapidfire/answer_group.rb
179
+ - app/services/rapidfire/answer_group_builder.rb
180
+ - app/services/rapidfire/base_service.rb
181
+ - app/services/rapidfire/question_result.rb
182
+ - app/services/rapidfire/question_group_results.rb
183
+ - app/services/rapidfire/question_form.rb
184
+ - app/serializers/rapidfire/question_result_serializer.rb
185
+ - config/database.yml
186
+ - config/routes.rb
187
+ - db/migrate/20130502195415_create_rapidfire_answer_groups.rb
188
+ - db/migrate/20130502195504_create_rapidfire_answers.rb
189
+ - db/migrate/20130502170733_create_rapidfire_question_groups.rb
190
+ - db/migrate/20130502195310_create_rapidfire_questions.rb
191
+ - lib/tasks/rapidfire_tasks.rake
192
+ - lib/rapidfire/engine.rb
193
+ - lib/rapidfire/version.rb
194
+ - lib/rapidfire.rb
195
+ - lib/generators/rapidfire/views_generator.rb
196
+ - MIT-LICENSE
197
+ - Rakefile
198
+ - README.md
199
+ homepage: https://github.com/akeelahmedqureshi/unique_rapidfire
200
+ licenses: []
201
+ post_install_message:
202
+ rdoc_options: []
203
+ require_paths:
204
+ - lib
205
+ required_ruby_version: !ruby/object:Gem::Requirement
206
+ none: false
207
+ requirements:
208
+ - - ! '>='
209
+ - !ruby/object:Gem::Version
210
+ version: '0'
211
+ required_rubygems_version: !ruby/object:Gem::Requirement
212
+ none: false
213
+ requirements:
214
+ - - ! '>='
215
+ - !ruby/object:Gem::Version
216
+ version: '0'
217
+ requirements: []
218
+ rubyforge_project:
219
+ rubygems_version: 1.8.11
220
+ signing_key:
221
+ specification_version: 3
222
+ summary: Unique surveys made easy.
223
+ test_files: []