breezy 0.3.4 → 0.5.0
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/lib/breezy/configuration.rb +12 -4
- data/lib/breezy/render.rb +1 -1
- data/lib/breezy/version.rb +1 -1
- data/lib/breezy/xhr_headers.rb +8 -20
- data/lib/breezy.rb +3 -4
- data/lib/generators/rails/templates/mobile/edit.jsx +1 -1
- data/lib/generators/rails/templates/mobile/index.jsx +1 -1
- data/lib/generators/rails/templates/mobile/new.jsx +1 -1
- data/lib/generators/rails/templates/web/base.jsx +2 -2
- data/lib/generators/rails/templates/web/edit.jsx +1 -1
- data/lib/generators/rails/templates/web/new.jsx +1 -1
- data/lib/install/templates/mobile/app.js +2 -2
- data/lib/install/templates/web/initializer.rb +4 -0
- data/lib/install/web.rb +3 -0
- data/lib/tasks/install.rake +2 -10
- data/test/breezy_test.rb +29 -75
- data/test/configuration_test.rb +12 -5
- data/test/render_test.rb +4 -2
- metadata +60 -24
- data/lib/breezy/cookies.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 021670ec6a383d8c41d2741352fe413b36073511
|
4
|
+
data.tar.gz: f5df7c82b777a64399e7c41a973cf36c47af3aa3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 10f8dd453d698269699cea287e151e36939e1eb63444e437336fecb038f27d8c0e4b1e2dfd00aa45c1ddf7731002c42d81e4774c2eb33f28cc59c079d5e8ed98
|
7
|
+
data.tar.gz: 1542aa4578bd435e4e9efb47599fd2a58207172d7a5381c4c50be6cb871e4bf2dbe11545f00b7688a3fbd04cd2f2597f9b9cb84afb7843e48577b00cbed9c828
|
data/lib/breezy/configuration.rb
CHANGED
@@ -4,12 +4,20 @@ module Breezy
|
|
4
4
|
BreezyTemplate.configuration = nil
|
5
5
|
end
|
6
6
|
|
7
|
-
def
|
8
|
-
BreezyTemplate.configuration.
|
7
|
+
def track_sprockets_assets=(assets)
|
8
|
+
BreezyTemplate.configuration.track_sprockets_assets = assets
|
9
9
|
end
|
10
10
|
|
11
|
-
def
|
12
|
-
BreezyTemplate.configuration.
|
11
|
+
def track_sprockets_assets
|
12
|
+
BreezyTemplate.configuration.track_sprockets_assets
|
13
|
+
end
|
14
|
+
|
15
|
+
def track_pack_assets=(assets)
|
16
|
+
BreezyTemplate.configuration.track_pack_assets = assets
|
17
|
+
end
|
18
|
+
|
19
|
+
def track_pack_assets
|
20
|
+
BreezyTemplate.configuration.track_pack_assets
|
13
21
|
end
|
14
22
|
end
|
15
23
|
|
data/lib/breezy/render.rb
CHANGED
@@ -22,7 +22,7 @@ module Breezy
|
|
22
22
|
|
23
23
|
if breezy
|
24
24
|
view_parts = _prefixes.reverse.push(action_name)[1..-1]
|
25
|
-
view_name = view_parts.map(&:camelize).join
|
25
|
+
view_name = view_parts.map(&:camelize).join.gsub('::', '')
|
26
26
|
|
27
27
|
breezy[:screen] ||= view_name
|
28
28
|
render_options[:locals] ||= {}
|
data/lib/breezy/version.rb
CHANGED
data/lib/breezy/xhr_headers.rb
CHANGED
@@ -1,23 +1,19 @@
|
|
1
1
|
module Breezy
|
2
2
|
module XHRHeaders
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
super
|
9
|
-
end
|
3
|
+
def redirect_back(fallback_location:, **args)
|
4
|
+
if referer = request.headers["X-XHR-Referer"]
|
5
|
+
redirect_to referer, **args
|
6
|
+
else
|
7
|
+
super
|
10
8
|
end
|
11
9
|
end
|
12
10
|
|
13
|
-
def _compute_redirect_to_location(
|
14
|
-
options, request = _normalize_redirect_params(args)
|
15
|
-
|
11
|
+
def _compute_redirect_to_location(request, options)
|
16
12
|
url = begin
|
17
13
|
if options == :back && request.headers["X-XHR-Referer"]
|
18
|
-
super(
|
14
|
+
super(request, request.headers["X-XHR-Referer"])
|
19
15
|
else
|
20
|
-
super
|
16
|
+
super
|
21
17
|
end
|
22
18
|
end
|
23
19
|
|
@@ -31,13 +27,5 @@ module Breezy
|
|
31
27
|
def set_response_url
|
32
28
|
response.headers['X-RESPONSE-URL'] = request.fullpath
|
33
29
|
end
|
34
|
-
|
35
|
-
# Ensure backwards compatibility
|
36
|
-
# Rails < 4.2: _compute_redirect_to_location(options)
|
37
|
-
# Rails >= 4.2: _compute_redirect_to_location(request, options)
|
38
|
-
def _normalize_redirect_params(args)
|
39
|
-
options, req = args.reverse
|
40
|
-
[options, req || request]
|
41
|
-
end
|
42
30
|
end
|
43
31
|
end
|
data/lib/breezy.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'breezy/version'
|
2
2
|
require 'breezy/xhr_headers'
|
3
3
|
require 'breezy/xhr_url_for'
|
4
|
-
require 'breezy/cookies'
|
5
4
|
require 'breezy/x_domain_blocker'
|
6
5
|
require 'breezy/render'
|
7
6
|
require 'breezy/helpers'
|
@@ -10,14 +9,14 @@ require 'breezy_template'
|
|
10
9
|
|
11
10
|
module Breezy
|
12
11
|
module Controller
|
13
|
-
include XHRHeaders,
|
12
|
+
include XHRHeaders, XDomainBlocker, Render, Helpers
|
14
13
|
|
15
14
|
def self.included(base)
|
16
15
|
if base.respond_to?(:before_action)
|
17
|
-
base.before_action :set_response_url
|
16
|
+
base.before_action :set_response_url
|
18
17
|
base.after_action :abort_xdomain_redirect
|
19
18
|
else
|
20
|
-
base.before_filter :set_response_url
|
19
|
+
base.before_filter :set_response_url
|
21
20
|
base.after_filter :abort_xdomain_redirect
|
22
21
|
end
|
23
22
|
|
@@ -23,7 +23,7 @@ class <%= plural_table_name.camelize %>Edit extends React.Component {
|
|
23
23
|
contentType: 'application/json'
|
24
24
|
}
|
25
25
|
|
26
|
-
this.props.delInPage({
|
26
|
+
this.props.delInPage({pageKey: this.props.pageKey, keypath: 'errors'})
|
27
27
|
return this.props.visit('/<%= plural_table_name %>/' + this.props.id, options).then((rsp) => {
|
28
28
|
if (this.props.errors) {
|
29
29
|
throw new SubmissionError({
|
@@ -39,7 +39,7 @@ class <%= plural_table_name.camelize %>Index extends React.Component {
|
|
39
39
|
const nav = this.props.navigation
|
40
40
|
this.props.visit(path, {method}).then((rsp)=>{
|
41
41
|
if (rsp.canNavigate) {
|
42
|
-
return nav.navigate(rsp.screen, {
|
42
|
+
return nav.navigate(rsp.screen, {pageKey: rsp.pageKey})
|
43
43
|
} else {
|
44
44
|
// There can only be one visit at a time, if `canNavigate`
|
45
45
|
// is false, then this request is being ignored for a more
|
@@ -23,7 +23,7 @@ class <%= plural_table_name.camelize %>New extends React.Component {
|
|
23
23
|
contentType: 'application/json'
|
24
24
|
}
|
25
25
|
|
26
|
-
this.props.delInPage({
|
26
|
+
this.props.delInPage({pageKey: this.props.pageKey, keypath: 'errors'})
|
27
27
|
return this.props.visit('/<%= plural_table_name %>', options).then((rsp) => {
|
28
28
|
if (this.props.errors) {
|
29
29
|
throw new SubmissionError({
|
@@ -16,7 +16,7 @@ export default class extends React.Component {
|
|
16
16
|
}
|
17
17
|
|
18
18
|
if (rsp.canNavigate) {
|
19
|
-
return this.props.navigateTo(rsp.screen, rsp.
|
19
|
+
return this.props.navigateTo(rsp.screen, rsp.pageKey)
|
20
20
|
} else {
|
21
21
|
// There can only be one visit at a time, if `canNavigate`
|
22
22
|
// is false, then this request is being ignored for a more
|
@@ -49,7 +49,7 @@ export default class extends React.Component {
|
|
49
49
|
//Uncomment this if you want full-page reloads
|
50
50
|
// window.location = rsp.url
|
51
51
|
|
52
|
-
return this.props.navigateTo(rsp.screen, rsp.
|
52
|
+
return this.props.navigateTo(rsp.screen, rsp.pageKey)
|
53
53
|
} else {
|
54
54
|
// There can only ve one visit at a time, if `canNavigate`
|
55
55
|
// is false, then this request is being ignored for a more
|
@@ -7,7 +7,7 @@ import <%= plural_table_name.camelize %>Form from 'components/<%= plural_table_n
|
|
7
7
|
|
8
8
|
class <%= plural_table_name.camelize %>Edit extends BaseScreen {
|
9
9
|
handleSubmit (body) {
|
10
|
-
this.props.delInPage({
|
10
|
+
this.props.delInPage({pageKey: this.props.pageKey, keypath: 'errors'})
|
11
11
|
return super.handleSubmit('/<%= plural_table_name %>/' + this.props.id, body, 'PATCH')
|
12
12
|
}
|
13
13
|
|
@@ -7,7 +7,7 @@ import <%= plural_table_name.camelize %>Form from 'components/<%= plural_table_n
|
|
7
7
|
|
8
8
|
class <%= plural_table_name.camelize %>New extends BaseScreen {
|
9
9
|
handleSubmit(body) {
|
10
|
-
this.props.delInPage({
|
10
|
+
this.props.delInPage({pageKey: this.props.pageKey, keypath: 'errors'})
|
11
11
|
return super.handleSubmit('/<%= plural_table_name %>', body, 'POST')
|
12
12
|
}
|
13
13
|
|
@@ -63,14 +63,14 @@ store.dispatch({type: 'BREEZY_SET_BASE_URL', baseUrl})
|
|
63
63
|
window.store = store
|
64
64
|
const Nav = StackNavigator(navMapping, {
|
65
65
|
initialRouteName: initialPage.screen,
|
66
|
-
initialRouteParams: {
|
66
|
+
initialRouteParams: {pageKey: initialPath},
|
67
67
|
headerMode: 'none',
|
68
68
|
})
|
69
69
|
|
70
70
|
export default class extends React.Component {
|
71
71
|
render() {
|
72
72
|
return <Provider store={store}>
|
73
|
-
<Nav
|
73
|
+
<Nav pageKey={initialPath}/>
|
74
74
|
</Provider>
|
75
75
|
}
|
76
76
|
}
|
data/lib/install/web.rb
CHANGED
@@ -60,6 +60,9 @@ end
|
|
60
60
|
say "Copying application.js file to #{Webpacker.config.source_entry_path}"
|
61
61
|
copy_file "#{__dir__}/templates/web/application.js", "#{Webpacker.config.source_entry_path}/application.js"
|
62
62
|
|
63
|
+
say "Copying Breezy initializer"
|
64
|
+
copy_file "#{__dir__}/templates/web/initializer.rb", "config/initializers/breezy.rb"
|
65
|
+
|
63
66
|
say "Appending js tags to your application.html.erb"
|
64
67
|
append_js_tags
|
65
68
|
|
data/lib/tasks/install.rake
CHANGED
@@ -25,21 +25,13 @@ namespace :breezy do
|
|
25
25
|
desc "Install everything needed for breezy web"
|
26
26
|
task 'web' => ["breezy:verify_webpacker", "webpacker:verify_install"] do
|
27
27
|
template = File.expand_path("../install/web.rb", __dir__)
|
28
|
-
|
29
|
-
exec "#{RbConfig.ruby} ./bin/rails app:template LOCATION=#{template}"
|
30
|
-
else
|
31
|
-
exec "#{RbConfig.ruby} ./bin/rake rails:template LOCATION=#{template}"
|
32
|
-
end
|
28
|
+
exec "#{RbConfig.ruby} ./bin/rails app:template LOCATION=#{template}"
|
33
29
|
end
|
34
30
|
|
35
31
|
desc "Install everything needed for breezy mobile"
|
36
32
|
task 'mobile' => ["breezy:verify_yarn"] do
|
37
33
|
template = File.expand_path("../install/mobile.rb", __dir__)
|
38
|
-
|
39
|
-
exec "#{RbConfig.ruby} ./bin/rails app:template LOCATION=#{template}"
|
40
|
-
else
|
41
|
-
exec "#{RbConfig.ruby} ./bin/rake rails:template LOCATION=#{template}"
|
42
|
-
end
|
34
|
+
exec "#{RbConfig.ruby} ./bin/rails app:template LOCATION=#{template}"
|
43
35
|
end
|
44
36
|
end
|
45
37
|
end
|
data/test/breezy_test.rb
CHANGED
@@ -54,49 +54,46 @@ class BreezyTest < ActionController::TestCase
|
|
54
54
|
end
|
55
55
|
|
56
56
|
test "redirect to back uses xhr referer when available" do
|
57
|
+
@request.env['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
|
58
|
+
@request.headers['X-BREEZY-REQUEST'] = 't'
|
59
|
+
|
57
60
|
@request.env['HTTP_REFERER'] = 'http://test.host/referer'
|
58
61
|
get :redirect_to_back
|
59
|
-
|
62
|
+
assert_response :ok
|
63
|
+
assert_equal @response.headers['X-BREEZY-LOCATION'], 'http://test.host/referer'
|
60
64
|
|
61
|
-
@request.env['HTTP_X_XHR_REFERER'] = 'http://test.host/
|
65
|
+
@request.env['HTTP_X_XHR_REFERER'] = 'http://test.host/referer'
|
62
66
|
get :redirect_to_back
|
63
|
-
|
67
|
+
assert_response :ok
|
68
|
+
assert_equal @response.headers['X-BREEZY-LOCATION'], 'http://test.host/referer'
|
64
69
|
end
|
65
70
|
|
66
|
-
test "sets
|
67
|
-
|
68
|
-
|
69
|
-
put :simple_action
|
70
|
-
assert_equal 'PUT', cookies[:request_method]
|
71
|
-
end
|
71
|
+
test "sets X-BREEZY-LOCATION header on redirect requests coming from breezy" do
|
72
|
+
@request.env['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
|
73
|
+
@request.headers['X-BREEZY-REQUEST'] = 't'
|
72
74
|
|
73
|
-
test "pops request method cookie on get request" do
|
74
|
-
cookies[:request_method] = 'TEST'
|
75
|
-
get :simple_action
|
76
|
-
assert_nil cookies[:request_method]
|
77
|
-
end
|
78
|
-
|
79
|
-
test "sets xhr redirected to header on redirect requests coming from breezy" do
|
80
75
|
get :redirect_to_same_origin
|
81
76
|
get :simple_action
|
82
|
-
assert_nil @response.headers['X-
|
77
|
+
assert_nil @response.headers['X-BREEZY-LOCATION']
|
83
78
|
|
84
79
|
@request.env['HTTP_X_XHR_REFERER'] = 'http://test.host/'
|
85
80
|
get :redirect_to_same_origin
|
86
|
-
@
|
87
|
-
get :simple_action
|
88
|
-
assert_equal 'http://test.host/path', @response.headers['X-XHR-Redirected-To']
|
81
|
+
assert_equal 'http://test.host/path', @response.headers['X-BREEZY-LOCATION']
|
89
82
|
end
|
90
83
|
|
91
84
|
test "changes status to 403 on breezy requests redirecting to different origin" do
|
85
|
+
@request.env['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
|
86
|
+
@request.headers['X-BREEZY-REQUEST'] = 't'
|
87
|
+
|
92
88
|
get :redirect_to_different_host
|
93
|
-
assert_response :
|
89
|
+
assert_response :ok
|
90
|
+
assert @response.headers['X-BREEZY-LOCATION']
|
94
91
|
|
95
92
|
get :redirect_to_different_protocol
|
96
|
-
assert_response :
|
93
|
+
assert_response :ok
|
94
|
+
assert @response.headers['X-BREEZY-LOCATION']
|
97
95
|
|
98
96
|
@request.env['HTTP_X_XHR_REFERER'] = 'http://test.host'
|
99
|
-
|
100
97
|
get :redirect_to_different_host
|
101
98
|
assert_response :forbidden
|
102
99
|
|
@@ -104,68 +101,25 @@ class BreezyTest < ActionController::TestCase
|
|
104
101
|
assert_response :forbidden
|
105
102
|
|
106
103
|
get :redirect_to_same_origin
|
107
|
-
assert_response :
|
104
|
+
assert_response :ok
|
105
|
+
assert @response.headers['X-BREEZY-LOCATION']
|
108
106
|
end
|
109
107
|
|
110
108
|
test "handles invalid xhr referer on redirection" do
|
109
|
+
@request.env['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
|
110
|
+
@request.headers['X-BREEZY-REQUEST'] = 't'
|
111
111
|
@request.env['HTTP_X_XHR_REFERER'] = ':'
|
112
112
|
get :redirect_to_same_origin
|
113
|
-
assert_response :
|
113
|
+
assert_response :ok
|
114
|
+
assert @response.headers['X-BREEZY-LOCATION']
|
114
115
|
end
|
115
116
|
|
116
117
|
test "handles unescaped same origin location on redirection" do
|
118
|
+
@request.env['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
|
119
|
+
@request.headers['X-BREEZY-REQUEST'] = 't'
|
117
120
|
@request.env['HTTP_X_XHR_REFERER'] = 'http://test.host/'
|
118
121
|
get :redirect_to_unescaped_path
|
119
|
-
assert_response :redirect
|
120
|
-
end
|
121
|
-
|
122
|
-
test "handles unescaped different origin location on redirection" do
|
123
|
-
@request.env['HTTP_X_XHR_REFERER'] = 'https://test.host/'
|
124
|
-
get :redirect_to_unescaped_path
|
125
|
-
assert_response :forbidden
|
126
|
-
end
|
127
|
-
end
|
128
|
-
|
129
|
-
class BreezyIntegrationTest < ActionDispatch::IntegrationTest
|
130
|
-
setup do
|
131
|
-
@session = open_session
|
132
|
-
end
|
133
|
-
|
134
|
-
test "sets xhr redirected to header on redirect requests coming from breezy" do
|
135
|
-
get '/redirect_hash'
|
136
|
-
get response.location
|
137
|
-
assert_nil response.headers['X-XHR-Redirected-To']
|
138
|
-
|
139
|
-
if Rails.version >= '5.0'
|
140
|
-
get '/redirect_hash', headers: { 'HTTP_X_XHR_REFERER' => 'http://www.example.com/' }
|
141
|
-
else
|
142
|
-
get '/redirect_hash', nil, { 'HTTP_X_XHR_REFERER' => 'http://www.example.com/' }
|
143
|
-
end
|
144
|
-
assert_response :redirect
|
145
|
-
assert_nil response.headers['X-XHR-Redirected-To']
|
146
|
-
|
147
|
-
if Rails.version >= '5.0'
|
148
|
-
get response.location, headers: { 'HTTP_X_XHR_REFERER' => nil }
|
149
|
-
else
|
150
|
-
get response.location, nil, { 'HTTP_X_XHR_REFERER' => nil }
|
151
|
-
end
|
152
|
-
assert_equal 'http://www.example.com/breezy/simple_action', response.headers['X-XHR-Redirected-To']
|
153
|
-
assert_response :ok
|
154
|
-
|
155
|
-
if Rails.version >= '5.0'
|
156
|
-
get '/redirect_path', headers: { 'HTTP_X_XHR_REFERER' => 'http://www.example.com/' }
|
157
|
-
else
|
158
|
-
get '/redirect_path', nil, { 'HTTP_X_XHR_REFERER' => 'http://www.example.com/' }
|
159
|
-
end
|
160
|
-
assert_response :redirect
|
161
|
-
assert_nil response.headers['X-XHR-Redirected-To']
|
162
|
-
|
163
|
-
if Rails.version >= '5.0'
|
164
|
-
get response.location, headers: { 'HTTP_X_XHR_REFERER' => nil }
|
165
|
-
else
|
166
|
-
get response.location, nil, { 'HTTP_X_XHR_REFERER' => nil }
|
167
|
-
end
|
168
|
-
assert_equal 'http://www.example.com/breezy/simple_action', response.headers['X-XHR-Redirected-To']
|
169
122
|
assert_response :ok
|
123
|
+
assert @response.headers['X-BREEZY-LOCATION']
|
170
124
|
end
|
171
125
|
end
|
data/test/configuration_test.rb
CHANGED
@@ -14,16 +14,23 @@ class ConfigurationTest < ActiveSupport::TestCase
|
|
14
14
|
Breezy.configure do |config|
|
15
15
|
end
|
16
16
|
|
17
|
-
|
18
|
-
|
17
|
+
track_sprockets_assets = ['application.js', 'application.css']
|
18
|
+
track_pack_assets = ['application.js']
|
19
|
+
|
20
|
+
assert_equal track_sprockets_assets, Breezy.configuration.track_sprockets_assets
|
21
|
+
assert_equal track_pack_assets, Breezy.configuration.track_pack_assets
|
19
22
|
end
|
20
23
|
|
21
24
|
test 'configuration with track_assets specified' do
|
22
25
|
Breezy.configure do |config|
|
23
|
-
config.
|
26
|
+
config.track_sprockets_assets = ['app.js']
|
27
|
+
config.track_pack_assets = ['pack.js']
|
24
28
|
end
|
25
29
|
|
26
|
-
|
27
|
-
|
30
|
+
track_sprockets_assets = ['app.js']
|
31
|
+
track_pack_assets = ['pack.js']
|
32
|
+
|
33
|
+
assert_equal track_sprockets_assets, Breezy.configuration.track_sprockets_assets
|
34
|
+
assert_equal track_pack_assets, Breezy.configuration.track_pack_assets
|
28
35
|
end
|
29
36
|
end
|
data/test/render_test.rb
CHANGED
@@ -44,11 +44,13 @@ class RenderTest < ActionController::TestCase
|
|
44
44
|
|
45
45
|
|
46
46
|
setup do
|
47
|
-
Breezy.configuration.
|
47
|
+
Breezy.configuration.track_sprockets_assets = ['app.js']
|
48
|
+
Breezy.configuration.track_pack_assets = ['app.js']
|
48
49
|
end
|
49
50
|
|
50
51
|
teardown do
|
51
|
-
Breezy.configuration.
|
52
|
+
Breezy.configuration.track_sprockets_assets = []
|
53
|
+
Breezy.configuration.track_pack_assets = []
|
52
54
|
end
|
53
55
|
|
54
56
|
test "render action via get" do
|
metadata
CHANGED
@@ -1,35 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: breezy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Johny Ho
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-05-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionpack
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "<"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '6.0'
|
20
17
|
- - ">="
|
21
18
|
- !ruby/object:Gem::Version
|
22
|
-
version: '
|
19
|
+
version: '5.0'
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
|
-
- - "<"
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '6.0'
|
30
24
|
- - ">="
|
31
25
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
26
|
+
version: '5.0'
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
name: breezy_template
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -62,44 +56,86 @@ dependencies:
|
|
62
56
|
name: rake
|
63
57
|
requirement: !ruby/object:Gem::Requirement
|
64
58
|
requirements:
|
65
|
-
- - "
|
59
|
+
- - "~>"
|
66
60
|
- !ruby/object:Gem::Version
|
67
|
-
version: '0'
|
61
|
+
version: '12.0'
|
68
62
|
type: :development
|
69
63
|
prerelease: false
|
70
64
|
version_requirements: !ruby/object:Gem::Requirement
|
71
65
|
requirements:
|
72
|
-
- - "
|
66
|
+
- - "~>"
|
73
67
|
- !ruby/object:Gem::Version
|
74
|
-
version: '0'
|
68
|
+
version: '12.0'
|
75
69
|
- !ruby/object:Gem::Dependency
|
76
|
-
name:
|
70
|
+
name: byebug
|
77
71
|
requirement: !ruby/object:Gem::Requirement
|
78
72
|
requirements:
|
79
|
-
- - "
|
73
|
+
- - "~>"
|
80
74
|
- !ruby/object:Gem::Version
|
81
|
-
version: '0'
|
75
|
+
version: '9.0'
|
82
76
|
type: :development
|
83
77
|
prerelease: false
|
84
78
|
version_requirements: !ruby/object:Gem::Requirement
|
85
79
|
requirements:
|
86
|
-
- - "
|
80
|
+
- - "~>"
|
87
81
|
- !ruby/object:Gem::Version
|
88
|
-
version: '0'
|
82
|
+
version: '9.0'
|
89
83
|
- !ruby/object:Gem::Dependency
|
90
84
|
name: sqlite3
|
91
85
|
requirement: !ruby/object:Gem::Requirement
|
92
86
|
requirements:
|
93
|
-
- - "
|
87
|
+
- - "~>"
|
94
88
|
- !ruby/object:Gem::Version
|
95
|
-
version: '
|
89
|
+
version: '1.3'
|
96
90
|
type: :development
|
97
91
|
prerelease: false
|
98
92
|
version_requirements: !ruby/object:Gem::Requirement
|
99
93
|
requirements:
|
100
|
-
- - "
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.3'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: minitest
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '5.10'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '5.10'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: capybara
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '3.0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '3.0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: selenium-webdriver
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '3.11'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
101
137
|
- !ruby/object:Gem::Version
|
102
|
-
version: '
|
138
|
+
version: '3.11'
|
103
139
|
description: Rails integration for BreezyJS
|
104
140
|
email: jho406@gmail.com
|
105
141
|
executables: []
|
@@ -109,7 +145,6 @@ files:
|
|
109
145
|
- app/views/breezy/response.html.erb
|
110
146
|
- lib/breezy.rb
|
111
147
|
- lib/breezy/configuration.rb
|
112
|
-
- lib/breezy/cookies.rb
|
113
148
|
- lib/breezy/helpers.rb
|
114
149
|
- lib/breezy/render.rb
|
115
150
|
- lib/breezy/version.rb
|
@@ -147,6 +182,7 @@ files:
|
|
147
182
|
- lib/install/templates/mobile/rn-cli.config.js
|
148
183
|
- lib/install/templates/web/application.js
|
149
184
|
- lib/install/templates/web/babelrc
|
185
|
+
- lib/install/templates/web/initializer.rb
|
150
186
|
- lib/install/web.rb
|
151
187
|
- lib/tasks/install.rake
|
152
188
|
- test/breezy_test.rb
|
data/lib/breezy/cookies.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
module Breezy
|
2
|
-
# For non-GET requests, sets a request_method cookie containing
|
3
|
-
# the request method of the current request. The Breezy script
|
4
|
-
# will not initialize if this cookie is set.
|
5
|
-
module Cookies
|
6
|
-
private
|
7
|
-
def set_request_method_cookie
|
8
|
-
if request.get?
|
9
|
-
cookies.delete(:request_method)
|
10
|
-
else
|
11
|
-
cookies[:request_method] = request.request_method
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|