memcached-manager 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. data/config.ru +3 -1
  2. metadata +5 -77
  3. data/.rspec +0 -2
  4. data/.travis.yml +0 -19
  5. data/CONTRIBUTING.md +0 -28
  6. data/Gemfile +0 -26
  7. data/Gemfile.lock +0 -143
  8. data/Rakefile +0 -59
  9. data/VERSION +0 -1
  10. data/features/api/create_memcached_key.feature +0 -6
  11. data/features/api/delete_memcached_key.feature +0 -6
  12. data/features/api/list_memcached_keys.feature +0 -6
  13. data/features/api/set_memcached_info.feature +0 -5
  14. data/features/api/show_memcached_key.feature +0 -10
  15. data/features/api/show_memcached_stats.feature +0 -5
  16. data/features/api/update_memcached_key.feature +0 -7
  17. data/features/step_definitions/api/create_memcached_key.rb +0 -21
  18. data/features/step_definitions/api/delete_memcached_key.rb +0 -7
  19. data/features/step_definitions/api/list_memcached_keys.rb +0 -16
  20. data/features/step_definitions/api/show_memcached_key.rb +0 -18
  21. data/features/step_definitions/api/show_memcached_stats.rb +0 -3
  22. data/features/step_definitions/api/update_memcached_key.rb +0 -18
  23. data/features/step_definitions/set_memcached_info.rb +0 -25
  24. data/features/step_definitions/webapp/create_memcached_key.rb +0 -10
  25. data/features/step_definitions/webapp/delete_memcached_key.rb +0 -16
  26. data/features/step_definitions/webapp/edit_memcached_key.rb +0 -3
  27. data/features/step_definitions/webapp/list_memcached_keys.rb +0 -4
  28. data/features/step_definitions/webapp/show_memcached_key.rb +0 -4
  29. data/features/step_definitions/webapp/show_memcached_stats.rb +0 -5
  30. data/features/support/env.rb +0 -28
  31. data/features/support/hooks.rb +0 -3
  32. data/features/webapp/create_memcached_key.feature +0 -9
  33. data/features/webapp/delete_memcached_key.feature +0 -8
  34. data/features/webapp/edit_memcached_key.feature +0 -9
  35. data/features/webapp/list_memcached_keys.feature +0 -8
  36. data/features/webapp/show_memcached_key.feature +0 -7
  37. data/features/webapp/show_memcached_stats.feature +0 -6
  38. data/lib/api.rb +0 -85
  39. data/lib/extensions.rb +0 -14
  40. data/lib/extensions/api_response.rb +0 -15
  41. data/lib/extensions/errors.rb +0 -19
  42. data/lib/extensions/memcached_connection.rb +0 -15
  43. data/lib/extensions/memcached_inspector.rb +0 -49
  44. data/lib/extensions/memcached_settings.rb +0 -18
  45. data/lib/public/images/glyphicons-halflings-white.png +0 -0
  46. data/lib/public/images/glyphicons-halflings.png +0 -0
  47. data/lib/public/javascripts/angular-resource.min.js +0 -10
  48. data/lib/public/javascripts/angular-ui-states.min.js +0 -7
  49. data/lib/public/javascripts/angular.min.js +0 -161
  50. data/lib/public/javascripts/angular/controllers.js +0 -89
  51. data/lib/public/javascripts/angular/routes.js +0 -66
  52. data/lib/public/javascripts/angular/services/notification.js +0 -16
  53. data/lib/public/javascripts/angular/services/resources.js +0 -20
  54. data/lib/public/javascripts/angular/services/response.js +0 -10
  55. data/lib/public/javascripts/application.js +0 -18
  56. data/lib/public/javascripts/jquery-1.9.1.min.js +0 -5
  57. data/lib/public/javascripts/noty/jquery.noty.js +0 -547
  58. data/lib/public/javascripts/noty/layouts/top.js +0 -34
  59. data/lib/public/javascripts/noty/themes/default.js +0 -156
  60. data/lib/public/javascripts/noty_config.js +0 -25
  61. data/lib/public/stylesheets/app.css +0 -50
  62. data/lib/public/stylesheets/base.css +0 -269
  63. data/lib/public/stylesheets/icons.css +0 -492
  64. data/lib/public/stylesheets/layout.css +0 -58
  65. data/lib/public/stylesheets/skeleton.css +0 -242
  66. data/lib/public/templates/edit.html.erb +0 -6
  67. data/lib/public/templates/keys.html.erb +0 -36
  68. data/lib/public/templates/new.html.erb +0 -6
  69. data/lib/public/templates/show.html.erb +0 -2
  70. data/lib/public/templates/stats.html.erb +0 -8
  71. data/lib/views/index.erb +0 -13
  72. data/lib/views/layout.erb +0 -52
  73. data/lib/webapp.rb +0 -14
  74. data/memcached-manager.gemspec +0 -152
@@ -1,58 +0,0 @@
1
- /*
2
- * Skeleton V1.2
3
- * Copyright 2011, Dave Gamache
4
- * www.getskeleton.com
5
- * Free to use under the MIT license.
6
- * http://www.opensource.org/licenses/mit-license.php
7
- * 6/20/2012
8
- */
9
-
10
- /* Table of Content
11
- ==================================================
12
- #Site Styles
13
- #Page Styles
14
- #Media Queries
15
- #Font-Face */
16
-
17
- /* #Site Styles
18
- ================================================== */
19
-
20
- /* #Page Styles
21
- ================================================== */
22
-
23
- /* #Media Queries
24
- ================================================== */
25
-
26
- /* Smaller than standard 960 (devices and browsers) */
27
- @media only screen and (max-width: 959px) {}
28
-
29
- /* Tablet Portrait size to standard 960 (devices and browsers) */
30
- @media only screen and (min-width: 768px) and (max-width: 959px) {}
31
-
32
- /* All Mobile Sizes (devices and browser) */
33
- @media only screen and (max-width: 767px) {}
34
-
35
- /* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
36
- @media only screen and (min-width: 480px) and (max-width: 767px) {}
37
-
38
- /* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
39
- @media only screen and (max-width: 479px) {}
40
-
41
-
42
- /* #Font-Face
43
- ================================================== */
44
- /* This is the proper syntax for an @font-face file
45
- Just create a "fonts" folder at the root,
46
- copy your FontName into code below and remove
47
- comment brackets */
48
-
49
- /* @font-face {
50
- font-family: 'FontName';
51
- src: url('../fonts/FontName.eot');
52
- src: url('../fonts/FontName.eot?iefix') format('eot'),
53
- url('../fonts/FontName.woff') format('woff'),
54
- url('../fonts/FontName.ttf') format('truetype'),
55
- url('../fonts/FontName.svg#webfontZam02nTh') format('svg');
56
- font-weight: normal;
57
- font-style: normal; }
58
- */
@@ -1,242 +0,0 @@
1
- /*
2
- * Skeleton V1.2
3
- * Copyright 2011, Dave Gamache
4
- * www.getskeleton.com
5
- * Free to use under the MIT license.
6
- * http://www.opensource.org/licenses/mit-license.php
7
- * 6/20/2012
8
- */
9
-
10
-
11
- /* Table of Contents
12
- ==================================================
13
- #Base 960 Grid
14
- #Tablet (Portrait)
15
- #Mobile (Portrait)
16
- #Mobile (Landscape)
17
- #Clearing */
18
-
19
-
20
-
21
- /* #Base 960 Grid
22
- ================================================== */
23
-
24
- .container { position: relative; width: 960px; margin: 0 auto; padding: 0; }
25
- .container .column,
26
- .container .columns { float: left; display: inline; margin-left: 10px; margin-right: 10px; }
27
- .row { margin-bottom: 20px; }
28
-
29
- /* Nested Column Classes */
30
- .column.alpha, .columns.alpha { margin-left: 0; }
31
- .column.omega, .columns.omega { margin-right: 0; }
32
-
33
- /* Base Grid */
34
- .container .one.column,
35
- .container .one.columns { width: 40px; }
36
- .container .two.columns { width: 100px; }
37
- .container .three.columns { width: 160px; }
38
- .container .four.columns { width: 220px; }
39
- .container .five.columns { width: 280px; }
40
- .container .six.columns { width: 340px; }
41
- .container .seven.columns { width: 400px; }
42
- .container .eight.columns { width: 460px; }
43
- .container .nine.columns { width: 520px; }
44
- .container .ten.columns { width: 580px; }
45
- .container .eleven.columns { width: 640px; }
46
- .container .twelve.columns { width: 700px; }
47
- .container .thirteen.columns { width: 760px; }
48
- .container .fourteen.columns { width: 820px; }
49
- .container .fifteen.columns { width: 880px; }
50
- .container .sixteen.columns { width: 940px; }
51
-
52
- .container .one-third.column { width: 300px; }
53
- .container .two-thirds.column { width: 620px; }
54
-
55
- /* Offsets */
56
- .container .offset-by-one { padding-left: 60px; }
57
- .container .offset-by-two { padding-left: 120px; }
58
- .container .offset-by-three { padding-left: 180px; }
59
- .container .offset-by-four { padding-left: 240px; }
60
- .container .offset-by-five { padding-left: 300px; }
61
- .container .offset-by-six { padding-left: 360px; }
62
- .container .offset-by-seven { padding-left: 420px; }
63
- .container .offset-by-eight { padding-left: 480px; }
64
- .container .offset-by-nine { padding-left: 540px; }
65
- .container .offset-by-ten { padding-left: 600px; }
66
- .container .offset-by-eleven { padding-left: 660px; }
67
- .container .offset-by-twelve { padding-left: 720px; }
68
- .container .offset-by-thirteen { padding-left: 780px; }
69
- .container .offset-by-fourteen { padding-left: 840px; }
70
- .container .offset-by-fifteen { padding-left: 900px; }
71
-
72
-
73
-
74
- /* #Tablet (Portrait)
75
- ================================================== */
76
-
77
- /* Note: Design for a width of 768px */
78
-
79
- @media only screen and (min-width: 768px) and (max-width: 959px) {
80
- .container { width: 768px; }
81
- .container .column,
82
- .container .columns { margin-left: 10px; margin-right: 10px; }
83
- .column.alpha, .columns.alpha { margin-left: 0; margin-right: 10px; }
84
- .column.omega, .columns.omega { margin-right: 0; margin-left: 10px; }
85
- .alpha.omega { margin-left: 0; margin-right: 0; }
86
-
87
- .container .one.column,
88
- .container .one.columns { width: 28px; }
89
- .container .two.columns { width: 76px; }
90
- .container .three.columns { width: 124px; }
91
- .container .four.columns { width: 172px; }
92
- .container .five.columns { width: 220px; }
93
- .container .six.columns { width: 268px; }
94
- .container .seven.columns { width: 316px; }
95
- .container .eight.columns { width: 364px; }
96
- .container .nine.columns { width: 412px; }
97
- .container .ten.columns { width: 460px; }
98
- .container .eleven.columns { width: 508px; }
99
- .container .twelve.columns { width: 556px; }
100
- .container .thirteen.columns { width: 604px; }
101
- .container .fourteen.columns { width: 652px; }
102
- .container .fifteen.columns { width: 700px; }
103
- .container .sixteen.columns { width: 748px; }
104
-
105
- .container .one-third.column { width: 236px; }
106
- .container .two-thirds.column { width: 492px; }
107
-
108
- /* Offsets */
109
- .container .offset-by-one { padding-left: 48px; }
110
- .container .offset-by-two { padding-left: 96px; }
111
- .container .offset-by-three { padding-left: 144px; }
112
- .container .offset-by-four { padding-left: 192px; }
113
- .container .offset-by-five { padding-left: 240px; }
114
- .container .offset-by-six { padding-left: 288px; }
115
- .container .offset-by-seven { padding-left: 336px; }
116
- .container .offset-by-eight { padding-left: 384px; }
117
- .container .offset-by-nine { padding-left: 432px; }
118
- .container .offset-by-ten { padding-left: 480px; }
119
- .container .offset-by-eleven { padding-left: 528px; }
120
- .container .offset-by-twelve { padding-left: 576px; }
121
- .container .offset-by-thirteen { padding-left: 624px; }
122
- .container .offset-by-fourteen { padding-left: 672px; }
123
- .container .offset-by-fifteen { padding-left: 720px; }
124
- }
125
-
126
-
127
- /* #Mobile (Portrait)
128
- ================================================== */
129
-
130
- /* Note: Design for a width of 320px */
131
-
132
- @media only screen and (max-width: 767px) {
133
- .container { width: 300px; }
134
- .container .columns,
135
- .container .column { margin: 0; }
136
-
137
- .container .one.column,
138
- .container .one.columns,
139
- .container .two.columns,
140
- .container .three.columns,
141
- .container .four.columns,
142
- .container .five.columns,
143
- .container .six.columns,
144
- .container .seven.columns,
145
- .container .eight.columns,
146
- .container .nine.columns,
147
- .container .ten.columns,
148
- .container .eleven.columns,
149
- .container .twelve.columns,
150
- .container .thirteen.columns,
151
- .container .fourteen.columns,
152
- .container .fifteen.columns,
153
- .container .sixteen.columns,
154
- .container .one-third.column,
155
- .container .two-thirds.column { width: 300px; }
156
-
157
- /* Offsets */
158
- .container .offset-by-one,
159
- .container .offset-by-two,
160
- .container .offset-by-three,
161
- .container .offset-by-four,
162
- .container .offset-by-five,
163
- .container .offset-by-six,
164
- .container .offset-by-seven,
165
- .container .offset-by-eight,
166
- .container .offset-by-nine,
167
- .container .offset-by-ten,
168
- .container .offset-by-eleven,
169
- .container .offset-by-twelve,
170
- .container .offset-by-thirteen,
171
- .container .offset-by-fourteen,
172
- .container .offset-by-fifteen { padding-left: 0; }
173
-
174
- }
175
-
176
-
177
- /* #Mobile (Landscape)
178
- ================================================== */
179
-
180
- /* Note: Design for a width of 480px */
181
-
182
- @media only screen and (min-width: 480px) and (max-width: 767px) {
183
- .container { width: 420px; }
184
- .container .columns,
185
- .container .column { margin: 0; }
186
-
187
- .container .one.column,
188
- .container .one.columns,
189
- .container .two.columns,
190
- .container .three.columns,
191
- .container .four.columns,
192
- .container .five.columns,
193
- .container .six.columns,
194
- .container .seven.columns,
195
- .container .eight.columns,
196
- .container .nine.columns,
197
- .container .ten.columns,
198
- .container .eleven.columns,
199
- .container .twelve.columns,
200
- .container .thirteen.columns,
201
- .container .fourteen.columns,
202
- .container .fifteen.columns,
203
- .container .sixteen.columns,
204
- .container .one-third.column,
205
- .container .two-thirds.column { width: 420px; }
206
- }
207
-
208
-
209
- /* #Clearing
210
- ================================================== */
211
-
212
- /* Self Clearing Goodness */
213
- .container:after { content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; }
214
-
215
- /* Use clearfix class on parent to clear nested columns,
216
- or wrap each row of columns in a <div class="row"> */
217
- .clearfix:before,
218
- .clearfix:after,
219
- .row:before,
220
- .row:after {
221
- content: '\0020';
222
- display: block;
223
- overflow: hidden;
224
- visibility: hidden;
225
- width: 0;
226
- height: 0; }
227
- .row:after,
228
- .clearfix:after {
229
- clear: both; }
230
- .row,
231
- .clearfix {
232
- zoom: 1; }
233
-
234
- /* You can also use a <br class="clear" /> to clear columns */
235
- .clear {
236
- clear: both;
237
- display: block;
238
- overflow: hidden;
239
- visibility: hidden;
240
- width: 0;
241
- height: 0;
242
- }
@@ -1,6 +0,0 @@
1
- <h2>Edit key</h2>
2
- <form ng-controller='UpdateKeyController' ng-submit='updateKey()'>
3
- <p>Key: {{pair.key}}</p>
4
- <textarea ng-model='pair.value' placeholder='Value' type='text'></textarea>
5
- <button>Edit</button>
6
- </form>
@@ -1,36 +0,0 @@
1
- <section>
2
- <h3 ng-click="showKeys()">memcached manager</h3>
3
- <hr>
4
- <section id="key-menu">
5
- <div id="key-text">
6
- <h3>keys</h3>
7
- </div><!-- key-text -->
8
-
9
- <div id="key-new">
10
- <a href="#/new" class="button">New key</a><!-- button -->
11
- </div>
12
- </section>
13
-
14
- <div class="clear"></div>
15
-
16
- <section id="key-keys">
17
- <ul>
18
- <li ng-repeat='key in keys' class="key">
19
- <div class="key-info">
20
- <div class="key-header">
21
- <a class="key-title" href="#/key/{{ key.key }}">{{ key.key }}</a><!-- key-title -->
22
- </div><!-- key-header -->
23
- <div id="key-data">
24
- Size: {{ key.bytes }}B
25
- </div><!-- key-data -->
26
- </div><!-- key-info -->
27
-
28
- <div class="key-actions">
29
- <a ng-click="removeKey(key)" class="icon-remove pointer" ng-controller="DeleteKeyController"></a>
30
- <a href="#/edit/{{ key.key }}" class="icon-pencil"></a>
31
- </div><!-- key-actions -->
32
- </li><!-- key -->
33
- </ul>
34
- </section><!-- key-menu -->
35
- <div class="clear"></div>
36
- </section>
@@ -1,6 +0,0 @@
1
- <h2>New key</h2>
2
- <form ng-controller='CreateKeyController' ng-submit='createKey()'>
3
- <input ng-model='pair.key' placeholder='Key' type='text'>
4
- <textarea ng-model='pair.value' placeholder='Value' type='text'></textarea>
5
- <button>Create</button>
6
- </form>
@@ -1,2 +0,0 @@
1
- <h2>Key: {{ pair.key }}</h2>
2
- <p>{{ pair.value }}</p>
@@ -1,8 +0,0 @@
1
- <h2>Stats</h2>
2
- <div ng-repeat="(server, stat) in stats">
3
- <hr>
4
- <h3>Server: {{ server }}</h3>
5
- <ul ng-repeat="(key, value) in stat">
6
- <li><strong>{{ key }}:</strong> {{ value }}</li>
7
- </ul >
8
- </div>
data/lib/views/index.erb DELETED
@@ -1,13 +0,0 @@
1
- <div class="container">
2
- <div class="sixteen columns" style="margin-top: 40px;">
3
- </div><!-- sixteen column -->
4
- <div class="one-third column">
5
- <div ui-view="keys"></div>
6
- </div><!-- two-third column -->
7
- <div class="two-third column">
8
- <div ui-view="key"></div>
9
- </div><!-- two-third column -->
10
- </div><!-- container -->
11
-
12
- <!-- This controller is used to bootstrap the application -->
13
- <section ng-controller='BootstrapController'></section>
data/lib/views/layout.erb DELETED
@@ -1,52 +0,0 @@
1
- <!DOCTYPE html>
2
- <!--[if lt IE 7 ]><html class="ie ie6" lang="en"> <![endif]-->
3
- <!--[if IE 7 ]><html class="ie ie7" lang="en"> <![endif]-->
4
- <!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]-->
5
- <!--[if (gte IE 9)|!(IE)]><!--><html lang="en" ng-app="memcached-keys"> <!--<![endif]-->
6
- <head>
7
-
8
- <!-- Basic Page Needs
9
- ================================================== -->
10
- <meta charset="utf-8">
11
- <title>Memcached Manager</title>
12
- <meta name="description" content="The ultimate memcached manager.">
13
-
14
- <!-- Mobile Specific Metas
15
- ================================================== -->
16
- <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
17
-
18
- <!-- CSS
19
- ================================================== -->
20
- <link rel="stylesheet" href="stylesheets/base.css">
21
- <link rel="stylesheet" href="stylesheets/skeleton.css">
22
- <link rel="stylesheet" href="stylesheets/layout.css">
23
- <link rel="stylesheet" href="stylesheets/layout.css">
24
- <link rel="stylesheet" href="stylesheets/icons.css">
25
- <link rel="stylesheet" href="stylesheets/app.css">
26
-
27
- <!--[if lt IE 9]>
28
- <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
29
- <![endif]-->
30
-
31
- <!-- Favicons
32
- ================================================== -->
33
- <link rel="shortcut icon" href="images/favicon.ico">
34
- </head>
35
- <body>
36
- <%= yield %>
37
- <script type='text/javascript' src='/javascripts/jquery-1.9.1.min.js'></script>
38
- <script type='text/javascript' src='/javascripts/angular.min.js'></script>
39
- <script type='text/javascript' src='/javascripts/angular-resource.min.js'></script>
40
- <script type='text/javascript' src='/javascripts/angular-ui-states.min.js'></script>
41
- <script type='text/javascript' src='/javascripts/application.js'></script>
42
- <script type='text/javascript' src='/javascripts/angular/routes.js'></script>
43
- <script type='text/javascript' src='/javascripts/angular/controllers.js'></script>
44
- <script type='text/javascript' src='/javascripts/angular/services/notification.js'></script>
45
- <script type='text/javascript' src='/javascripts/angular/services/response.js'></script>
46
- <script type='text/javascript' src='/javascripts/angular/services/resources.js'></script>
47
- <script type='text/javascript' src='/javascripts/noty/jquery.noty.js'></script>
48
- <script type='text/javascript' src='/javascripts/noty/layouts/top.js'></script>
49
- <script type='text/javascript' src='/javascripts/noty/themes/default.js'></script>
50
- <script type='text/javascript' src='/javascripts/noty_config.js'></script>
51
- </body>
52
- </html>
data/lib/webapp.rb DELETED
@@ -1,14 +0,0 @@
1
- # Sinatra
2
- require 'sinatra/base'
3
- require 'sinatra/contrib'
4
- require 'json'
5
-
6
- module MemcachedManager
7
- class Webapp < Sinatra::Base
8
- enable :sessions
9
-
10
- get '/' do
11
- erb :index
12
- end
13
- end
14
- end