aerogel-core 1.1.0 → 1.1.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/aerogel-core.gemspec +1 -0
- data/app/helpers/csrf.rb +19 -0
- data/app/helpers/output_buffer.rb +4 -4
- data/app/helpers/tags.rb +28 -0
- data/lib/aerogel/core/config.rb +9 -0
- data/lib/aerogel/core/version.rb +1 -1
- metadata +17 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 03745769b429a1a9f37d4cc55d91c33b134d18f3
|
4
|
+
data.tar.gz: f1e55f86299fe31ff72c98fdce5ea959c9981bdc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38b100edb2a525b7f56351964d612e4f5a10655328d996fe7be1e938de34cd40a807c5864888ab0839dadfdd06ed48ba0f61ebd436c4ae1c27610e762be91dff
|
7
|
+
data.tar.gz: ce62b0f6e225916d387226dd3d9c0edf484c73800d84bbb03c40a70d167c7488668329250f4aa6ec4bcf6fa96ba32c8ca69d66e87cbf9257fe263b09fa2a2d24
|
data/aerogel-core.gemspec
CHANGED
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_dependency 'sinatra'
|
22
22
|
spec.add_dependency 'sinatra-contrib'
|
23
23
|
spec.add_dependency 'sinatra-asset-pipeline'
|
24
|
+
spec.add_dependency 'rack-flash3'
|
24
25
|
spec.add_dependency 'sass'
|
25
26
|
spec.add_dependency 'coffee-script'
|
26
27
|
spec.add_dependency 'uglifier'
|
data/app/helpers/csrf.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
module Aerogel::Helpers
|
2
|
+
|
3
|
+
def csrf_field_name
|
4
|
+
'authenticity_token'
|
5
|
+
end
|
6
|
+
|
7
|
+
def csrf_token
|
8
|
+
session[:csrf] ||= SecureRandom.hex(32) if defined?(session)
|
9
|
+
end
|
10
|
+
|
11
|
+
def csrf_token_field
|
12
|
+
input_hidden_tag csrf_field_name, csrf_token
|
13
|
+
end
|
14
|
+
|
15
|
+
def csrf_protected?
|
16
|
+
true
|
17
|
+
end
|
18
|
+
|
19
|
+
end # module Aerogel::Helpers
|
@@ -3,8 +3,8 @@ module Aerogel::Helpers
|
|
3
3
|
def output_concat( text )
|
4
4
|
if self.respond_to?(:is_haml?) && is_haml?
|
5
5
|
haml_concat(text)
|
6
|
-
elsif !OutputBuffer.buffer.nil? # has_erb_buffer?
|
7
|
-
OutputBuffer.buffer.concat text
|
6
|
+
elsif !Aerogel::Render::OutputBuffer.buffer.nil? # has_erb_buffer?
|
7
|
+
Aerogel::Render::OutputBuffer.buffer.concat text
|
8
8
|
else # theres no template to concat, return the text directly
|
9
9
|
text
|
10
10
|
end
|
@@ -15,9 +15,9 @@ module Aerogel::Helpers
|
|
15
15
|
if self.respond_to?(:is_haml?) && is_haml? && (block_is_haml?(inner_block) rescue false)
|
16
16
|
# haml
|
17
17
|
capture_haml(nil, &block)
|
18
|
-
elsif OutputBuffer.block_is_erb? block
|
18
|
+
elsif Aerogel::Render::OutputBuffer.block_is_erb? block
|
19
19
|
# erb
|
20
|
-
OutputBuffer.capture( &block )
|
20
|
+
Aerogel::Render::OutputBuffer.capture( &block )
|
21
21
|
else
|
22
22
|
block.call
|
23
23
|
end
|
data/app/helpers/tags.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
module Aerogel::Helpers
|
2
|
+
|
3
|
+
# Creates tag.
|
4
|
+
#
|
5
|
+
def tag( name, *args, &block )
|
6
|
+
if block_given?
|
7
|
+
content = output_capture(&block)
|
8
|
+
elsif args.first.is_a? String
|
9
|
+
content = args.shift
|
10
|
+
end
|
11
|
+
attrs = args.shift || {}
|
12
|
+
# t_attrs = attrs.map{|k,v| v.nil? ? " #{k}" : " #{k}=\"#{h(v)}\""}
|
13
|
+
t_attrs = attrs.map{|k,v| v.nil? ? " #{k}" : " #{k}=\"#{(v)}\""}
|
14
|
+
if content
|
15
|
+
output = "<#{name}#{t_attrs.join}>"+content+"</#{name}>"
|
16
|
+
else
|
17
|
+
output = "<#{name}#{t_attrs.join}/>"
|
18
|
+
end
|
19
|
+
if Aerogel::Render::OutputBuffer.block_is_template?(block)
|
20
|
+
output_concat(output)
|
21
|
+
return nil
|
22
|
+
else
|
23
|
+
return output
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
end # module Aerogel::Helpers
|
data/lib/aerogel/core/config.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'aerogel/configurator'
|
2
|
+
require 'rack-flash'
|
2
3
|
|
3
4
|
module Aerogel::Config
|
4
5
|
|
@@ -20,6 +21,14 @@ module Aerogel::Config
|
|
20
21
|
app.config.load config_filename
|
21
22
|
end
|
22
23
|
|
24
|
+
# set :protection, true
|
25
|
+
# set :protect_from_csrf, true
|
26
|
+
app.set :sessions, true
|
27
|
+
# TODO: demand to configure session secret on application level
|
28
|
+
# set :session_secret, '$aer0G31'
|
29
|
+
app.use Rack::Protection::AuthenticityToken
|
30
|
+
app.use Rack::Flash
|
31
|
+
|
23
32
|
end
|
24
33
|
end # module Aerogel::Config
|
25
34
|
|
data/lib/aerogel/core/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aerogel-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Kukushkin
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rack-flash3
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: sass
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -180,8 +194,10 @@ files:
|
|
180
194
|
- app/helpers/assets.rb
|
181
195
|
- app/helpers/config.rb
|
182
196
|
- app/helpers/core.rb
|
197
|
+
- app/helpers/csrf.rb
|
183
198
|
- app/helpers/output_buffer.rb
|
184
199
|
- app/helpers/render.rb
|
200
|
+
- app/helpers/tags.rb
|
185
201
|
- app/routes/core.rb
|
186
202
|
- app/routes/static.rb
|
187
203
|
- assets/javascripts/application.js
|