rails_db 0.7.2 → 0.8
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.
- checksums.yaml +4 -4
- data/Gemfile +1 -0
- data/Gemfile.lock +12 -1
- data/app/assets/javascripts/rails_db/application.js +18 -2
- data/app/assets/javascripts/rails_db/show_hide_columns.js +54 -0
- data/app/assets/stylesheets/rails_db/table.css.scss +5 -0
- data/app/controllers/rails_db/sql_controller.rb +5 -0
- data/app/controllers/rails_db/tables_controller.rb +5 -0
- data/app/helpers/rails_db/tables_helper.rb +12 -0
- data/app/views/rails_db/dashboard/index.html.erb +2 -1
- data/app/views/rails_db/sql/_results.html.erb +2 -1
- data/app/views/rails_db/sql/xls.xls.axlsx +9 -0
- data/app/views/rails_db/tables/_data.html.erb +24 -5
- data/app/views/rails_db/tables/table.xls.axlsx +9 -0
- data/config/initializers/mime_types.rb +1 -0
- data/config/routes.rb +3 -0
- data/lib/rails_db.rb +1 -0
- data/lib/rails_db/version.rb +1 -1
- data/rails_db.gemspec +5 -2
- data/test/dashboard_controller_test.rb +13 -1
- data/test/dummy/db/rails_db.sqlite3 +0 -0
- data/test/standalone/Gemfile +1 -0
- data/test/tables_helper_test.rb +39 -0
- metadata +24 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 549de677a4e83f22444e963e0ab6ca6c35066b77
|
4
|
+
data.tar.gz: 30a2294ea9e10ed00b3801ad9e4bd63a2d9eaeef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d6ba65479b6f329d53a04d6bd2bc663aec5ab9737cb87bfee3de43b5858106669d023d06c7be9ec2a0ebc4194ca7e35aadfb6bb24e8512eff309cbe43717253
|
7
|
+
data.tar.gz: f76cc094514cff3e4c4604dada282b9a364d38a7866ccff5691a65014ae66e698621fa29680fc1ded01bdbd8cf107b7d12019709d6070a53d10945f684e9b9db
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rails_db (0.
|
4
|
+
rails_db (0.8)
|
5
|
+
axlsx_rails
|
5
6
|
codemirror-rails
|
6
7
|
font-awesome-rails
|
7
8
|
jquery-rails
|
@@ -51,6 +52,13 @@ GEM
|
|
51
52
|
tzinfo (~> 1.1)
|
52
53
|
addressable (2.3.8)
|
53
54
|
arel (6.0.3)
|
55
|
+
axlsx (2.0.1)
|
56
|
+
htmlentities (~> 4.3.1)
|
57
|
+
nokogiri (>= 1.4.1)
|
58
|
+
rubyzip (~> 1.0.0)
|
59
|
+
axlsx_rails (0.4.0)
|
60
|
+
axlsx (>= 2.0.1)
|
61
|
+
rails (>= 3.1)
|
54
62
|
builder (3.2.2)
|
55
63
|
codemirror-rails (5.6)
|
56
64
|
railties (>= 3.0, < 5)
|
@@ -60,6 +68,7 @@ GEM
|
|
60
68
|
railties (>= 3.2, < 5.0)
|
61
69
|
globalid (0.3.6)
|
62
70
|
activesupport (>= 4.1.0)
|
71
|
+
htmlentities (4.3.4)
|
63
72
|
i18n (0.7.0)
|
64
73
|
jquery-rails (4.0.5)
|
65
74
|
rails-dom-testing (~> 1.0)
|
@@ -107,6 +116,7 @@ GEM
|
|
107
116
|
rake (>= 0.8.7)
|
108
117
|
thor (>= 0.18.1, < 2.0)
|
109
118
|
rake (10.4.2)
|
119
|
+
rubyzip (1.0.0)
|
110
120
|
sass (3.4.19)
|
111
121
|
sass-rails (5.0.4)
|
112
122
|
railties (>= 4.0.0, < 5.0)
|
@@ -135,6 +145,7 @@ PLATFORMS
|
|
135
145
|
ruby
|
136
146
|
|
137
147
|
DEPENDENCIES
|
148
|
+
axlsx_rails
|
138
149
|
codemirror-rails
|
139
150
|
font-awesome-rails
|
140
151
|
jquery-rails
|
@@ -1,13 +1,29 @@
|
|
1
1
|
//= require jquery
|
2
2
|
//= require jquery_ujs
|
3
|
+
//= require rails_db/foundation/foundation.abide
|
4
|
+
//= require rails_db/foundation/foundation.accordion
|
5
|
+
//= require rails_db/foundation/foundation.alert
|
6
|
+
//= require rails_db/foundation/foundation.clearing
|
7
|
+
//= require rails_db/foundation/foundation.dropdown
|
8
|
+
//= require rails_db/foundation/foundation.equalizer
|
9
|
+
//= require rails_db/foundation/foundation.interchange
|
10
|
+
//= require rails_db/foundation/foundation.joyride
|
3
11
|
//= require rails_db/foundation.min
|
4
|
-
//=
|
12
|
+
//= require rails_db/foundation/foundation.magellan
|
13
|
+
//= require rails_db/foundation/foundation.offcanvas
|
14
|
+
//= require rails_db/foundation/foundation.orbit
|
15
|
+
//= require rails_db/foundation/foundation.reveal
|
16
|
+
//= require rails_db/foundation/foundation.slider
|
17
|
+
//= require rails_db/foundation/foundation.tab
|
18
|
+
//= require rails_db/foundation/foundation.tooltip
|
19
|
+
//= require rails_db/foundation/foundation.topbar
|
5
20
|
//= require rails_db/sticky
|
6
21
|
//= require rails_db/jquery.cookie
|
7
22
|
//= require codemirror
|
8
23
|
//= require codemirror/modes/sql
|
9
24
|
//= require codemirror/addons/hint/show-hint.js
|
10
25
|
//= require codemirror/addons/hint/sql-hint.js
|
26
|
+
//= require rails_db/show_hide_columns.js
|
11
27
|
|
12
28
|
$(function(){
|
13
29
|
$(document).foundation();
|
@@ -76,4 +92,4 @@ function init_sql_editor(mime, tables) {
|
|
76
92
|
});
|
77
93
|
editor.setSize('100%', '300');
|
78
94
|
editor.focus();
|
79
|
-
};
|
95
|
+
};
|
@@ -0,0 +1,54 @@
|
|
1
|
+
$(function(){
|
2
|
+
|
3
|
+
$('body').on('click', '.settings-link', function() {
|
4
|
+
$('.rails-db-settings').toggle();
|
5
|
+
});
|
6
|
+
|
7
|
+
$('body').on('click', '.column-name input', function() {
|
8
|
+
table_name = 'Table: ' + $('a[table_name]').attr('table_name');
|
9
|
+
column_name = $(this).prop('name');
|
10
|
+
if($(this).prop('checked') == false) {
|
11
|
+
write_column_to_cookie(table_name, column_name);
|
12
|
+
} else {
|
13
|
+
remove_column_from_cookie(table_name, column_name);
|
14
|
+
}
|
15
|
+
switch_column_visibility(column_name);
|
16
|
+
toggle_columns();
|
17
|
+
});
|
18
|
+
|
19
|
+
});
|
20
|
+
|
21
|
+
function write_column_to_cookie(table_name, column_name) {
|
22
|
+
column_names = get_column_names_from_cookie(table_name);
|
23
|
+
$.cookie(table_name, column_names += ',' + column_name);
|
24
|
+
};
|
25
|
+
|
26
|
+
function remove_column_from_cookie(table_name, column_name) {
|
27
|
+
column_names = get_column_names_from_cookie(table_name);
|
28
|
+
$.cookie(table_name, column_names.replace(',' + column_name, ''));
|
29
|
+
};
|
30
|
+
|
31
|
+
function get_column_names_from_cookie(table_name) {
|
32
|
+
cookie = $.cookie(table_name);
|
33
|
+
if(cookie == undefined) {
|
34
|
+
return '';
|
35
|
+
} else {
|
36
|
+
return cookie;
|
37
|
+
}
|
38
|
+
};
|
39
|
+
|
40
|
+
function switch_column_visibility(column_name) {
|
41
|
+
$('th.column_' + column_name).toggle();
|
42
|
+
$('td.column_' + column_name).toggle();
|
43
|
+
};
|
44
|
+
|
45
|
+
function toggle_columns() {
|
46
|
+
if($('.column-name input:checked').length == 0) {
|
47
|
+
$('.column-name input[type=checkbox]').each(function() {
|
48
|
+
column_name = $(this).prop('name');
|
49
|
+
$(this).prop("checked", true);
|
50
|
+
remove_column_from_cookie(table_name, column_name);
|
51
|
+
switch_column_visibility(column_name);
|
52
|
+
});
|
53
|
+
}
|
54
|
+
};
|
@@ -43,5 +43,17 @@ module RailsDb
|
|
43
43
|
params.merge({action: :data})
|
44
44
|
end
|
45
45
|
|
46
|
+
def column_is_checked?(table_name, column_name)
|
47
|
+
if cookies["Table: #{table_name}"].present?
|
48
|
+
!cookies["Table: #{table_name}"].split(',').include?(column_name)
|
49
|
+
else
|
50
|
+
true
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def display_style_column(table_name, column_name)
|
55
|
+
column_is_checked?(table_name, column_name) ? 'display' : 'display:none'
|
56
|
+
end
|
57
|
+
|
46
58
|
end
|
47
59
|
end
|
@@ -14,7 +14,8 @@
|
|
14
14
|
<li>filter tables for easier navigation</li>
|
15
15
|
<li>use history of your SQL queries</li>
|
16
16
|
<li>see EXPLAIN results for your queries</li>
|
17
|
-
<li>export data to CSV</li>
|
17
|
+
<li>export data to CSV and Excel</li>
|
18
|
+
<li>hide/show columns</li>
|
18
19
|
<li>import SQL files</li>
|
19
20
|
<li>expand/collapse sidebar</li>
|
20
21
|
<li>experience added HTTP_BASIC auth for Rails DB</li>
|
@@ -5,7 +5,8 @@
|
|
5
5
|
<span class="radius success label">Total: <%= pluralize sql_query.data.count, 'record' %></span>
|
6
6
|
<span class="radius info label">Time: <%= sql_query.data.time %> seconds</span>
|
7
7
|
<span class="radius secondary label"><a href="#" data-reveal-id="explain_modal" id='explain_modal_link'>Explain</a></span>
|
8
|
-
<span class="radius warning label"><%= link_to raw("#{fa_icon('file-
|
8
|
+
<span class="radius warning label"><%= link_to raw("#{fa_icon('file-text-o')} Export to CSV"), sql_csv_path(sql: sql, format: 'csv'), method: :post %></span>
|
9
|
+
<span class="radius warning label"><%= link_to raw("#{fa_icon('file-excel-o')} Export to Excel"), sql_xls_path(sql: sql, format: 'xls'), method: :post %></span>
|
9
10
|
</p>
|
10
11
|
<hr>
|
11
12
|
<%= render 'explain', sql_query: sql_query, sql: sql %>
|
@@ -11,26 +11,45 @@
|
|
11
11
|
<dd class="active"><%= link_to raw("#{fa_icon('table')} Records"), table_data_path(@table), remote: true %></dd>
|
12
12
|
<dd><%= link_to raw("#{fa_icon('tasks')} Schema"), table_path(@table), remote: true %></dd>
|
13
13
|
<dd><%= select_top_from_table(@table.name) %></dd>
|
14
|
-
<dd
|
14
|
+
<dd>
|
15
|
+
<a href="#" data-options="align: bottom" data-dropdown="download-files"><%= fa_icon 'download' %> Export</a>
|
16
|
+
</dd>
|
15
17
|
<dd>
|
16
18
|
<a href="#" data-options="align: bottom" data-dropdown="drop"><%= fa_icon 'th-large' %> Functions</a>
|
17
19
|
</dd>
|
20
|
+
<dd class="right"><%= link_to raw("#{fa_icon('cogs')} Settings"), '#', :class => 'settings-link', :table_name => "#{@table.name}" %></dd>
|
18
21
|
</dl>
|
22
|
+
<div class="clearfix"></div>
|
23
|
+
|
19
24
|
|
20
25
|
<ul id="drop" class="f-dropdown" data-dropdown-content>
|
21
|
-
<li><%= link_to raw("#{fa_icon('trash-o')} Truncate Table"), table_truncate_path(@table),
|
26
|
+
<li><%= link_to raw("#{fa_icon('trash-o')} Truncate Table"), table_truncate_path(@table), data: {confirm: 'Are you sure?'} %></li>
|
27
|
+
</ul>
|
28
|
+
|
29
|
+
<ul id="download-files" class="f-dropdown" data-dropdown-content>
|
30
|
+
<li><%= link_to raw("#{fa_icon('file-text-o')} Export to CSV"), table_csv_path(@table) %></li>
|
31
|
+
<li><%= link_to raw("#{fa_icon('file-excel-o')} Export to Excel"), table_xlsx_path(@table, format: 'xls') %></li>
|
22
32
|
</ul>
|
23
33
|
|
24
34
|
<div class='scrollable'>
|
25
|
-
<
|
35
|
+
<div class='rails-db-settings' style="display:none">
|
36
|
+
<h6>Settings</h6>
|
37
|
+
<% @table.columns.each do |column| %>
|
38
|
+
<label class='column-name'>
|
39
|
+
<%= check_box_tag(column.name, nil, column_is_checked?(@table.name, column.name), class: "#{column.name}") %>
|
40
|
+
<%= column.name %>
|
41
|
+
</label>
|
42
|
+
<% end %>
|
43
|
+
</div>
|
26
44
|
|
45
|
+
<table>
|
27
46
|
<thead>
|
28
47
|
<tr>
|
29
48
|
<% if @table.primary_key.present? %>
|
30
49
|
<th class='delete_td'></th>
|
31
50
|
<% end %>
|
32
51
|
<% @table.columns.each do |column| %>
|
33
|
-
<th
|
52
|
+
<th class="column_<%= column.name %>" style=<%= display_style_column(@table.name, column.name) %>>
|
34
53
|
<%= sortable column.name %>
|
35
54
|
</th>
|
36
55
|
<% end %>
|
@@ -49,7 +68,7 @@
|
|
49
68
|
<% end %>
|
50
69
|
|
51
70
|
<% @table.columns.each do |column| %>
|
52
|
-
<td
|
71
|
+
<td class="column_<%= column.name %>" style=<%= display_style_column(@table.name, column.name) %>>
|
53
72
|
<% name = column.name %>
|
54
73
|
<%= format_value(column, record[name]) %>
|
55
74
|
</td>
|
@@ -0,0 +1 @@
|
|
1
|
+
Mime::Type.register "application/vnd.ms-excel", :xls unless Mime::Type.lookup_by_extension(:xls)
|
data/config/routes.rb
CHANGED
@@ -6,12 +6,15 @@ RailsDb::Engine.routes.draw do
|
|
6
6
|
get 'csv'
|
7
7
|
get 'truncate'
|
8
8
|
get 'destroy' # to handle opens in new window (GET)
|
9
|
+
get 'xlsx'
|
9
10
|
end
|
10
11
|
|
11
12
|
get '/sql' => 'sql#index', as: :sql
|
12
13
|
get '/import' => 'sql#import', as: :sql_import
|
14
|
+
|
13
15
|
post '/execute' => 'sql#execute', as: :sql_execute
|
14
16
|
post '/sql-csv' => 'sql#csv', as: :sql_csv
|
17
|
+
post '/sql-xls' => 'sql#xls', as: :sql_xls
|
15
18
|
post '/import-start' => 'sql#import_start', as: :sql_start_import
|
16
19
|
|
17
20
|
get '/data-table' => 'dashboard#data_table', as: :data_table
|
data/lib/rails_db.rb
CHANGED
data/lib/rails_db/version.rb
CHANGED
data/rails_db.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.email = ["igorkasyanchuk@gmail.com"]
|
10
10
|
s.homepage = "https://github.com/igorkasyanchuk/rails_db"
|
11
11
|
s.summary = "Inspect your Rails DB (table content viewer, execute sql queries, export & import data"
|
12
|
-
s.description = "Quick way to inspect your Rails database, see content of tables, export them to CSV, EXPLAIN SQL and run SQL queries."
|
12
|
+
s.description = "Quick way to inspect your Rails database, see content of tables, filter, export them to CSV, Excel, EXPLAIN SQL and run SQL queries."
|
13
13
|
s.license = "MIT"
|
14
14
|
|
15
15
|
s.files = Dir["{app,config,lib,test}/**/*", "rails_db.gemspec", "Gemfile", "Gemfile.lock", "MIT-LICENSE", "Rakefile", "README.rdoc", "bin/rails_db", "bin/railsdb", "bin/runsql"]
|
@@ -25,8 +25,11 @@ Gem::Specification.new do |s|
|
|
25
25
|
s.add_dependency 'codemirror-rails'
|
26
26
|
s.add_dependency 'launchy'
|
27
27
|
s.add_dependency 'terminal-table'
|
28
|
+
s.add_dependency 'axlsx_rails'
|
28
29
|
|
29
30
|
s.add_development_dependency "sqlite3"
|
30
31
|
s.add_development_dependency "mysql2", '<= 0.3.20'
|
31
32
|
s.add_development_dependency "pg"
|
32
|
-
|
33
|
+
# s.add_development_dependency 'populator'
|
34
|
+
# s.add_development_dependency 'faker'
|
35
|
+
end
|
@@ -43,11 +43,23 @@ class DashboardControllerTest < ActionDispatch::IntegrationTest
|
|
43
43
|
assert_equal 302, status
|
44
44
|
assert_equal 0, User.count
|
45
45
|
|
46
|
-
get '/rails/db/tables/
|
46
|
+
get '/rails/db/tables/users/csv'
|
47
47
|
assert_equal 200, status
|
48
48
|
|
49
49
|
get '/rails/db/standalone'
|
50
50
|
assert_equal 200, status
|
51
|
+
|
52
|
+
get '/rails/db/tables/users/xlsx.xls'
|
53
|
+
assert_equal 200, status
|
54
|
+
|
55
|
+
get '/rails/db/sql?sql=select+%2A+from+users+limit+10'
|
56
|
+
assert_equal 200, status
|
57
|
+
|
58
|
+
post '/rails/db/sql-csv.csv?sql=select+%2A+from+users+limit+10'
|
59
|
+
assert_equal 200, status
|
60
|
+
|
61
|
+
post '/rails/db/sql-xls.xls?sql=select+%2A+from+users+limit+10'
|
62
|
+
assert_equal 200, status
|
51
63
|
end
|
52
64
|
|
53
65
|
end
|
Binary file
|
data/test/standalone/Gemfile
CHANGED
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class TablesHelperTest < ActionView::TestCase
|
4
|
+
include RailsDb::TablesHelper
|
5
|
+
|
6
|
+
def setup
|
7
|
+
clean_db
|
8
|
+
end
|
9
|
+
|
10
|
+
test "method column_is_checked? returns true for checkbox status if cookie does not contain hash_key for this table" do
|
11
|
+
status = column_is_checked?('users', 'created_at')
|
12
|
+
assert_equal true, status
|
13
|
+
end
|
14
|
+
|
15
|
+
test "method column_is_checked? returns true for checkbox status if cookie does not contain record for this table:column" do
|
16
|
+
cookies['Table: users'] = 'created_at,'
|
17
|
+
status = column_is_checked?('users', 'name')
|
18
|
+
assert_equal true, status
|
19
|
+
end
|
20
|
+
|
21
|
+
test "method column_is_checked? returns false for checkbox status if cookie contains record for this table:column" do
|
22
|
+
cookies['Table: users'] = 'created_at,'
|
23
|
+
status = column_is_checked?('users', 'created_at')
|
24
|
+
assert_equal false, status
|
25
|
+
end
|
26
|
+
|
27
|
+
test "method display_style_column returns 'display:none' if cookie contains record for this table:column" do
|
28
|
+
cookies['Table: users'] = 'created_at,'
|
29
|
+
style = display_style_column('users', 'created_at')
|
30
|
+
assert_equal 'display:none', style
|
31
|
+
end
|
32
|
+
|
33
|
+
test "method display_style_column returns 'display' if cookie does not contain record for this table:column" do
|
34
|
+
cookies['Table: users'] = 'created_at,'
|
35
|
+
style = display_style_column('users', 'name')
|
36
|
+
assert_equal 'display', style
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_db
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.8'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Kasyanchuk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -122,6 +122,20 @@ dependencies:
|
|
122
122
|
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: axlsx_rails
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: sqlite3
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,8 +178,8 @@ dependencies:
|
|
164
178
|
- - ">="
|
165
179
|
- !ruby/object:Gem::Version
|
166
180
|
version: '0'
|
167
|
-
description: Quick way to inspect your Rails database, see content of tables,
|
168
|
-
them to CSV, EXPLAIN SQL and run SQL queries.
|
181
|
+
description: Quick way to inspect your Rails database, see content of tables, filter,
|
182
|
+
export them to CSV, Excel, EXPLAIN SQL and run SQL queries.
|
169
183
|
email:
|
170
184
|
- igorkasyanchuk@gmail.com
|
171
185
|
executables:
|
@@ -207,6 +221,7 @@ files:
|
|
207
221
|
- app/assets/javascripts/rails_db/foundation/foundation.tooltip.js
|
208
222
|
- app/assets/javascripts/rails_db/foundation/foundation.topbar.js
|
209
223
|
- app/assets/javascripts/rails_db/jquery.cookie.js
|
224
|
+
- app/assets/javascripts/rails_db/show_hide_columns.js
|
210
225
|
- app/assets/javascripts/rails_db/sticky.js
|
211
226
|
- app/assets/javascripts/rails_db/vendor/fastclick.js
|
212
227
|
- app/assets/javascripts/rails_db/vendor/jquery.cookie.js
|
@@ -247,6 +262,7 @@ files:
|
|
247
262
|
- app/views/rails_db/sql/_results.html.erb
|
248
263
|
- app/views/rails_db/sql/import.html.erb
|
249
264
|
- app/views/rails_db/sql/index.html.erb
|
265
|
+
- app/views/rails_db/sql/xls.xls.axlsx
|
250
266
|
- app/views/rails_db/tables/_data.html.erb
|
251
267
|
- app/views/rails_db/tables/_show.html.erb
|
252
268
|
- app/views/rails_db/tables/data.html.erb
|
@@ -255,10 +271,12 @@ files:
|
|
255
271
|
- app/views/rails_db/tables/index.html.erb
|
256
272
|
- app/views/rails_db/tables/show.html.erb
|
257
273
|
- app/views/rails_db/tables/show.js.erb
|
274
|
+
- app/views/rails_db/tables/table.xls.axlsx
|
258
275
|
- bin/rails_db
|
259
276
|
- bin/railsdb
|
260
277
|
- bin/runsql
|
261
278
|
- config/database.travis.yml
|
279
|
+
- config/initializers/mime_types.rb
|
262
280
|
- config/routes.rb
|
263
281
|
- lib/ext/string_ext.rb
|
264
282
|
- lib/generators/USAGE
|
@@ -425,6 +443,7 @@ files:
|
|
425
443
|
- test/standalone/public/500.html
|
426
444
|
- test/standalone/public/favicon.ico
|
427
445
|
- test/table_test.rb
|
446
|
+
- test/tables_helper_test.rb
|
428
447
|
- test/test_helper.rb
|
429
448
|
- test/test_sql_mysql.sql
|
430
449
|
- test/test_sql_postgres.sql
|
@@ -590,6 +609,7 @@ test_files:
|
|
590
609
|
- test/standalone/Rakefile
|
591
610
|
- test/standalone/README.rdoc
|
592
611
|
- test/table_test.rb
|
612
|
+
- test/tables_helper_test.rb
|
593
613
|
- test/test_helper.rb
|
594
614
|
- test/test_sql_mysql.sql
|
595
615
|
- test/test_sql_postgres.sql
|