memcached-manager 0.2.2 → 0.2.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.
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