flammarion_rails 0.2.0 → 0.2.1
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/README.md +1 -3
- data/app/assets/javascripts/flammarion_rails/actions.coffee +1 -1
- data/lib/flammarion/engraving.rb +10 -23
- data/lib/flammarion_rails/version.rb +1 -1
- data/public/index.js +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 71625fc08d749a8dfe8dfc6f7b5ef770e5700f23
|
4
|
+
data.tar.gz: d6208f1d93881a2ceb3622abede691f9a9380ef9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d6cdb11f7de83f5b5770854eac952a2bc2a6670c3e474e2e25947910782d2be9a67465d08ab5236a7c22d309c1617113864eeab68b773f5282ce1bfdeba5a130
|
7
|
+
data.tar.gz: 79321714b0fca0ebf85470889d5b77609affb4de5bb6636e4f5d1b72e91aa8b0614eee8d9b98520c3d0de8d625096833faa10696be61dfdb98b98bb6060259f3
|
data/README.md
CHANGED
@@ -14,14 +14,12 @@
|
|
14
14
|
|
15
15
|
* TODO: disable refresh / reload (disable left click)
|
16
16
|
|
17
|
-
* TODO: rack integration --> railties-5.0.0.1/lib/rails/engine.rb
|
17
|
+
* TODO: all 'action_dispatch.request....' or rack integration --> railties-5.0.0.1/lib/rails/engine.rb
|
18
18
|
|
19
19
|
* TODO: 404 and errors (rotate log files)
|
20
20
|
|
21
21
|
* TODO: settings/preferences
|
22
22
|
|
23
|
-
* TODO: try if 'action_dispatch.request.path_parameters' filled could prevent rails_admin to crash in index_path
|
24
|
-
|
25
23
|
* TODO: non-blocking download
|
26
24
|
|
27
25
|
* TODO: use pjax layout instead of full layout
|
@@ -34,7 +34,7 @@ if $.pjax?
|
|
34
34
|
|
35
35
|
ws.onmessage_actions.pjax = (event) ->
|
36
36
|
new_page = $("<div>")
|
37
|
-
new_page.html(ws_data.
|
37
|
+
new_page.html(ws_data.body)
|
38
38
|
container = new_page.find('[data-pjax-container]')
|
39
39
|
$('[data-pjax-container]').html(container.html())
|
40
40
|
$(document).trigger('rails_admin.dom_ready')
|
data/lib/flammarion/engraving.rb
CHANGED
@@ -12,10 +12,7 @@ module Flammarion
|
|
12
12
|
# disconnected (i.e., closed)
|
13
13
|
# @option options [Boolean] :exit_on_disconnect (false) Will call +exit+
|
14
14
|
# when the widow is closed if this option is true.
|
15
|
-
# @
|
16
|
-
# when the process exits if this is true. Otherwise, it will just stay
|
17
|
-
# around, but not actually be interactive.
|
18
|
-
# @raise {SetupError} if neither chrome is set up correctly and
|
15
|
+
# @raise {SetupError} if chrome is not set up correctly and
|
19
16
|
# and Flammarion is unable to display the engraving.
|
20
17
|
def initialize(**options)
|
21
18
|
@chrome = OpenStruct.new
|
@@ -28,8 +25,6 @@ module Flammarion
|
|
28
25
|
@window_id = @@server.register_window(self)
|
29
26
|
open_a_window(options) unless options[:no_window]
|
30
27
|
wait_for_a_connection unless options[:no_wait]
|
31
|
-
|
32
|
-
at_exit {close if window_open?} if options.fetch(:close_on_exit, true)
|
33
28
|
end
|
34
29
|
|
35
30
|
# Blocks the current thread until the window has been closed. All user
|
@@ -38,11 +33,6 @@ module Flammarion
|
|
38
33
|
sleep 1 until @sockets.empty?
|
39
34
|
end
|
40
35
|
|
41
|
-
# Is this Engraving displayed on the screen.
|
42
|
-
def window_open?
|
43
|
-
!@sockets.empty?
|
44
|
-
end
|
45
|
-
|
46
36
|
def disconnect(ws)
|
47
37
|
@sockets.delete ws
|
48
38
|
exit 0 if @exit_on_disconnect
|
@@ -55,18 +45,14 @@ module Flammarion
|
|
55
45
|
dispatch(params)
|
56
46
|
|
57
47
|
if status == 302
|
58
|
-
|
59
|
-
|
60
|
-
session: response.request.session
|
61
|
-
}.with_indifferent_access
|
62
|
-
dispatch(params)
|
63
|
-
render(action: 'page', html: response.body)
|
48
|
+
dispatch(url: headers['Location'].sub(/^.*:\/{2}(:\d{0,4})?/i, ''), session: response.request.session)
|
49
|
+
render(action: 'page', body: response.body)
|
64
50
|
elsif headers['Content-Transfer-Encoding'] == 'binary'
|
65
51
|
filename = headers['Content-Disposition'].sub(/.*filename=/, '').gsub(/(^"|"$)/, '')
|
66
52
|
render(action: 'file', name: filename)
|
67
53
|
render(response.body)
|
68
54
|
else
|
69
|
-
render(action: action,
|
55
|
+
render(action: action, body: response.body)
|
70
56
|
end
|
71
57
|
|
72
58
|
rescue => e
|
@@ -90,11 +76,11 @@ module Flammarion
|
|
90
76
|
if params.key?(:_method)
|
91
77
|
params[:method] = params[:_method]
|
92
78
|
end
|
93
|
-
params[:method] ||= :get
|
79
|
+
http_method = (params[:method] ||= :get).to_s.upcase!
|
94
80
|
|
95
|
-
path_params = recognize_path(
|
81
|
+
path_params = recognize_path(uri.path, params.merge!(query_params))
|
96
82
|
unless path_params.key?(:controller)
|
97
|
-
raise ActionController::RoutingError, "No route matches [#{
|
83
|
+
raise ActionController::RoutingError, "No route matches [#{http_method}] #{url}"
|
98
84
|
end
|
99
85
|
|
100
86
|
controller_name = "#{path_params[:controller].underscore.camelize}Controller"
|
@@ -102,8 +88,9 @@ module Flammarion
|
|
102
88
|
action = path_params[:action] || 'index'
|
103
89
|
request_env = {
|
104
90
|
'rack.input' => '',
|
105
|
-
'REQUEST_METHOD' =>
|
106
|
-
'action_dispatch.request.parameters' =>
|
91
|
+
'REQUEST_METHOD' => http_method,
|
92
|
+
'action_dispatch.request.parameters' => params.merge!(path_params),
|
93
|
+
'action_dispatch.request.path_parameters' => path_params,
|
107
94
|
}
|
108
95
|
request_env['rack.session'] = session if session
|
109
96
|
self.request = ActionDispatch::Request.new(request_env)
|
data/public/index.js
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flammarion_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Patrice Lebel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|