taxonomite 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Rakefile +30 -0
- data/lib/taxonomite.rb +6 -0
- data/lib/taxonomite/entity.rb +39 -0
- data/lib/taxonomite/exceptions.rb +7 -0
- data/lib/taxonomite/node.rb +158 -0
- data/lib/taxonomite/taxonomite_configuration.rb +17 -0
- data/lib/taxonomite/tree.rb +130 -0
- data/lib/taxonomite/version.rb +3 -0
- data/spec/controllers/taxonomite/taxonomite_controller_spec.rb +31 -0
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/javascripts/application.js +13 -0
- data/spec/dummy/app/assets/stylesheets/application.css +19 -0
- data/spec/dummy/app/assets/stylesheets/scaffold.css +56 -0
- data/spec/dummy/app/controllers/application_controller.rb +5 -0
- data/spec/dummy/app/controllers/taxonomite_controller.rb +226 -0
- data/spec/dummy/app/helpers/application_helper.rb +13 -0
- data/spec/dummy/app/helpers/taxonomite_helper.rb +9 -0
- data/spec/dummy/app/views/layouts/application.html.erb +22 -0
- data/spec/dummy/app/views/shared/_error_messages.html.erb +14 -0
- data/spec/dummy/app/views/shared/_flash_messages.html.erb +9 -0
- data/spec/dummy/app/views/taxonomite/_node.html.erb +6 -0
- data/spec/dummy/app/views/taxonomite/edit.html.erb +49 -0
- data/spec/dummy/app/views/taxonomite/index.html.erb +9 -0
- data/spec/dummy/app/views/taxonomite/new.html.erb +16 -0
- data/spec/dummy/app/views/taxonomite/show.html.erb +28 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/bin/setup +29 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +35 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +38 -0
- data/spec/dummy/config/environments/production.rb +76 -0
- data/spec/dummy/config/environments/test.rb +42 -0
- data/spec/dummy/config/initializers/assets.rb +11 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/mongoid.rb +8 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +10 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/mongoid.yml +103 -0
- data/spec/dummy/config/routes.rb +10 -0
- data/spec/dummy/config/secrets.yml +22 -0
- data/spec/dummy/lib/tasks/db_populate.rake +66 -0
- data/spec/dummy/lib/util.rb +28 -0
- data/spec/dummy/log/development.log +7169 -0
- data/spec/dummy/log/test.log +915 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/-rejHCRn0GBGCrHMyZAcq10cNOCXaG4dVN13pFMvLgA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/1TWMTorbA_3E6hatKbP5T9n5oDSeVMk68LF8CRn1JjI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/3B4hMNppXANClZ-lGO7Jps_MbXOz_GLxSqnastPo3Sg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/8H7HwvVynNVZNgOjRJ5eAUqlWB8-oDl9VwBJlQSTBQw.cache +2 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/8y77NTXIYLg5cxm011nNxQAil9n5WVHkcp3HuxsFBMY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/AmhMJ3oocG6mNJTk0T7UZTZNv6MhN1nj2WL-k__XZlI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/CbVJZSB6kte1IYJqiASuO95NmINClhlHaFdLKMor0c0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/D05VjCHQqo1_JqnZLVivHPybbW2MCDXAQTDeLMBqYIQ.cache +2 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/GalDJvDt8BphTIma_xp93plZ7ay3K9A9uJk3txZw_00.cache +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/HMK_AuhVBxFLR6tGFGS75xvUQp8JlDZBwUddr14DleY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/Hac0rR46nAtlqEtr6S-s7g79TUGQAKO_jxYLbyARW4k.cache +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/IygAr9Ty7v-NJrroesXGkla15XgRR3nUI7BVZaPZigk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/K46UGuIKOnMfRnYBSmbjd8UJ9LfdCS5OBhkXG00GCvY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/KVHAw7mbk0REIRf0Zrv40JhknZB1lVmcExhj4bfZduY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/LhBEGJtsniGETE6aGB-IrzlM_CxS6iAfBviyrUM2AvA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/PzbUQc7wYDmhK5RZzXNRAHPhpwryEK2aIRRUfbsFMjw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/Q2QIHypAobobCW8WZnDEKFQqFczCiXaPAf3Hgk9MA_o.cache +1 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/RnBEbAuuDsDqp3JRLnX8pp-IHFk1d1rGbXxYy6DhkY4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/TIm2-xmbi7CMNL3syzvG5LyRxJtycIGXtwz8Mco3sdA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/U-xdOqbEKMZubNF_Mq_pBnN5uGgDj_w3I9193KH2XIE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/ZEWFmXe3i1eUOHbMoM_K0-6G0ejgZCWT3qF9dyjYEzQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/_k3G10-SEe8_SHlmwYbslXN42uDRmFGK0Q7nR3VyH7s.cache +2 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/bkkgBW_hSRUeyxOZ8u-7Artvy3oCRMUtd0iTsd8wrtk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/bpttkziOegeD-17ihmHMccaVxwU9_YMeXXsmFpQQh2E.cache +1 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/c0embYAEeyo6qdjqQ-b8QNzuj70uZn-q1c-dhX4aeaQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/dbpC0p6RBdyEjXhOxUegedCy8aK12GwuakY1DqzSB1k.cache +1 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/exOsm6yrmkOg_T82Brjsyr-e2U5HAJCqiPy1NJjPBJg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/f7S__u6qEm3h40_nJwEAwibtxI3vV-uWkuJAdnyIEho.cache +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/lEOEeQNsy0n89Y25rZEAe5P6zFLjkhRpxQ2ZEfi_giM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/m_RzwKTs1azS37mZ7W1stXJCfGBM4xF-Pge7trJaXhY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/nMQn6BRwxARa2nhmNQEdm_5xj6tr2XYpLzE_7Eac2h4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/nl0sTVgLFpHD_1Q4c8NGcatzmud7AWL6yin3iSgziRc.cache +2 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/rKpLfQIjRPLcR43VeI7lwjxj1BWPcxjVoSyDmJru04o.cache +1 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/rhofdc-dVgpC_YOqzpz2yMRHD9LW4sIGBcPdzR-uM6E.cache +1 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/sjZWL1ZezAb-_PmJJS_5mi-Q9X1Jcic0D7F33sUC3vs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/tLUV7eduShLmpqrXfsgemL-zKEBEQQDdqUw-MGoqMA0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/uYLC0l4_HXjqNdRF2mvEqpdcIsQgz0XVMe9YxQ3dnlc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/voPvH6F_x-d5fK63I1IjMzEfTcybOHN-g9q3x4BIGGw.cache +1 -0
- data/spec/factories/entity.rb +13 -0
- data/spec/factories/taxonomy_taxon.rb +45 -0
- data/spec/models/taxonomite/entity_spec.rb +34 -0
- data/spec/models/taxonomite/hierarchy_spec.rb +34 -0
- data/spec/models/taxonomite/model_spec.rb +39 -0
- data/spec/models/taxonomite/taxonomite_spec.rb +11 -0
- data/spec/models/taxonomite/tree_spec.rb +56 -0
- data/spec/models/taxonomite/zoology.rb +119 -0
- data/spec/rails_helper.rb +53 -0
- data/spec/spec_helper.rb +32 -0
- data/spec/taxonomite_helper.rb +5 -0
- data/spec/views/taxonomite/taxonomite/index.html.erb_spec.rb +5 -0
- data/spec/views/taxonomite/taxonomite/show.html.erb_spec.rb +5 -0
- metadata +456 -0
@@ -0,0 +1,67 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>The page you were looking for doesn't exist (404)</title>
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
6
|
+
<style>
|
7
|
+
body {
|
8
|
+
background-color: #EFEFEF;
|
9
|
+
color: #2E2F30;
|
10
|
+
text-align: center;
|
11
|
+
font-family: arial, sans-serif;
|
12
|
+
margin: 0;
|
13
|
+
}
|
14
|
+
|
15
|
+
div.dialog {
|
16
|
+
width: 95%;
|
17
|
+
max-width: 33em;
|
18
|
+
margin: 4em auto 0;
|
19
|
+
}
|
20
|
+
|
21
|
+
div.dialog > div {
|
22
|
+
border: 1px solid #CCC;
|
23
|
+
border-right-color: #999;
|
24
|
+
border-left-color: #999;
|
25
|
+
border-bottom-color: #BBB;
|
26
|
+
border-top: #B00100 solid 4px;
|
27
|
+
border-top-left-radius: 9px;
|
28
|
+
border-top-right-radius: 9px;
|
29
|
+
background-color: white;
|
30
|
+
padding: 7px 12% 0;
|
31
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
32
|
+
}
|
33
|
+
|
34
|
+
h1 {
|
35
|
+
font-size: 100%;
|
36
|
+
color: #730E15;
|
37
|
+
line-height: 1.5em;
|
38
|
+
}
|
39
|
+
|
40
|
+
div.dialog > p {
|
41
|
+
margin: 0 0 1em;
|
42
|
+
padding: 1em;
|
43
|
+
background-color: #F7F7F7;
|
44
|
+
border: 1px solid #CCC;
|
45
|
+
border-right-color: #999;
|
46
|
+
border-left-color: #999;
|
47
|
+
border-bottom-color: #999;
|
48
|
+
border-bottom-left-radius: 4px;
|
49
|
+
border-bottom-right-radius: 4px;
|
50
|
+
border-top-color: #DADADA;
|
51
|
+
color: #666;
|
52
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
53
|
+
}
|
54
|
+
</style>
|
55
|
+
</head>
|
56
|
+
|
57
|
+
<body>
|
58
|
+
<!-- This file lives in public/404.html -->
|
59
|
+
<div class="dialog">
|
60
|
+
<div>
|
61
|
+
<h1>The page you were looking for doesn't exist.</h1>
|
62
|
+
<p>You may have mistyped the address or the page may have moved.</p>
|
63
|
+
</div>
|
64
|
+
<p>If you are the application owner check the logs for more information.</p>
|
65
|
+
</div>
|
66
|
+
</body>
|
67
|
+
</html>
|
@@ -0,0 +1,67 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>The change you wanted was rejected (422)</title>
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
6
|
+
<style>
|
7
|
+
body {
|
8
|
+
background-color: #EFEFEF;
|
9
|
+
color: #2E2F30;
|
10
|
+
text-align: center;
|
11
|
+
font-family: arial, sans-serif;
|
12
|
+
margin: 0;
|
13
|
+
}
|
14
|
+
|
15
|
+
div.dialog {
|
16
|
+
width: 95%;
|
17
|
+
max-width: 33em;
|
18
|
+
margin: 4em auto 0;
|
19
|
+
}
|
20
|
+
|
21
|
+
div.dialog > div {
|
22
|
+
border: 1px solid #CCC;
|
23
|
+
border-right-color: #999;
|
24
|
+
border-left-color: #999;
|
25
|
+
border-bottom-color: #BBB;
|
26
|
+
border-top: #B00100 solid 4px;
|
27
|
+
border-top-left-radius: 9px;
|
28
|
+
border-top-right-radius: 9px;
|
29
|
+
background-color: white;
|
30
|
+
padding: 7px 12% 0;
|
31
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
32
|
+
}
|
33
|
+
|
34
|
+
h1 {
|
35
|
+
font-size: 100%;
|
36
|
+
color: #730E15;
|
37
|
+
line-height: 1.5em;
|
38
|
+
}
|
39
|
+
|
40
|
+
div.dialog > p {
|
41
|
+
margin: 0 0 1em;
|
42
|
+
padding: 1em;
|
43
|
+
background-color: #F7F7F7;
|
44
|
+
border: 1px solid #CCC;
|
45
|
+
border-right-color: #999;
|
46
|
+
border-left-color: #999;
|
47
|
+
border-bottom-color: #999;
|
48
|
+
border-bottom-left-radius: 4px;
|
49
|
+
border-bottom-right-radius: 4px;
|
50
|
+
border-top-color: #DADADA;
|
51
|
+
color: #666;
|
52
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
53
|
+
}
|
54
|
+
</style>
|
55
|
+
</head>
|
56
|
+
|
57
|
+
<body>
|
58
|
+
<!-- This file lives in public/422.html -->
|
59
|
+
<div class="dialog">
|
60
|
+
<div>
|
61
|
+
<h1>The change you wanted was rejected.</h1>
|
62
|
+
<p>Maybe you tried to change something you didn't have access to.</p>
|
63
|
+
</div>
|
64
|
+
<p>If you are the application owner check the logs for more information.</p>
|
65
|
+
</div>
|
66
|
+
</body>
|
67
|
+
</html>
|
@@ -0,0 +1,66 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>We're sorry, but something went wrong (500)</title>
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
6
|
+
<style>
|
7
|
+
body {
|
8
|
+
background-color: #EFEFEF;
|
9
|
+
color: #2E2F30;
|
10
|
+
text-align: center;
|
11
|
+
font-family: arial, sans-serif;
|
12
|
+
margin: 0;
|
13
|
+
}
|
14
|
+
|
15
|
+
div.dialog {
|
16
|
+
width: 95%;
|
17
|
+
max-width: 33em;
|
18
|
+
margin: 4em auto 0;
|
19
|
+
}
|
20
|
+
|
21
|
+
div.dialog > div {
|
22
|
+
border: 1px solid #CCC;
|
23
|
+
border-right-color: #999;
|
24
|
+
border-left-color: #999;
|
25
|
+
border-bottom-color: #BBB;
|
26
|
+
border-top: #B00100 solid 4px;
|
27
|
+
border-top-left-radius: 9px;
|
28
|
+
border-top-right-radius: 9px;
|
29
|
+
background-color: white;
|
30
|
+
padding: 7px 12% 0;
|
31
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
32
|
+
}
|
33
|
+
|
34
|
+
h1 {
|
35
|
+
font-size: 100%;
|
36
|
+
color: #730E15;
|
37
|
+
line-height: 1.5em;
|
38
|
+
}
|
39
|
+
|
40
|
+
div.dialog > p {
|
41
|
+
margin: 0 0 1em;
|
42
|
+
padding: 1em;
|
43
|
+
background-color: #F7F7F7;
|
44
|
+
border: 1px solid #CCC;
|
45
|
+
border-right-color: #999;
|
46
|
+
border-left-color: #999;
|
47
|
+
border-bottom-color: #999;
|
48
|
+
border-bottom-left-radius: 4px;
|
49
|
+
border-bottom-right-radius: 4px;
|
50
|
+
border-top-color: #DADADA;
|
51
|
+
color: #666;
|
52
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
53
|
+
}
|
54
|
+
</style>
|
55
|
+
</head>
|
56
|
+
|
57
|
+
<body>
|
58
|
+
<!-- This file lives in public/500.html -->
|
59
|
+
<div class="dialog">
|
60
|
+
<div>
|
61
|
+
<h1>We're sorry, but something went wrong.</h1>
|
62
|
+
</div>
|
63
|
+
<p>If you are the application owner check the logs for more information.</p>
|
64
|
+
</div>
|
65
|
+
</body>
|
66
|
+
</html>
|
File without changes
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
I"�file:///home/hgillesp/dev/taxonomite/spec/dummy/app/assets/javascripts/application.js?type=application/javascript&pipeline=self&id=ad051763dffe39e64ccb213ac5e06de4500385191b83d30ff8da9b4990623f50:ET
|
Binary file
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
"%ߚ1�~�飦�
|
@@ -0,0 +1 @@
|
|
1
|
+
I"�file:///home/hgillesp/dev/taxonomite/spec/dummy/app/assets/javascripts/people.js?type=application/javascript&pipeline=self&id=9f1db67b15b8b3b2e1fc44536f57ad501f9c6100543e61f31f03a0efe5fce573:ET
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
"%���H��,h���0���nl��5�V2���
|
Binary file
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
I"�file:///home/hgillesp/dev/taxonomite/spec/dummy/app/assets/javascripts/application.js?type=application/javascript&id=17363f37404bf2b14a0ee0daacb88e6044706b5324bb66db3b595a4ea420f728:ET
|
Binary file
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
"%�W\�yho9S���ƫ˥��)|�~���(���
|
@@ -0,0 +1 @@
|
|
1
|
+
I"�file:///home/hgillesp/dev/taxonomite/spec/dummy/app/assets/stylesheets/people.css?type=text/css&pipeline=self&id=be1d816a060e37bd4958b7416b5f4981e96fe1d35786e6d7085de0ae10e7bfeb:ET
|
@@ -0,0 +1 @@
|
|
1
|
+
"%����NWS�R�aj��zl��i�����B����[�
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
"%��A�I8���߅�u7�!��H���j���\��|x
|
Binary file
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
I"�file:///home/hgillesp/dev/taxonomite/spec/dummy/app/assets/stylesheets/application.css?type=text/css&pipeline=self&id=695f7ec059994aeb51729a13063bcc6344c9baf6100f6c222e2e04a942b87e2d:ET
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
"%���[�RH!Cܥ4ihvd�xA�o��N(� �
|
Binary file
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
I"�file:///home/hgillesp/dev/taxonomite/spec/dummy/app/assets/stylesheets/scaffold.css?type=text/css&pipeline=self&id=34a82147aa205877d02ffa24438c94d41c334fa679effa776dcebfe0b344e7aa:ET
|
@@ -0,0 +1 @@
|
|
1
|
+
I"�file:///home/hgillesp/dev/taxonomite/spec/dummy/app/assets/javascripts/application.js?type=application/javascript&id=87547b5780b577666c44f8253949b459995882379f26267276d5e6d9cf5792f9:ET
|
@@ -0,0 +1 @@
|
|
1
|
+
I"�file:///home/hgillesp/dev/taxonomite/spec/dummy/app/assets/stylesheets/application.css?type=text/css&pipeline=self&id=e64f6ca1ed186e0c3fdcf518544b637cbc2ad0bc8f56f8780d0af82e2b57f4e2:ET
|
@@ -0,0 +1 @@
|
|
1
|
+
"%֧�NTZq�בH�L��#p3��Jg!��)
|
@@ -0,0 +1 @@
|
|
1
|
+
I"�file:///home/hgillesp/dev/taxonomite/spec/dummy/app/assets/stylesheets/application.css?type=text/css&id=053f93bf9def249678064427105bca3e287c9e7c8fd960dac3cb3f9501815ce0:ET
|
Binary file
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
I"�file:///home/hgillesp/dev/taxonomite/spec/dummy/app/assets/stylesheets/application.css?type=text/css&id=7713ce4eae8f711bc5932a1ff7132c5f3bc1c66d876a954db25e49bf94888731:ET
|
@@ -0,0 +1 @@
|
|
1
|
+
I"�file:///home/hgillesp/dev/taxonomite/spec/dummy/app/assets/javascripts/application.js?type=application/javascript&pipeline=self&id=31b108899f1d3d0ceec8611a2e3855beb1c3274a812420c0fdd4a21930bc5be3:ET
|
@@ -0,0 +1,13 @@
|
|
1
|
+
|
2
|
+
require 'faker'
|
3
|
+
|
4
|
+
FactoryGirl.define do
|
5
|
+
factory :taxonomite_beingrep, :class => 'Taxonomite::BeingRep' do
|
6
|
+
name { Faker::Lorem.word.capitalize }
|
7
|
+
end
|
8
|
+
|
9
|
+
factory :taxonomite_genusrep, :class => 'Taxonomite::GenusRep' do
|
10
|
+
name { Faker::Lorem.word.capitalize }
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
|
2
|
+
require 'faker'
|
3
|
+
|
4
|
+
FactoryGirl.define do
|
5
|
+
factory :taxonomite_node, :class => 'Taxonomite::Node' do
|
6
|
+
name { Faker::Lorem.word.capitalize }
|
7
|
+
description { Faker::Lorem.paragraph }
|
8
|
+
end
|
9
|
+
|
10
|
+
factory :taxonomite_species, :class => 'Taxonomite::Species' do
|
11
|
+
name { "#{Faker::Lorem.word.capitalize} #{Faker::Lorem.word}" }
|
12
|
+
description { Faker::Lorem.paragraph }
|
13
|
+
end
|
14
|
+
|
15
|
+
factory :taxonomite_genus, :class => 'Taxonomite::Genus' do
|
16
|
+
name { "#{Faker::Lorem.word.capitalize} #{Faker::Lorem.word}" }
|
17
|
+
description { Faker::Lorem.paragraph }
|
18
|
+
end
|
19
|
+
|
20
|
+
factory :taxonomite_family, :class => 'Taxonomite::Family' do
|
21
|
+
name { "#{Faker::Lorem.word.capitalize} #{Faker::Lorem.word}" }
|
22
|
+
description { Faker::Lorem.paragraph }
|
23
|
+
end
|
24
|
+
|
25
|
+
factory :taxonomite_order, :class => 'Taxonomite::Order' do
|
26
|
+
name { "#{Faker::Lorem.word.capitalize} #{Faker::Lorem.word}" }
|
27
|
+
description { Faker::Lorem.paragraph }
|
28
|
+
end
|
29
|
+
|
30
|
+
factory :taxonomite_class, :class => 'Taxonomite::Class' do
|
31
|
+
name { "#{Faker::Lorem.word.capitalize} #{Faker::Lorem.word}" }
|
32
|
+
description { Faker::Lorem.paragraph }
|
33
|
+
end
|
34
|
+
|
35
|
+
factory :taxonomite_phylum, :class => 'Taxonomite::Phylum' do
|
36
|
+
name { "#{Faker::Lorem.word.capitalize} #{Faker::Lorem.word}" }
|
37
|
+
description { Faker::Lorem.paragraph }
|
38
|
+
end
|
39
|
+
|
40
|
+
factory :taxonomite_kingdom, :class => 'Taxonomite::Kingdom' do
|
41
|
+
name { "#{Faker::Lorem.word.capitalize} #{Faker::Lorem.word}" }
|
42
|
+
description { Faker::Lorem.paragraph }
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'models/taxonomite/zoology'
|
3
|
+
|
4
|
+
module Taxonomite
|
5
|
+
RSpec.describe Entity, type: :model do
|
6
|
+
|
7
|
+
context 'model function' do
|
8
|
+
let!(:being) { build(:taxonomite_beingrep) }
|
9
|
+
|
10
|
+
it 'instantiates an entity' do
|
11
|
+
expect(being.class.name).to eq("Taxonomite::BeingRep")
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'destroys an entity' do
|
15
|
+
expect { being.destroy }.not_to raise_error
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'sets the name' do
|
19
|
+
being.name = "new_name"
|
20
|
+
expect(being.name).to eq("new_name")
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'allow access to taxonomy_node' do
|
24
|
+
expect { being.get_taxonomy_node }.not_to raise_error
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'expects taxonomy_node to have a name' do
|
28
|
+
expect(being.get_taxonomy_node.name).to eq(being.name)
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'models/taxonomite/zoology'
|
3
|
+
|
4
|
+
module Taxonomite
|
5
|
+
RSpec.describe Tree, type: :model do
|
6
|
+
|
7
|
+
context 'sample hierarchy enforcement' do
|
8
|
+
before(:each) do
|
9
|
+
@family = FactoryGirl.build(:taxonomite_family)
|
10
|
+
@genus = FactoryGirl.build(:taxonomite_genus)
|
11
|
+
@species = FactoryGirl.build(:taxonomite_species)
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'to allow species in genus' do
|
15
|
+
expect { @genus.children << @species }.not_to raise_error
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'to allow genus in family' do
|
19
|
+
expect { @family.children << @genus }.not_to raise_error
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'not to allow genus in species' do
|
23
|
+
expect { @species.children << @genus }.to raise_error
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'not to allow species in family' do
|
27
|
+
expect { @family.children << @species }.to raise_error
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|