active_record_survey 0.1.8 → 0.1.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +46 -1
- data/bin/Example_1.png +0 -0
- data/bin/Example_1.svg +3 -0
- data/bin/Example_1.xml +2 -0
- data/lib/active_record_survey/version.rb +1 -1
- data/lib/generators/active_record_survey/templates/migration_0.1.0.rb +0 -1
- data/spec/active_record_survey/node/answer/boolean_spec.rb +6 -6
- data/spec/active_record_survey/node/answer/rank_spec.rb +6 -6
- data/spec/active_record_survey/node/answer/scale_spec.rb +4 -4
- data/spec/active_record_survey/node/answer/text_spec.rb +5 -5
- data/spec/active_record_survey/survey_spec.rb +13 -13
- metadata +7 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 135e7023d35c5af25cb9b0d68a8809dbfd5591ac
|
4
|
+
data.tar.gz: c0cef2a7b97e07073c762c9e83a9fde9c002fdad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65791020c8e6d72375cdb4e9f492b0fdbd32116169311eb91e794a681fbd626bfb5d0b3c160825a3be0689d32f1ed25ac96e0fad7f5655a8bcd4c89835cada30
|
7
|
+
data.tar.gz: 44836e1c6182ad21517f00d4f2dc0fa6881df7b2fa2804439f30f07730e0284beadeacd8e6aace4249fce3aa316040a695ce2a6e71c0d2f98ced92511de99781
|
data/README.md
CHANGED
@@ -5,6 +5,10 @@
|
|
5
5
|
|
6
6
|
An attempt at a more versatile data structure for making and taking surveys.
|
7
7
|
|
8
|
+
This gem tries to be as unopinionated as possible on the peripheral details on how you implement a survey.
|
9
|
+
|
10
|
+
The goal is to give a simple interface for creating surveys and validating the answers given to them.
|
11
|
+
|
8
12
|
## Installation
|
9
13
|
|
10
14
|
Add this line to your application's Gemfile:
|
@@ -23,7 +27,48 @@ Or install it yourself as:
|
|
23
27
|
|
24
28
|
## Usage
|
25
29
|
|
26
|
-
|
30
|
+
See the spec file for more detailed usage.
|
31
|
+
|
32
|
+
**Build a basic survey**
|
33
|
+
```ruby
|
34
|
+
|
35
|
+
q1 = ActiveRecordSurvey::Node::Question.new() # Q1
|
36
|
+
q1_a1 = ActiveRecordSurvey::Node::Answer.new() # Q1 A1
|
37
|
+
q1_a2 = ActiveRecordSurvey::Node::Answer.new() # Q1 A2
|
38
|
+
q1_a3 = ActiveRecordSurvey::Node::Answer.new() # Q1 A3
|
39
|
+
|
40
|
+
q2 = ActiveRecordSurvey::Node::Question.new() # Q2
|
41
|
+
q2_a1 = ActiveRecordSurvey::Node::Answer.new() # Q2 A1
|
42
|
+
q2_a2 = ActiveRecordSurvey::Node::Answer.new() # Q2 A2
|
43
|
+
|
44
|
+
q3 = ActiveRecordSurvey::Node::Question.new() # Q3
|
45
|
+
q3_a1 = ActiveRecordSurvey::Node::Answer.new() # Q3 A1
|
46
|
+
q3_a2 = ActiveRecordSurvey::Node::Answer.new() # Q3 A2
|
47
|
+
|
48
|
+
q4 = ActiveRecordSurvey::Node::Question.new() # Q4
|
49
|
+
q4_a1 = ActiveRecordSurvey::Node::Answer.new() # Q4 A1
|
50
|
+
q4_a2 = ActiveRecordSurvey::Node::Answer.new() # Q4 A2
|
51
|
+
|
52
|
+
q1_nodes = survey.build_question(q1, [q1_a1, q1_a2, q1_a3])
|
53
|
+
q2_nodes = survey.build_question(q2, [q2_a1, q2_a2], q1_nodes[1])
|
54
|
+
q4_nodes = survey.build_question(q4, [q4_a1, q4_a2], q2_nodes[1])
|
55
|
+
|
56
|
+
q3_nodes = survey.build_question(q3, [q3_a1, q3_a2], q2_nodes[2])
|
57
|
+
q4_nodes = survey.build_question(q4, [q4_a1, q4_a2], q3_nodes[1])
|
58
|
+
q4_nodes = survey.build_question(q4, [q4_a1, q4_a2], q3_nodes[2])
|
59
|
+
|
60
|
+
q3_nodes = survey.build_question(q3, [q3_a1, q3_a2], q1_nodes[2])
|
61
|
+
q4_nodes = survey.build_question(q4, [q4_a1, q4_a2], q3_nodes[1])
|
62
|
+
q4_nodes = survey.build_question(q4, [q4_a1, q4_a2], q3_nodes[2])
|
63
|
+
|
64
|
+
q4_nodes = survey.build_question(q4, [q4_a1, q4_a2], q1_nodes[3])
|
65
|
+
|
66
|
+
survey.save
|
67
|
+
```
|
68
|
+
|
69
|
+
The will build a survey with the following node structure.
|
70
|
+
|
71
|
+
![alt tag](https://raw.github.com/butchmarshall/active_record_survey/bin/Example_1.png)
|
27
72
|
|
28
73
|
## Development
|
29
74
|
|
data/bin/Example_1.png
ADDED
Binary file
|
data/bin/Example_1.svg
ADDED
@@ -0,0 +1,3 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="533px" height="883px" version="1.1" style="background-color: rgb(255, 255, 255);"><defs/><g transform="translate(0.5,0.5)"><ellipse cx="301" cy="41" rx="60" ry="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(286,35)"><switch><foreignObject pointer-events="all" width="29" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 29px; white-space: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Q1</div></div></foreignObject><text x="15" y="14" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 131 121 L 171 161 L 131 201 L 91 161 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(117,155)"><switch><foreignObject pointer-events="all" width="27" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 27px; white-space: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">A1</div></div></foreignObject><text x="14" y="14" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 301 121 L 341 161 L 301 201 L 261 161 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(287,155)"><switch><foreignObject pointer-events="all" width="27" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 27px; white-space: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">A2</div></div></foreignObject><text x="14" y="14" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 491 121 L 531 161 L 491 201 L 451 161 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(477,155)"><switch><foreignObject pointer-events="all" width="27" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 27px; white-space: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">A3</div></div></foreignObject><text x="14" y="14" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><ellipse cx="91" cy="291" rx="60" ry="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(76,285)"><switch><foreignObject pointer-events="all" width="29" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 29px; white-space: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Q2</div></div></foreignObject><text x="15" y="14" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 41 371 L 81 411 L 41 451 L 1 411 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(27,405)"><switch><foreignObject pointer-events="all" width="27" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 27px; white-space: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">A1</div></div></foreignObject><text x="14" y="14" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 141 371 L 181 411 L 141 451 L 101 411 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(127,405)"><switch><foreignObject pointer-events="all" width="27" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 27px; white-space: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">A2</div></div></foreignObject><text x="14" y="14" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><ellipse cx="301" cy="411" rx="60" ry="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(286,405)"><switch><foreignObject pointer-events="all" width="29" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 29px; white-space: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Q3</div></div></foreignObject><text x="15" y="14" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 251 491 L 291 531 L 251 571 L 211 531 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(237,525)"><switch><foreignObject pointer-events="all" width="27" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 27px; white-space: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">A1</div></div></foreignObject><text x="14" y="14" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 351 491 L 391 531 L 351 571 L 311 531 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(337,525)"><switch><foreignObject pointer-events="all" width="27" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 27px; white-space: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">A2</div></div></foreignObject><text x="14" y="14" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><ellipse cx="301" cy="721" rx="60" ry="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(286,715)"><switch><foreignObject pointer-events="all" width="29" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 29px; white-space: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Q4</div></div></foreignObject><text x="15" y="14" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 251 801 L 291 841 L 251 881 L 211 841 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(237,835)"><switch><foreignObject pointer-events="all" width="27" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 27px; white-space: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">A1</div></div></foreignObject><text x="14" y="14" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 351 801 L 391 841 L 351 881 L 311 841 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(337,835)"><switch><foreignObject pointer-events="all" width="27" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 27px; white-space: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">A2</div></div></foreignObject><text x="14" y="14" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 259 69 L 136.9 118.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 132.04 120.58 L 137.2 114.7 L 136.9 118.6 L 139.84 121.19 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 343 69 L 484.99 118.89" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 489.95 120.63 L 482.18 121.61 L 484.99 118.89 L 484.5 115.01 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 301 81 L 301 114.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 301 119.88 L 297.5 112.88 L 301 114.63 L 304.5 112.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 131 201 L 94.98 246.03" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 91.7 250.13 L 93.34 242.47 L 94.98 246.03 L 98.8 246.85 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 49 319 L 41.97 364.71" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 41.17 369.9 L 38.78 362.44 L 41.97 364.71 L 45.69 363.51 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 133 319 L 140.19 374.68" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 140.86 379.89 L 136.49 373.4 L 140.19 374.68 L 143.43 372.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 301 201 L 301 364.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 301 369.88 L 297.5 362.88 L 301 364.63 L 304.5 362.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 181 411 L 234.63 411" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 239.88 411 L 232.88 414.5 L 234.63 411 L 232.88 407.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 41 451 L 237.21 715.88" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 240.33 720.1 L 233.36 716.56 L 237.21 715.88 L 238.98 712.39 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 491 201 L 362.54 714.82" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 361.27 719.92 L 359.57 712.28 L 362.54 714.82 L 366.36 713.97 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 324.08 447.92 L 347.62 485.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 350.41 490.05 L 343.73 485.97 L 347.62 485.6 L 349.67 482.26 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 277.92 447.92 L 254.38 485.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 251.59 490.05 L 252.33 482.26 L 254.38 485.6 L 258.27 485.97 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 351 571 L 343.42 686.65" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 343.07 691.88 L 340.04 684.67 L 343.42 686.65 L 347.02 685.13 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 251 571 L 258.58 686.65" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 258.93 691.88 L 254.98 685.13 L 258.58 686.65 L 261.96 684.67 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 343 749 L 350.03 794.71" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 350.83 799.9 L 346.31 793.51 L 350.03 794.71 L 353.22 792.44 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 259 749 L 251.97 794.71" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 251.17 799.9 L 248.78 792.44 L 251.97 794.71 L 255.69 793.51 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/></g></svg>
|
data/bin/Example_1.xml
ADDED
@@ -0,0 +1,2 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<mxfile userAgent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36" type="browser"><diagram>7VtNc5swEP01PiZjkL9yTNM0vXQmmRzaHgkohgm2PLIc2/31EWIXkIUzTgJI7uCL0QqE9u3TandlD8jNYnfHg1X8i0U0HfjDaDcg3we+743ISH5lkn0umU5lKxPMeRLBTaXgMflHQTgE6SaJ6Fq7UTCWimSlC0O2XNJQaLJnluqvWAVzHL4UPIZBakp/J5GIc+nMn5TynzSZx/gab3KV9zwF4cucs80S3jfwybP65N2LAMdSWpFbiRhnTA6TXS12NzTNUENActV/HOktJsnpEiby/gMA+GuQbkDPBxhjLfaounxEQiob37ZxIujjKgiznq20qpTFYpHKlicvYTDKBUUjmxNSIpjNHWULKvhe3gIPkAkYFzgxgua2xNwDnYZxBe8ZyAIw/bwYudReXgAA9WAQA4xrEwwes8XTRr6lAzAKpgMYHoJTQQMVbxoMWJtVMIAslsAgqJUFMMYmGEAWS2CMp/bAAL9W9RkmM7r0Gd5YB8O/6tBp4BJ1x2sUqqILxSl2wA0PZuuO28Ad0AoaM3OpmH7D6vZag0Z7S8X0HJaXCiE6HGNsd0AORNmdpTKyiYYZfD1ACOLIUpmiwbpYKnXhl1tLZVYTmbdGjpr4y62l0iUaxETDXCjL6JpztpWtMA3W6yTUIVgLzl7oDUsZVw+QofoUPZjiZvdKSPj+j2wML8fY/Js1s8YuEaoLrjN5CTGNjJz6AGA5abbhyk5lNioCPqdwl3ILphkqMGPwV4UZZZymgUhe9UnUYQ9vuGeJnF4ZSelGxrASB8inDs9Uk+yDYY6ktDhMrq4xjKJBofJpzIBiRGfMAOvjNVr/PcY0xgy1Cmwx46JIuMCoRXb6UXJceAcsKxxtC/yYuuM5GuOB2il7D3EiA8yMxP7ekXd9efeACLLKDZVw9Nw4seJnJiT/SVwBeWeVGblxemqcSA2zrGOHGpee3PdBcE95InWg2XBVzhxGI81x5khO0HOmljPm2dKZBRuQg2sUUPtnT4ETKWAWdTqigO40ML449A55z+fIgZVuZ9nhS5CaoEdxutICP8wql3V+NBWNojWq/HCqmnEO/LBV6Soa7fEDVHOWHmjlr7KjPXJ0XexqPL7A40GNAy7lJefgIs6+pFXHgvyktGfBySywVdbSN4oWtgk8YOzDiC+ww/zdQSfHIiYHjgSgn/cdNVWKnh0fYweO7FLZs5kSVl1F3O6x2eFRV0PsKKbXAjtcqXw2f9hexw6XDtPcY4dslj/Nz28v/9lAbt8A</diagram></mxfile>
|
@@ -5,12 +5,12 @@ describe ActiveRecordSurvey::Node::Answer::Boolean, :boolean_spec => true do
|
|
5
5
|
before(:all) do
|
6
6
|
@survey = ActiveRecordSurvey::Survey.new
|
7
7
|
|
8
|
-
@q1 = ActiveRecordSurvey::Node::Question.new(
|
9
|
-
@q1_a1 = ActiveRecordSurvey::Node::Answer::Boolean.new(
|
10
|
-
@q1_a2 = ActiveRecordSurvey::Node::Answer::Boolean.new(
|
11
|
-
@q1_a3 = ActiveRecordSurvey::Node::Answer::Boolean.new(
|
12
|
-
@q1_a4 = ActiveRecordSurvey::Node::Answer::Boolean.new(
|
13
|
-
@q1_a5 = ActiveRecordSurvey::Node::Answer::Boolean.new(
|
8
|
+
@q1 = ActiveRecordSurvey::Node::Question.new()
|
9
|
+
@q1_a1 = ActiveRecordSurvey::Node::Answer::Boolean.new()
|
10
|
+
@q1_a2 = ActiveRecordSurvey::Node::Answer::Boolean.new()
|
11
|
+
@q1_a3 = ActiveRecordSurvey::Node::Answer::Boolean.new()
|
12
|
+
@q1_a4 = ActiveRecordSurvey::Node::Answer::Boolean.new()
|
13
|
+
@q1_a5 = ActiveRecordSurvey::Node::Answer::Boolean.new()
|
14
14
|
|
15
15
|
nodes = @survey.build_question(@q1, [@q1_a1])
|
16
16
|
nodes = @survey.build_question(@q1_a2, [], nodes[1])
|
@@ -5,12 +5,12 @@ describe ActiveRecordSurvey::Node::Answer::Rank, :rank_spec => true do
|
|
5
5
|
before(:all) do
|
6
6
|
@survey = ActiveRecordSurvey::Survey.new
|
7
7
|
|
8
|
-
@q1 = ActiveRecordSurvey::Node::Question.new(
|
9
|
-
@q1_a1 = ActiveRecordSurvey::Node::Answer::Rank.new(
|
10
|
-
@q1_a2 = ActiveRecordSurvey::Node::Answer::Rank.new(
|
11
|
-
@q1_a3 = ActiveRecordSurvey::Node::Answer::Rank.new(
|
12
|
-
@q1_a4 = ActiveRecordSurvey::Node::Answer::Rank.new(
|
13
|
-
@q1_a5 = ActiveRecordSurvey::Node::Answer::Rank.new(
|
8
|
+
@q1 = ActiveRecordSurvey::Node::Question.new()
|
9
|
+
@q1_a1 = ActiveRecordSurvey::Node::Answer::Rank.new()
|
10
|
+
@q1_a2 = ActiveRecordSurvey::Node::Answer::Rank.new()
|
11
|
+
@q1_a3 = ActiveRecordSurvey::Node::Answer::Rank.new()
|
12
|
+
@q1_a4 = ActiveRecordSurvey::Node::Answer::Rank.new()
|
13
|
+
@q1_a5 = ActiveRecordSurvey::Node::Answer::Rank.new()
|
14
14
|
|
15
15
|
nodes = @survey.build_question(@q1, [@q1_a1])
|
16
16
|
nodes = @survey.build_question(@q1_a2, [], nodes[1])
|
@@ -5,10 +5,10 @@ describe ActiveRecordSurvey::Node::Answer::Scale, :scale_spec => true do
|
|
5
5
|
before(:all) do
|
6
6
|
@survey = ActiveRecordSurvey::Survey.new
|
7
7
|
|
8
|
-
@q1 = ActiveRecordSurvey::Node::Question.new(
|
9
|
-
@q1_a1 = ActiveRecordSurvey::Node::Answer::Scale.new(
|
10
|
-
@q1_a2 = ActiveRecordSurvey::Node::Answer::Scale.new(
|
11
|
-
@q1_a3 = ActiveRecordSurvey::Node::Answer::Scale.new(
|
8
|
+
@q1 = ActiveRecordSurvey::Node::Question.new()
|
9
|
+
@q1_a1 = ActiveRecordSurvey::Node::Answer::Scale.new()
|
10
|
+
@q1_a2 = ActiveRecordSurvey::Node::Answer::Scale.new()
|
11
|
+
@q1_a3 = ActiveRecordSurvey::Node::Answer::Scale.new()
|
12
12
|
|
13
13
|
nodes = @survey.build_question(@q1, [@q1_a1])
|
14
14
|
nodes = @survey.build_question(@q1_a2, [], nodes[1])
|
@@ -5,9 +5,9 @@ describe ActiveRecordSurvey::Node::Answer::Text, :text_spec => true do
|
|
5
5
|
before(:all) do
|
6
6
|
@survey = ActiveRecordSurvey::Survey.new
|
7
7
|
|
8
|
-
@q1 = ActiveRecordSurvey::Node::Question.new(
|
9
|
-
@q1_a1 = ActiveRecordSurvey::Node::Answer::Text.new(
|
10
|
-
@q1_a2 = ActiveRecordSurvey::Node::Answer::Text.new(
|
8
|
+
@q1 = ActiveRecordSurvey::Node::Question.new()
|
9
|
+
@q1_a1 = ActiveRecordSurvey::Node::Answer::Text.new()
|
10
|
+
@q1_a2 = ActiveRecordSurvey::Node::Answer::Text.new()
|
11
11
|
|
12
12
|
nodes = @survey.build_question(@q1, [@q1_a1])
|
13
13
|
nodes = @survey.build_question(@q1_a2, [], nodes[1])
|
@@ -176,7 +176,7 @@ describe ActiveRecordSurvey::Node::Answer::Text, :text_spec => true do
|
|
176
176
|
:node => @q1_a2,
|
177
177
|
)
|
178
178
|
instance.save
|
179
|
-
|
179
|
+
|
180
180
|
expect(instance.valid?).to be(true)
|
181
181
|
end
|
182
182
|
end
|
@@ -223,7 +223,7 @@ puts instance.errors.inspect
|
|
223
223
|
:node => @q1_a2,
|
224
224
|
)
|
225
225
|
instance.save
|
226
|
-
|
226
|
+
|
227
227
|
expect(instance.valid?).to be(true)
|
228
228
|
end
|
229
229
|
end
|
@@ -5,22 +5,22 @@ describe ActiveRecordSurvey::Survey do
|
|
5
5
|
before(:all) do
|
6
6
|
@survey = ActiveRecordSurvey::Survey.new
|
7
7
|
|
8
|
-
@q1 = ActiveRecordSurvey::Node::Question.new(
|
9
|
-
@q1_a1 = ActiveRecordSurvey::Node::Answer.new(
|
10
|
-
@q1_a2 = ActiveRecordSurvey::Node::Answer.new(
|
11
|
-
@q1_a3 = ActiveRecordSurvey::Node::Answer.new(
|
8
|
+
@q1 = ActiveRecordSurvey::Node::Question.new()
|
9
|
+
@q1_a1 = ActiveRecordSurvey::Node::Answer.new()
|
10
|
+
@q1_a2 = ActiveRecordSurvey::Node::Answer.new()
|
11
|
+
@q1_a3 = ActiveRecordSurvey::Node::Answer.new()
|
12
12
|
|
13
|
-
@q2 = ActiveRecordSurvey::Node::Question.new(
|
14
|
-
@q2_a1 = ActiveRecordSurvey::Node::Answer.new(
|
15
|
-
@q2_a2 = ActiveRecordSurvey::Node::Answer.new(
|
13
|
+
@q2 = ActiveRecordSurvey::Node::Question.new()
|
14
|
+
@q2_a1 = ActiveRecordSurvey::Node::Answer.new()
|
15
|
+
@q2_a2 = ActiveRecordSurvey::Node::Answer.new()
|
16
16
|
|
17
|
-
@q3 = ActiveRecordSurvey::Node::Question.new(
|
18
|
-
@q3_a1 = ActiveRecordSurvey::Node::Answer.new(
|
19
|
-
@q3_a2 = ActiveRecordSurvey::Node::Answer.new(
|
17
|
+
@q3 = ActiveRecordSurvey::Node::Question.new()
|
18
|
+
@q3_a1 = ActiveRecordSurvey::Node::Answer.new()
|
19
|
+
@q3_a2 = ActiveRecordSurvey::Node::Answer.new()
|
20
20
|
|
21
|
-
@q4 = ActiveRecordSurvey::Node::Question.new(
|
22
|
-
@q4_a1 = ActiveRecordSurvey::Node::Answer.new(
|
23
|
-
@q4_a2 = ActiveRecordSurvey::Node::Answer.new(
|
21
|
+
@q4 = ActiveRecordSurvey::Node::Question.new()
|
22
|
+
@q4_a1 = ActiveRecordSurvey::Node::Answer.new()
|
23
|
+
@q4_a2 = ActiveRecordSurvey::Node::Answer.new()
|
24
24
|
|
25
25
|
q1_nodes = @survey.build_question(@q1, [@q1_a1, @q1_a2, @q1_a3])
|
26
26
|
q2_nodes = @survey.build_question(@q2, [@q2_a1, @q2_a2], q1_nodes[1])
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_record_survey
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Butch Marshall
|
@@ -104,6 +104,9 @@ description: A data structure for adding survey capabilities using activerecord
|
|
104
104
|
email:
|
105
105
|
- butch.a.marshall@gmail.com
|
106
106
|
executables:
|
107
|
+
- Example_1.png
|
108
|
+
- Example_1.svg
|
109
|
+
- Example_1.xml
|
107
110
|
- console
|
108
111
|
- setup
|
109
112
|
extensions: []
|
@@ -117,6 +120,9 @@ files:
|
|
117
120
|
- README.md
|
118
121
|
- Rakefile
|
119
122
|
- active_record_survey.gemspec
|
123
|
+
- bin/Example_1.png
|
124
|
+
- bin/Example_1.svg
|
125
|
+
- bin/Example_1.xml
|
120
126
|
- bin/console
|
121
127
|
- bin/setup
|
122
128
|
- lib/active_record_survey.rb
|