qwester 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +19 -0
- data/lib/qwester/version.rb +1 -1
- data/lib/qwester.rb +8 -0
- data/lib/rails/actionpack/lib/action_controller/base.rb +3 -3
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/test.log +3832 -0
- data/test/dummy/test/functional/qwester/questionnaires_controller_test.rb +1 -1
- data/test/unit/qwester_test.rb +11 -0
- metadata +1 -1
data/README.rdoc
CHANGED
@@ -43,6 +43,19 @@ answers is given by:
|
|
43
43
|
However, these can be modified and added to as you require. That is, each
|
44
44
|
question has a unique set of answers that can be modified as required.
|
45
45
|
|
46
|
+
=== Answer selection list helper
|
47
|
+
|
48
|
+
The helper method qwester_answers_selection_list will output a set of form
|
49
|
+
elements matching the answers for the given question, as an unordered list.
|
50
|
+
The form elements will be radio buttons unless the question is marked as
|
51
|
+
'multi-answer', in which case check boxes will be used.
|
52
|
+
|
53
|
+
<%= qwester_answers_selection_list(question) %>
|
54
|
+
|
55
|
+
The controller method update_qwester_answer_store can be used to manage the
|
56
|
+
data submitted from these form elements. It will add the answers to the
|
57
|
+
current answer store.
|
58
|
+
|
46
59
|
=== Answer store
|
47
60
|
|
48
61
|
Submitted answers are stored in an AnswerStore object. On creation, each
|
@@ -50,6 +63,12 @@ answer_store is assigned a session_id that can then be used within session,
|
|
50
63
|
to identify the current user's answer_store. In this way, questionnaire
|
51
64
|
submissions can be tracked across multiple submissions.
|
52
65
|
|
66
|
+
By default the current answer_store.session_id is stored in
|
67
|
+
session[:qwester_answer_store]. If you wish to use a different session key,
|
68
|
+
set Qwester.session_key in the qwester initializer:
|
69
|
+
|
70
|
+
Qwester.session_key = :your_preferred_key
|
71
|
+
|
53
72
|
=== Rule set
|
54
73
|
|
55
74
|
Groups of answers can be matched to rule sets using:
|
data/lib/qwester/version.rb
CHANGED
data/lib/qwester.rb
CHANGED
@@ -9,7 +9,7 @@ module ActionController
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def get_qwester_answer_store(create_new = false)
|
12
|
-
if session[
|
12
|
+
if session[Qwester.session_key]
|
13
13
|
current_qwester_answer_store
|
14
14
|
elsif create_new
|
15
15
|
new_qwester_answer_store
|
@@ -18,7 +18,7 @@ module ActionController
|
|
18
18
|
helper_method :get_qwester_answer_store
|
19
19
|
|
20
20
|
def current_qwester_answer_store
|
21
|
-
@qwester_answer_store = Qwester::AnswerStore.find_by_session_id(session[
|
21
|
+
@qwester_answer_store = Qwester::AnswerStore.find_by_session_id(session[Qwester.session_key])
|
22
22
|
end
|
23
23
|
|
24
24
|
def new_qwester_answer_store
|
@@ -27,7 +27,7 @@ module ActionController
|
|
27
27
|
|
28
28
|
def set_qwester_answer_store(answer_store)
|
29
29
|
@qwester_answer_store = answer_store
|
30
|
-
session[
|
30
|
+
session[Qwester.session_key] = @qwester_answer_store.session_id
|
31
31
|
@qwester_answer_store
|
32
32
|
end
|
33
33
|
|
data/test/dummy/db/test.sqlite3
CHANGED
Binary file
|