humongous 0.1.4.pre → 0.1.5.pre
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/humongous/application.rb +14 -18
- data/lib/humongous/public/images/ajax-loader.gif +0 -0
- data/lib/humongous/public/javascripts/application.js +76 -15
- data/lib/humongous/public/javascripts/query_browser.js +2 -2
- data/lib/humongous/public/styles/application.css +4 -0
- data/lib/humongous/version.rb +3 -0
- data/lib/humongous/views/index.erb +9 -7
- data/lib/humongous.rb +2 -1
- metadata +15 -13
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.3.pre
|
@@ -106,6 +106,14 @@ module Humongous
|
|
106
106
|
{ stats: @collection.stats, header: "Collection #{@database.name}.#{@collection.name} (#{@collection.stats.count}) stats" }.to_json
|
107
107
|
end
|
108
108
|
|
109
|
+
delete "/database/:db_name/collection/:collection_name" do
|
110
|
+
@database = @connection.db(params[:db_name])
|
111
|
+
if @database.drop_collection(params[:collection_name])
|
112
|
+
content_type :json
|
113
|
+
{ status: "OK", dropped: true }.to_json
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
109
117
|
post "/database/:db_name/collection/:collection_name/page/:page" do
|
110
118
|
selector = {}
|
111
119
|
opts = {}
|
@@ -142,27 +150,15 @@ module Humongous
|
|
142
150
|
end
|
143
151
|
|
144
152
|
post "/database" do
|
145
|
-
|
146
|
-
{}
|
153
|
+
@connection.db(params["database_name"]).create_collection("test");
|
154
|
+
{ status: "OK", created: true, name: params["database_name"] }.to_json
|
147
155
|
end
|
148
156
|
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
"development"
|
154
|
-
end
|
155
|
-
|
156
|
-
def self.description
|
157
|
-
%Q{
|
158
|
-
Humongous: A Ruby way to browse and maintain mongo instance. Using HTML5.
|
159
|
-
This is beta version, So there is long way to go, but still you can enjoy its
|
160
|
-
simplistic design.
|
161
|
-
}
|
162
|
-
end
|
157
|
+
post "/database/:database_name/collection" do
|
158
|
+
@connection.db(params["database_name"]).create_collection(params[:collection_name]);
|
159
|
+
{ status: "OK", created: true, name: params["collection_name"] }.to_json
|
160
|
+
end
|
163
161
|
|
164
|
-
def self.summary
|
165
|
-
%Q{An standalone Mongo Browser for Ruby. Just run and forget.}
|
166
162
|
end
|
167
163
|
|
168
164
|
end
|
Binary file
|
@@ -8,7 +8,7 @@ $(document).ready(function(){
|
|
8
8
|
}).bind("ajaxComplete", function(){
|
9
9
|
$( this ).modal('hide');
|
10
10
|
});
|
11
|
-
$('.database_list tr').click
|
11
|
+
$('.database_list tr').live('click', function( e ){
|
12
12
|
var data_source = $( e.target ).attr( "data-source" );
|
13
13
|
$( this ).siblings().removeClass('active');
|
14
14
|
$( this ).addClass( 'active' );
|
@@ -49,8 +49,12 @@ $(document).ready(function(){
|
|
49
49
|
}
|
50
50
|
})
|
51
51
|
} );
|
52
|
-
$(".delete").bind( 'click', function(e){
|
52
|
+
$(".databases .delete").bind( 'click', function(e){
|
53
53
|
var elem = $(".database_list").find(".active");
|
54
|
+
if(!elem.length){
|
55
|
+
alert("Please choose a database to delete.");
|
56
|
+
return false;
|
57
|
+
}
|
54
58
|
var data_source = elem.children().attr("data-source");
|
55
59
|
app.ax({
|
56
60
|
url: data_source,
|
@@ -61,14 +65,15 @@ $(document).ready(function(){
|
|
61
65
|
}
|
62
66
|
});
|
63
67
|
} );
|
64
|
-
$(".add").bind( 'click', function(e){
|
68
|
+
$(".databases .add").bind( 'click', function(e){
|
69
|
+
$("#modal_skeleton.modal").remove();
|
65
70
|
var modal_skeleton = app.html.modal_skeleton.create( "modal_skeleton" );
|
66
|
-
|
71
|
+
var input_field = app.html.template.input_field
|
67
72
|
modal_skeleton.children[0].children = [
|
68
73
|
{ tag: "H3", text: "Add Database" }
|
69
74
|
];
|
70
75
|
modal_skeleton.children[1].children = [
|
71
|
-
|
76
|
+
input_field.container({
|
72
77
|
id: "database_name",
|
73
78
|
name: "database_name",
|
74
79
|
text: "Name",
|
@@ -77,18 +82,74 @@ $(document).ready(function(){
|
|
77
82
|
})
|
78
83
|
];
|
79
84
|
modal_skeleton.children[2].children = [
|
80
|
-
{ tag: "A", cls: "btn primary", text: "Add"
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
85
|
+
{ tag: "A", cls: "btn primary", text: "Add" }
|
86
|
+
]
|
87
|
+
$( "#modal_skeleton a" ).live("click", function(e){
|
88
|
+
$( "#modal_skeleton" ).modal('hide');
|
89
|
+
app.ax({
|
90
|
+
url: "/database",
|
91
|
+
data: { database_name: $("#database_name").val() },
|
92
|
+
success: function(data){
|
93
|
+
if(data["created"]){
|
94
|
+
$(".database_list table tbody").append("<tr><td data-source='/database/"+data["name"]+"'>"+data["name"]+"</td></tr>")
|
87
95
|
}
|
88
|
-
}
|
89
|
-
}
|
96
|
+
}
|
97
|
+
});
|
98
|
+
});
|
99
|
+
$( modal_skeleton ).modal({
|
100
|
+
keyboard: true,
|
101
|
+
backdrop: "static",
|
102
|
+
show: true
|
103
|
+
});
|
104
|
+
} );
|
105
|
+
$(".collections .delete").bind( 'click', function(e){
|
106
|
+
var elem = $(".collections_list").find(".active");
|
107
|
+
if(!elem.length){
|
108
|
+
alert("Please choose a collection to delete.");
|
109
|
+
return false;
|
110
|
+
}
|
111
|
+
var data_source = elem.children().attr("data-source");
|
112
|
+
app.ax({
|
113
|
+
url: data_source,
|
114
|
+
type: "DELETE",
|
115
|
+
success: function(data){
|
116
|
+
console.log("DELETED: " + JSON.stringify(data));
|
117
|
+
$(elem).remove();
|
118
|
+
}
|
119
|
+
});
|
120
|
+
} );
|
121
|
+
$(".collections .add").bind( 'click', function(e){
|
122
|
+
$("#modal_skeleton.modal").remove();
|
123
|
+
var db = app.storage.get("database");
|
124
|
+
var modal_skeleton = app.html.modal_skeleton.create( "modal_skeleton" );
|
125
|
+
var input_field = app.html.template.input_field
|
126
|
+
modal_skeleton.children[0].children = [
|
127
|
+
{ tag: "H3", text: "Add a Collection" }
|
128
|
+
];
|
129
|
+
modal_skeleton.children[1].children = [
|
130
|
+
input_field.container({
|
131
|
+
id: "collection_name",
|
132
|
+
name: "collection_name",
|
133
|
+
text: "Name",
|
134
|
+
placeholder: "Collection Name",
|
135
|
+
size: "30"
|
136
|
+
})
|
137
|
+
];
|
138
|
+
modal_skeleton.children[2].children = [
|
139
|
+
{ tag: "A", cls: "btn primary", text: "Add" }
|
90
140
|
]
|
91
|
-
$( modal_skeleton ).
|
141
|
+
$( "#modal_skeleton a" ).live("click", function(e){
|
142
|
+
$( "#modal_skeleton" ).modal('hide');
|
143
|
+
app.ax({
|
144
|
+
url: "/database/" + db + "/collection",
|
145
|
+
data: { collection_name: $("#collection_name").val() },
|
146
|
+
success: function(data){
|
147
|
+
if(data["created"]){
|
148
|
+
$(".collections_list table tbody").append("<tr><td data-source='/database/"+db+"/collection/"+data["name"]+"'>"+data["name"]+"</td></tr>")
|
149
|
+
}
|
150
|
+
}
|
151
|
+
});
|
152
|
+
});
|
92
153
|
$( modal_skeleton ).modal({
|
93
154
|
keyboard: true,
|
94
155
|
backdrop: "static",
|
@@ -18,7 +18,7 @@ app.html.query_browser = {
|
|
18
18
|
] },
|
19
19
|
{ tag: "DIV", cls: "sort_form", children: [
|
20
20
|
{ tag: "LABEL", "for": "sort", text: "Sort" },
|
21
|
-
{ tag: "INPUT", type: "text", placeholder: "
|
21
|
+
{ tag: "INPUT", type: "text", placeholder: "[\"name\", \"asc\"]", id: "sort", name: "sort" }
|
22
22
|
] },
|
23
23
|
{ tag: "DIV", cls: "clear" }
|
24
24
|
] },
|
@@ -26,7 +26,7 @@ app.html.query_browser = {
|
|
26
26
|
{ tag: "DIV", cls: "input_row", children: [
|
27
27
|
{ tag: "DIV", cls: "fields_form", children: [
|
28
28
|
{ tag: "LABEL", "for": "fields", text: "Fields" },
|
29
|
-
{ tag: "INPUT", type: "text", placeholder: "
|
29
|
+
{ tag: "INPUT", type: "text", placeholder: "field1, field2", id: "fields", size: "30", name: "fields" }
|
30
30
|
] },
|
31
31
|
{ tag: "DIV", cls: "skip_form", children: [
|
32
32
|
{ tag: "LABEL", "for": "skip", text: "Skip" },
|
@@ -53,7 +53,7 @@
|
|
53
53
|
<div class="sidebar-header">
|
54
54
|
<h3>Databases</h3>
|
55
55
|
<div class="add_remove">
|
56
|
-
<a class="add">ADD</a>
|
56
|
+
<a class="add">ADD</a> |
|
57
57
|
<a class="delete">REMOVE</a>
|
58
58
|
</div>
|
59
59
|
<div class="clear"></div>
|
@@ -71,7 +71,14 @@
|
|
71
71
|
</div>
|
72
72
|
</div>
|
73
73
|
<div class="collections">
|
74
|
-
<
|
74
|
+
<div class="sidebar-header">
|
75
|
+
<h3>Collections</h3>
|
76
|
+
<div class="add_remove">
|
77
|
+
<a class="add">ADD</a> |
|
78
|
+
<a class="delete">REMOVE</a>
|
79
|
+
</div>
|
80
|
+
<div class="clear"></div>
|
81
|
+
</div>
|
75
82
|
<div class="collections_list">
|
76
83
|
</div>
|
77
84
|
</div>
|
@@ -165,11 +172,6 @@
|
|
165
172
|
<img src="/images/ajax-loader.gif"></img>
|
166
173
|
</div>
|
167
174
|
</div>
|
168
|
-
<div id="modal_skeleton" style="display:none" class="modal">
|
169
|
-
<div class="modal-header"></div>
|
170
|
-
<div class="modal-body"></div>
|
171
|
-
<div class="modal-footer"></div>
|
172
|
-
</div>
|
173
175
|
|
174
176
|
<footer>
|
175
177
|
<p>© Bagwan Pankaj 2012</p>
|
data/lib/humongous.rb
CHANGED
@@ -7,6 +7,7 @@ require "mongo"
|
|
7
7
|
require "json"
|
8
8
|
require "crack"
|
9
9
|
require 'humongous/application'
|
10
|
+
require 'humongous/version'
|
10
11
|
|
11
12
|
module Humongous
|
12
13
|
|
@@ -16,7 +17,7 @@ module Humongous
|
|
16
17
|
|
17
18
|
#gem version
|
18
19
|
def self.version #:nodoc
|
19
|
-
|
20
|
+
Humongous::VERSION
|
20
21
|
end
|
21
22
|
|
22
23
|
def self.description
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: humongous
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5.pre
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-01-21 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: vegas
|
16
|
-
requirement: &
|
16
|
+
requirement: &2160588840 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - =
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.1.8
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2160588840
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: sinatra
|
27
|
-
requirement: &
|
27
|
+
requirement: &2160588280 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - =
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.3.2
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2160588280
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: bson_ext
|
38
|
-
requirement: &
|
38
|
+
requirement: &2160587640 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - =
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.5.2
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2160587640
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: mongo
|
49
|
-
requirement: &
|
49
|
+
requirement: &2160586860 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - =
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.5.2
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2160586860
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: json
|
60
|
-
requirement: &
|
60
|
+
requirement: &2160585840 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - =
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 1.6.5
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *2160585840
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: crack
|
71
|
-
requirement: &
|
71
|
+
requirement: &2160584600 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - =
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: 0.3.1
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *2160584600
|
80
80
|
description: ! 'Humongous: A Ruby way to browse and maintain mongo instance. Using
|
81
81
|
HTML5.'
|
82
82
|
email: bagwanpankaj@gmail.com
|
@@ -91,8 +91,10 @@ files:
|
|
91
91
|
- VERSION
|
92
92
|
- bin/humongous
|
93
93
|
- lib/humongous.rb
|
94
|
+
- lib/humongous/version.rb
|
94
95
|
- lib/humongous/application.rb
|
95
96
|
- lib/humongous/public/images/favicon.ico
|
97
|
+
- lib/humongous/public/images/ajax-loader.gif
|
96
98
|
- lib/humongous/public/javascripts/application.js
|
97
99
|
- lib/humongous/public/javascripts/bootstrap-modal.js
|
98
100
|
- lib/humongous/public/javascripts/core.js
|