ocp_registry 0.0.1.alpha

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. data/.gitignore +25 -0
  2. data/Gemfile +17 -0
  3. data/Gemfile.lock +65 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +29 -0
  6. data/bin/ocp_registry +28 -0
  7. data/config/example-mysql.yml +40 -0
  8. data/config/example-sqlite.yml +33 -0
  9. data/lib/ocp_registry.rb +29 -0
  10. data/lib/ocp_registry/api_controller.rb +146 -0
  11. data/lib/ocp_registry/application_manager.rb +213 -0
  12. data/lib/ocp_registry/cloud_manager/mock.rb +5 -0
  13. data/lib/ocp_registry/cloud_manager/mock/mock.rb +191 -0
  14. data/lib/ocp_registry/cloud_manager/mock/model.rb +22 -0
  15. data/lib/ocp_registry/cloud_manager/openstack.rb +4 -0
  16. data/lib/ocp_registry/cloud_manager/openstack/cinder_helper.rb +27 -0
  17. data/lib/ocp_registry/cloud_manager/openstack/keystone_helper.rb +57 -0
  18. data/lib/ocp_registry/cloud_manager/openstack/nova_helper.rb +37 -0
  19. data/lib/ocp_registry/cloud_manager/openstack/openstack.rb +126 -0
  20. data/lib/ocp_registry/common.rb +54 -0
  21. data/lib/ocp_registry/config.rb +96 -0
  22. data/lib/ocp_registry/db/001_db_initialize.rb +16 -0
  23. data/lib/ocp_registry/error.rb +16 -0
  24. data/lib/ocp_registry/mail_client.rb +141 -0
  25. data/lib/ocp_registry/models.rb +7 -0
  26. data/lib/ocp_registry/models/registry_application.rb +10 -0
  27. data/lib/ocp_registry/runner.rb +47 -0
  28. data/lib/ocp_registry/version.rb +3 -0
  29. data/lib/ocp_registry/yaml_helper.rb +23 -0
  30. data/mail_template/approve_admin.erb +14 -0
  31. data/mail_template/approve_user.erb +22 -0
  32. data/mail_template/refuse_admin.erb +16 -0
  33. data/mail_template/refuse_user.erb +17 -0
  34. data/mail_template/request_admin.erb +15 -0
  35. data/mail_template/request_user.erb +16 -0
  36. data/ocp_registry.gemspec +34 -0
  37. data/public/bootstrap/css/bootstrap-responsive.css +1109 -0
  38. data/public/bootstrap/css/bootstrap-responsive.min.css +9 -0
  39. data/public/bootstrap/css/bootstrap.css +6167 -0
  40. data/public/bootstrap/css/bootstrap.min.css +9 -0
  41. data/public/bootstrap/img/glyphicons-halflings-white.png +0 -0
  42. data/public/bootstrap/img/glyphicons-halflings.png +0 -0
  43. data/public/bootstrap/js/bootstrap.js +2280 -0
  44. data/public/bootstrap/js/bootstrap.min.js +6 -0
  45. data/public/common.css +104 -0
  46. data/public/favicon.ico +0 -0
  47. data/public/images/loading.gif +0 -0
  48. data/public/jquery-1.10.2.min.js +6 -0
  49. data/public/jquery-1.10.2.min.map +1 -0
  50. data/public/jquery.json-2.4.min.js +23 -0
  51. data/public/noty/.gitignore +8 -0
  52. data/public/noty/LICENSE.txt +20 -0
  53. data/public/noty/README.markdown +22 -0
  54. data/public/noty/demo/allLayouts.html +91 -0
  55. data/public/noty/demo/allTypes.html +86 -0
  56. data/public/noty/demo/api.html +103 -0
  57. data/public/noty/demo/buttons.css +320 -0
  58. data/public/noty/demo/consumingAlert.html +78 -0
  59. data/public/noty/demo/customContainer.html +90 -0
  60. data/public/noty/demo/index.html +66 -0
  61. data/public/noty/demo/jquery-1.7.2.min.js +4 -0
  62. data/public/noty/demo/usingMaxVisible.html +104 -0
  63. data/public/noty/demo/usingWithButtons.html +104 -0
  64. data/public/noty/demo/usingWithButtons2.html +98 -0
  65. data/public/noty/demo/usingWithModal.html +87 -0
  66. data/public/noty/demo/usingWithOldOptions.html +110 -0
  67. data/public/noty/js/jquery.noty.js +547 -0
  68. data/public/noty/js/layouts/bottom.js +34 -0
  69. data/public/noty/js/layouts/bottomCenter.js +41 -0
  70. data/public/noty/js/layouts/bottomLeft.js +43 -0
  71. data/public/noty/js/layouts/bottomRight.js +43 -0
  72. data/public/noty/js/layouts/center.js +56 -0
  73. data/public/noty/js/layouts/centerLeft.js +61 -0
  74. data/public/noty/js/layouts/centerRight.js +61 -0
  75. data/public/noty/js/layouts/inline.js +31 -0
  76. data/public/noty/js/layouts/top.js +34 -0
  77. data/public/noty/js/layouts/topCenter.js +41 -0
  78. data/public/noty/js/layouts/topLeft.js +43 -0
  79. data/public/noty/js/layouts/topRight.js +43 -0
  80. data/public/noty/js/promise.js +432 -0
  81. data/public/noty/js/themes/default.js +156 -0
  82. data/views/apply.erb +134 -0
  83. data/views/base.erb +25 -0
  84. data/views/list.erb +41 -0
  85. data/views/review.erb +141 -0
  86. data/views/show.erb +96 -0
  87. data/views/view.erb +7 -0
  88. metadata +294 -0
@@ -0,0 +1,34 @@
1
+ ;(function($) {
2
+
3
+ $.noty.layouts.bottom = {
4
+ name: 'bottom',
5
+ options: {},
6
+ container: {
7
+ object: '<ul id="noty_bottom_layout_container" />',
8
+ selector: 'ul#noty_bottom_layout_container',
9
+ style: function() {
10
+ $(this).css({
11
+ bottom: 0,
12
+ left: '5%',
13
+ position: 'fixed',
14
+ width: '90%',
15
+ height: 'auto',
16
+ margin: 0,
17
+ padding: 0,
18
+ listStyleType: 'none',
19
+ zIndex: 9999999
20
+ });
21
+ }
22
+ },
23
+ parent: {
24
+ object: '<li />',
25
+ selector: 'li',
26
+ css: {}
27
+ },
28
+ css: {
29
+ display: 'none'
30
+ },
31
+ addClass: ''
32
+ };
33
+
34
+ })(jQuery);
@@ -0,0 +1,41 @@
1
+ ;(function($) {
2
+
3
+ $.noty.layouts.bottomCenter = {
4
+ name: 'bottomCenter',
5
+ options: { // overrides options
6
+
7
+ },
8
+ container: {
9
+ object: '<ul id="noty_bottomCenter_layout_container" />',
10
+ selector: 'ul#noty_bottomCenter_layout_container',
11
+ style: function() {
12
+ $(this).css({
13
+ bottom: 20,
14
+ left: 0,
15
+ position: 'fixed',
16
+ width: '310px',
17
+ height: 'auto',
18
+ margin: 0,
19
+ padding: 0,
20
+ listStyleType: 'none',
21
+ zIndex: 10000000
22
+ });
23
+
24
+ $(this).css({
25
+ left: ($(window).width() - $(this).outerWidth(false)) / 2 + 'px'
26
+ });
27
+ }
28
+ },
29
+ parent: {
30
+ object: '<li />',
31
+ selector: 'li',
32
+ css: {}
33
+ },
34
+ css: {
35
+ display: 'none',
36
+ width: '310px'
37
+ },
38
+ addClass: ''
39
+ };
40
+
41
+ })(jQuery);
@@ -0,0 +1,43 @@
1
+ ;(function($) {
2
+
3
+ $.noty.layouts.bottomLeft = {
4
+ name: 'bottomLeft',
5
+ options: { // overrides options
6
+
7
+ },
8
+ container: {
9
+ object: '<ul id="noty_bottomLeft_layout_container" />',
10
+ selector: 'ul#noty_bottomLeft_layout_container',
11
+ style: function() {
12
+ $(this).css({
13
+ bottom: 20,
14
+ left: 20,
15
+ position: 'fixed',
16
+ width: '310px',
17
+ height: 'auto',
18
+ margin: 0,
19
+ padding: 0,
20
+ listStyleType: 'none',
21
+ zIndex: 10000000
22
+ });
23
+
24
+ if (window.innerWidth < 600) {
25
+ $(this).css({
26
+ left: 5
27
+ });
28
+ }
29
+ }
30
+ },
31
+ parent: {
32
+ object: '<li />',
33
+ selector: 'li',
34
+ css: {}
35
+ },
36
+ css: {
37
+ display: 'none',
38
+ width: '310px'
39
+ },
40
+ addClass: ''
41
+ };
42
+
43
+ })(jQuery);
@@ -0,0 +1,43 @@
1
+ ;(function($) {
2
+
3
+ $.noty.layouts.bottomRight = {
4
+ name: 'bottomRight',
5
+ options: { // overrides options
6
+
7
+ },
8
+ container: {
9
+ object: '<ul id="noty_bottomRight_layout_container" />',
10
+ selector: 'ul#noty_bottomRight_layout_container',
11
+ style: function() {
12
+ $(this).css({
13
+ bottom: 20,
14
+ right: 20,
15
+ position: 'fixed',
16
+ width: '310px',
17
+ height: 'auto',
18
+ margin: 0,
19
+ padding: 0,
20
+ listStyleType: 'none',
21
+ zIndex: 10000000
22
+ });
23
+
24
+ if (window.innerWidth < 600) {
25
+ $(this).css({
26
+ right: 5
27
+ });
28
+ }
29
+ }
30
+ },
31
+ parent: {
32
+ object: '<li />',
33
+ selector: 'li',
34
+ css: {}
35
+ },
36
+ css: {
37
+ display: 'none',
38
+ width: '310px'
39
+ },
40
+ addClass: ''
41
+ };
42
+
43
+ })(jQuery);
@@ -0,0 +1,56 @@
1
+ ;(function($) {
2
+
3
+ $.noty.layouts.center = {
4
+ name: 'center',
5
+ options: { // overrides options
6
+
7
+ },
8
+ container: {
9
+ object: '<ul id="noty_center_layout_container" />',
10
+ selector: 'ul#noty_center_layout_container',
11
+ style: function() {
12
+ $(this).css({
13
+ position: 'fixed',
14
+ width: '310px',
15
+ height: 'auto',
16
+ margin: 0,
17
+ padding: 0,
18
+ listStyleType: 'none',
19
+ zIndex: 10000000
20
+ });
21
+
22
+ // getting hidden height
23
+ var dupe = $(this).clone().css({visibility:"hidden", display:"block", position:"absolute", top: 0, left: 0}).attr('id', 'dupe');
24
+ $("body").append(dupe);
25
+ dupe.find('.i-am-closing-now').remove();
26
+ dupe.find('li').css('display', 'block');
27
+ var actual_height = dupe.height();
28
+ dupe.remove();
29
+
30
+ if ($(this).hasClass('i-am-new')) {
31
+ $(this).css({
32
+ left: ($(window).width() - $(this).outerWidth(false)) / 2 + 'px',
33
+ top: ($(window).height() - actual_height) / 2 + 'px'
34
+ });
35
+ } else {
36
+ $(this).animate({
37
+ left: ($(window).width() - $(this).outerWidth(false)) / 2 + 'px',
38
+ top: ($(window).height() - actual_height) / 2 + 'px'
39
+ }, 500);
40
+ }
41
+
42
+ }
43
+ },
44
+ parent: {
45
+ object: '<li />',
46
+ selector: 'li',
47
+ css: {}
48
+ },
49
+ css: {
50
+ display: 'none',
51
+ width: '310px'
52
+ },
53
+ addClass: ''
54
+ };
55
+
56
+ })(jQuery);
@@ -0,0 +1,61 @@
1
+ ;(function($) {
2
+
3
+ $.noty.layouts.centerLeft = {
4
+ name: 'centerLeft',
5
+ options: { // overrides options
6
+
7
+ },
8
+ container: {
9
+ object: '<ul id="noty_centerLeft_layout_container" />',
10
+ selector: 'ul#noty_centerLeft_layout_container',
11
+ style: function() {
12
+ $(this).css({
13
+ left: 20,
14
+ position: 'fixed',
15
+ width: '310px',
16
+ height: 'auto',
17
+ margin: 0,
18
+ padding: 0,
19
+ listStyleType: 'none',
20
+ zIndex: 10000000
21
+ });
22
+
23
+ // getting hidden height
24
+ var dupe = $(this).clone().css({visibility:"hidden", display:"block", position:"absolute", top: 0, left: 0}).attr('id', 'dupe');
25
+ $("body").append(dupe);
26
+ dupe.find('.i-am-closing-now').remove();
27
+ dupe.find('li').css('display', 'block');
28
+ var actual_height = dupe.height();
29
+ dupe.remove();
30
+
31
+ if ($(this).hasClass('i-am-new')) {
32
+ $(this).css({
33
+ top: ($(window).height() - actual_height) / 2 + 'px'
34
+ });
35
+ } else {
36
+ $(this).animate({
37
+ top: ($(window).height() - actual_height) / 2 + 'px'
38
+ }, 500);
39
+ }
40
+
41
+ if (window.innerWidth < 600) {
42
+ $(this).css({
43
+ left: 5
44
+ });
45
+ }
46
+
47
+ }
48
+ },
49
+ parent: {
50
+ object: '<li />',
51
+ selector: 'li',
52
+ css: {}
53
+ },
54
+ css: {
55
+ display: 'none',
56
+ width: '310px'
57
+ },
58
+ addClass: ''
59
+ };
60
+
61
+ })(jQuery);
@@ -0,0 +1,61 @@
1
+ ;(function($) {
2
+
3
+ $.noty.layouts.centerRight = {
4
+ name: 'centerRight',
5
+ options: { // overrides options
6
+
7
+ },
8
+ container: {
9
+ object: '<ul id="noty_centerRight_layout_container" />',
10
+ selector: 'ul#noty_centerRight_layout_container',
11
+ style: function() {
12
+ $(this).css({
13
+ right: 20,
14
+ position: 'fixed',
15
+ width: '310px',
16
+ height: 'auto',
17
+ margin: 0,
18
+ padding: 0,
19
+ listStyleType: 'none',
20
+ zIndex: 10000000
21
+ });
22
+
23
+ // getting hidden height
24
+ var dupe = $(this).clone().css({visibility:"hidden", display:"block", position:"absolute", top: 0, left: 0}).attr('id', 'dupe');
25
+ $("body").append(dupe);
26
+ dupe.find('.i-am-closing-now').remove();
27
+ dupe.find('li').css('display', 'block');
28
+ var actual_height = dupe.height();
29
+ dupe.remove();
30
+
31
+ if ($(this).hasClass('i-am-new')) {
32
+ $(this).css({
33
+ top: ($(window).height() - actual_height) / 2 + 'px'
34
+ });
35
+ } else {
36
+ $(this).animate({
37
+ top: ($(window).height() - actual_height) / 2 + 'px'
38
+ }, 500);
39
+ }
40
+
41
+ if (window.innerWidth < 600) {
42
+ $(this).css({
43
+ right: 5
44
+ });
45
+ }
46
+
47
+ }
48
+ },
49
+ parent: {
50
+ object: '<li />',
51
+ selector: 'li',
52
+ css: {}
53
+ },
54
+ css: {
55
+ display: 'none',
56
+ width: '310px'
57
+ },
58
+ addClass: ''
59
+ };
60
+
61
+ })(jQuery);
@@ -0,0 +1,31 @@
1
+ ;(function($) {
2
+
3
+ $.noty.layouts.inline = {
4
+ name: 'inline',
5
+ options: {},
6
+ container: {
7
+ object: '<ul id="noty_inline_layout_container" />',
8
+ selector: 'ul#noty_inline_layout_container',
9
+ style: function() {
10
+ $(this).css({
11
+ width: '100%',
12
+ height: 'auto',
13
+ margin: 0,
14
+ padding: 0,
15
+ listStyleType: 'none',
16
+ zIndex: 9999999
17
+ });
18
+ }
19
+ },
20
+ parent: {
21
+ object: '<li />',
22
+ selector: 'li',
23
+ css: {}
24
+ },
25
+ css: {
26
+ display: 'none'
27
+ },
28
+ addClass: ''
29
+ };
30
+
31
+ })(jQuery);
@@ -0,0 +1,34 @@
1
+ ;(function($) {
2
+
3
+ $.noty.layouts.top = {
4
+ name: 'top',
5
+ options: {},
6
+ container: {
7
+ object: '<ul id="noty_top_layout_container" />',
8
+ selector: 'ul#noty_top_layout_container',
9
+ style: function() {
10
+ $(this).css({
11
+ top: 0,
12
+ left: '5%',
13
+ position: 'fixed',
14
+ width: '90%',
15
+ height: 'auto',
16
+ margin: 0,
17
+ padding: 0,
18
+ listStyleType: 'none',
19
+ zIndex: 9999999
20
+ });
21
+ }
22
+ },
23
+ parent: {
24
+ object: '<li />',
25
+ selector: 'li',
26
+ css: {}
27
+ },
28
+ css: {
29
+ display: 'none'
30
+ },
31
+ addClass: ''
32
+ };
33
+
34
+ })(jQuery);
@@ -0,0 +1,41 @@
1
+ ;(function($) {
2
+
3
+ $.noty.layouts.topCenter = {
4
+ name: 'topCenter',
5
+ options: { // overrides options
6
+
7
+ },
8
+ container: {
9
+ object: '<ul id="noty_topCenter_layout_container" />',
10
+ selector: 'ul#noty_topCenter_layout_container',
11
+ style: function() {
12
+ $(this).css({
13
+ top: 20,
14
+ left: 0,
15
+ position: 'fixed',
16
+ width: '310px',
17
+ height: 'auto',
18
+ margin: 0,
19
+ padding: 0,
20
+ listStyleType: 'none',
21
+ zIndex: 10000000
22
+ });
23
+
24
+ $(this).css({
25
+ left: ($(window).width() - $(this).outerWidth(false)) / 2 + 'px'
26
+ });
27
+ }
28
+ },
29
+ parent: {
30
+ object: '<li />',
31
+ selector: 'li',
32
+ css: {}
33
+ },
34
+ css: {
35
+ display: 'none',
36
+ width: '310px'
37
+ },
38
+ addClass: ''
39
+ };
40
+
41
+ })(jQuery);