actionpack 3.1.0.rc5 → 3.1.0.rc6
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of actionpack might be problematic. Click here for more details.
- data/CHANGELOG +4 -2
- data/README.rdoc +1 -1
- data/lib/action_controller/metal/data_streaming.rb +1 -1
- data/lib/action_controller/metal/testing.rb +5 -0
- data/lib/action_controller/test_case.rb +1 -0
- data/lib/action_controller/vendor/html-scanner/html/node.rb +1 -1
- data/lib/action_dispatch/http/request.rb +3 -3
- data/lib/action_dispatch/railtie.rb +1 -1
- data/lib/action_dispatch/routing/mapper.rb +7 -8
- data/lib/action_dispatch/routing/url_for.rb +1 -1
- data/lib/action_pack/version.rb +1 -1
- data/lib/action_view/helpers/form_helper.rb +1 -1
- data/lib/action_view/helpers/form_options_helper.rb +2 -2
- data/lib/action_view/helpers/form_tag_helper.rb +4 -4
- data/lib/action_view/template/error.rb +4 -1
- data/lib/action_view/template/resolver.rb +12 -4
- data/lib/sprockets/assets.rake +18 -12
- data/lib/sprockets/railtie.rb +37 -44
- metadata +41 -13
data/CHANGELOG
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
*Rails 3.1.0 (unreleased)*
|
2
2
|
|
3
|
+
* x_sendfile_header now defaults to nil and config/environments/production.rb doesn't set a particular value for it. This allows servers to set it through X-Sendfile-Type. [Santiago Pastorino]
|
4
|
+
|
3
5
|
* The submit form helper does not generate an id "object_name_id" anymore. [fbrusatti]
|
4
6
|
|
5
7
|
* Make sure respond_with with :js tries to render a template in all cases [José Valim]
|
@@ -2240,7 +2242,7 @@ superclass' view_paths. [Rick Olson]
|
|
2240
2242
|
|
2241
2243
|
* Update documentation for erb trim syntax. #5651 [matt@mattmargolis.net]
|
2242
2244
|
|
2243
|
-
* Pass :id => nil or :class => nil to error_messages_for to supress that html attribute. #3586 [olivier_ansaldi@yahoo.com
|
2245
|
+
* Pass :id => nil or :class => nil to error_messages_for to supress that html attribute. #3586 [olivier_ansaldi@yahoo.com]
|
2244
2246
|
|
2245
2247
|
* Reset @html_document between requests so assert_tag works. #4810 [Jarkko Laine, easleydp@gmail.com]
|
2246
2248
|
|
@@ -2837,7 +2839,7 @@ superclass' view_paths. [Rick Olson]
|
|
2837
2839
|
|
2838
2840
|
* Provide support for decimal columns to form helpers. Closes #5672. [Dave Thomas]
|
2839
2841
|
|
2840
|
-
* Pass :id => nil or :class => nil to error_messages_for to supress that html attribute. #3586 [olivier_ansaldi@yahoo.com
|
2842
|
+
* Pass :id => nil or :class => nil to error_messages_for to supress that html attribute. #3586 [olivier_ansaldi@yahoo.com]
|
2841
2843
|
|
2842
2844
|
* Reset @html_document between requests so assert_tag works. #4810 [Jarkko Laine, easleydp@gmail.com]
|
2843
2845
|
|
data/README.rdoc
CHANGED
@@ -322,7 +322,7 @@ The latest version of Action Pack can be installed with Rubygems:
|
|
322
322
|
|
323
323
|
Source code can be downloaded as part of the Rails project on GitHub
|
324
324
|
|
325
|
-
* https://github.com/rails/rails/tree/master/actionpack
|
325
|
+
* https://github.com/rails/rails/tree/master/actionpack
|
326
326
|
|
327
327
|
|
328
328
|
== License
|
@@ -16,7 +16,7 @@ module ActionController #:nodoc:
|
|
16
16
|
protected
|
17
17
|
# Sends the file. This uses a server-appropriate method (such as X-Sendfile)
|
18
18
|
# via the Rack::Sendfile middleware. The header to use is set via
|
19
|
-
# config.action_dispatch.x_sendfile_header
|
19
|
+
# config.action_dispatch.x_sendfile_header.
|
20
20
|
# Your server can also configure this for you by setting the X-Sendfile-Type header.
|
21
21
|
#
|
22
22
|
# Be careful to sanitize the path parameter if it is coming from a web
|
@@ -447,6 +447,7 @@ module ActionController
|
|
447
447
|
@controller.params.merge!(parameters)
|
448
448
|
build_request_uri(action, parameters)
|
449
449
|
@controller.class.class_eval { include Testing }
|
450
|
+
@controller.recycle!
|
450
451
|
@controller.process_with_new_base_test(@request, @response)
|
451
452
|
@assigns = @controller.respond_to?(:view_assigns) ? @controller.view_assigns : {}
|
452
453
|
@request.session.delete('flash') if @request.session['flash'].blank?
|
@@ -156,7 +156,7 @@ module HTML #:nodoc:
|
|
156
156
|
end
|
157
157
|
|
158
158
|
closing = ( scanner.scan(/\//) ? :close : nil )
|
159
|
-
return Text.new(parent, line, pos, content) unless name = scanner.scan(/[
|
159
|
+
return Text.new(parent, line, pos, content) unless name = scanner.scan(/[^\s!>\/]+/)
|
160
160
|
name.downcase!
|
161
161
|
|
162
162
|
unless closing
|
@@ -29,9 +29,9 @@ module ActionDispatch
|
|
29
29
|
|
30
30
|
ENV_METHODS.each do |env|
|
31
31
|
class_eval <<-METHOD, __FILE__, __LINE__ + 1
|
32
|
-
def #{env.sub(/^HTTP_/n, '').downcase}
|
33
|
-
@env["#{env}"]
|
34
|
-
end
|
32
|
+
def #{env.sub(/^HTTP_/n, '').downcase} # def accept_charset
|
33
|
+
@env["#{env}"] # @env["HTTP_ACCEPT_CHARSET"]
|
34
|
+
end # end
|
35
35
|
METHOD
|
36
36
|
end
|
37
37
|
|
@@ -4,7 +4,7 @@ require "rails"
|
|
4
4
|
module ActionDispatch
|
5
5
|
class Railtie < Rails::Railtie
|
6
6
|
config.action_dispatch = ActiveSupport::OrderedOptions.new
|
7
|
-
config.action_dispatch.x_sendfile_header =
|
7
|
+
config.action_dispatch.x_sendfile_header = nil
|
8
8
|
config.action_dispatch.ip_spoofing_check = true
|
9
9
|
config.action_dispatch.show_exceptions = true
|
10
10
|
config.action_dispatch.best_standards_support = true
|
@@ -877,9 +877,9 @@ module ActionDispatch
|
|
877
877
|
|
878
878
|
def initialize(entities, options = {})
|
879
879
|
@name = entities.to_s
|
880
|
-
@path = (options
|
881
|
-
@controller = (options
|
882
|
-
@as = options
|
880
|
+
@path = (options[:path] || @name).to_s
|
881
|
+
@controller = (options[:controller] || @name).to_s
|
882
|
+
@as = options[:as]
|
883
883
|
@options = options
|
884
884
|
end
|
885
885
|
|
@@ -941,12 +941,11 @@ module ActionDispatch
|
|
941
941
|
DEFAULT_ACTIONS = [:show, :create, :update, :destroy, :new, :edit]
|
942
942
|
|
943
943
|
def initialize(entities, options)
|
944
|
+
super
|
945
|
+
|
944
946
|
@as = nil
|
945
|
-
@
|
946
|
-
@
|
947
|
-
@controller = (options.delete(:controller) || plural).to_s
|
948
|
-
@as = options.delete(:as)
|
949
|
-
@options = options
|
947
|
+
@controller = (options[:controller] || plural).to_s
|
948
|
+
@as = options[:as]
|
950
949
|
end
|
951
950
|
|
952
951
|
def plural
|
@@ -140,7 +140,7 @@ module ActionDispatch
|
|
140
140
|
when String
|
141
141
|
options
|
142
142
|
when nil, Hash
|
143
|
-
_routes.url_for((options || {}).reverse_merge
|
143
|
+
_routes.url_for((options || {}).reverse_merge(url_options).symbolize_keys)
|
144
144
|
else
|
145
145
|
polymorphic_url(options)
|
146
146
|
end
|
data/lib/action_pack/version.rb
CHANGED
@@ -365,7 +365,7 @@ module ActionView
|
|
365
365
|
apply_form_for_options!(record, options)
|
366
366
|
end
|
367
367
|
|
368
|
-
options[:html][:remote] = options.delete(:remote)
|
368
|
+
options[:html][:remote] = options.delete(:remote) if options.has_key?(:remote)
|
369
369
|
options[:html][:method] = options.delete(:method) if options.has_key?(:method)
|
370
370
|
options[:html][:authenticity_token] = options.delete(:authenticity_token)
|
371
371
|
|
@@ -298,12 +298,12 @@ module ActionView
|
|
298
298
|
return container if String === container
|
299
299
|
|
300
300
|
selected, disabled = extract_selected_and_disabled(selected).map do | r |
|
301
|
-
Array.wrap(r).map
|
301
|
+
Array.wrap(r).map { |item| item.to_s }
|
302
302
|
end
|
303
303
|
|
304
304
|
container.map do |element|
|
305
305
|
html_attributes = option_html_attributes(element)
|
306
|
-
text, value = option_text_and_value(element).map
|
306
|
+
text, value = option_text_and_value(element).map { |item| item.to_s }
|
307
307
|
selected_attribute = ' selected="selected"' if option_value_selected?(value, selected)
|
308
308
|
disabled_attribute = ' disabled="disabled"' if disabled && option_value_selected?(value, disabled)
|
309
309
|
%(<option value="#{ERB::Util.html_escape(value)}"#{selected_attribute}#{disabled_attribute}#{html_attributes}>#{ERB::Util.html_escape(text)}</option>)
|
@@ -56,8 +56,8 @@ module ActionView
|
|
56
56
|
# form_tag('http://far.away.com/form', :authenticity_token => "cf50faa3fe97702ca1ae")
|
57
57
|
# # form with custom authenticity token
|
58
58
|
#
|
59
|
-
def form_tag(url_for_options = {}, options = {},
|
60
|
-
html_options = html_options_for_form(url_for_options, options
|
59
|
+
def form_tag(url_for_options = {}, options = {}, &block)
|
60
|
+
html_options = html_options_for_form(url_for_options, options)
|
61
61
|
if block_given?
|
62
62
|
form_tag_in_block(html_options, &block)
|
63
63
|
else
|
@@ -598,12 +598,12 @@ module ActionView
|
|
598
598
|
end
|
599
599
|
|
600
600
|
private
|
601
|
-
def html_options_for_form(url_for_options, options
|
601
|
+
def html_options_for_form(url_for_options, options)
|
602
602
|
options.stringify_keys.tap do |html_options|
|
603
603
|
html_options["enctype"] = "multipart/form-data" if html_options.delete("multipart")
|
604
604
|
# The following URL is unescaped, this is just a hash of options, and it is the
|
605
605
|
# responsibility of the caller to escape all the values.
|
606
|
-
html_options["action"] = url_for(url_for_options
|
606
|
+
html_options["action"] = url_for(url_for_options)
|
607
607
|
html_options["accept-charset"] = "UTF-8"
|
608
608
|
html_options["data-remote"] = true if html_options.delete("remote")
|
609
609
|
html_options["authenticity_token"] = html_options.delete("authenticity_token") if html_options.has_key?("authenticity_token")
|
@@ -58,7 +58,6 @@ module ActionView
|
|
58
58
|
attr_reader :original_exception, :backtrace
|
59
59
|
|
60
60
|
def initialize(template, assigns, original_exception)
|
61
|
-
super(original_exception.message)
|
62
61
|
@template, @assigns, @original_exception = template, assigns.dup, original_exception
|
63
62
|
@sub_templates = nil
|
64
63
|
@backtrace = original_exception.backtrace
|
@@ -68,6 +67,10 @@ module ActionView
|
|
68
67
|
@template.identifier
|
69
68
|
end
|
70
69
|
|
70
|
+
def message
|
71
|
+
original_exception.message
|
72
|
+
end
|
73
|
+
|
71
74
|
def sub_template_message
|
72
75
|
if @sub_templates
|
73
76
|
"Trace of template inclusion: " +
|
@@ -149,8 +149,12 @@ module ActionView
|
|
149
149
|
# Helper for building query glob string based on resolver's pattern.
|
150
150
|
def build_query(path, details)
|
151
151
|
query = @pattern.dup
|
152
|
-
|
153
|
-
|
152
|
+
|
153
|
+
prefix = path.prefix.empty? ? "" : "#{escape_entry(path.prefix)}\\1"
|
154
|
+
query.gsub!(/\:prefix(\/)?/, prefix)
|
155
|
+
|
156
|
+
partial = escape_entry(path.partial? ? "_#{path.name}" : path.name)
|
157
|
+
query.gsub!(/\:action/, partial)
|
154
158
|
|
155
159
|
details.each do |ext, variants|
|
156
160
|
query.gsub!(/\:#{ext}/, "{#{variants.compact.uniq.join(',')}}")
|
@@ -159,6 +163,10 @@ module ActionView
|
|
159
163
|
File.expand_path(query, @path)
|
160
164
|
end
|
161
165
|
|
166
|
+
def escape_entry(entry)
|
167
|
+
entry.gsub(/(\*|\[|\]|\{|\}|\?)/, "\\\\\\1")
|
168
|
+
end
|
169
|
+
|
162
170
|
# Returns the file mtime from the filesystem.
|
163
171
|
def mtime(p)
|
164
172
|
File.stat(p).mtime
|
@@ -235,11 +243,11 @@ module ActionView
|
|
235
243
|
class OptimizedFileSystemResolver < FileSystemResolver #:nodoc:
|
236
244
|
def build_query(path, details)
|
237
245
|
exts = EXTENSIONS.map { |ext| details[ext] }
|
238
|
-
query = File.join(@path, path)
|
246
|
+
query = escape_entry(File.join(@path, path))
|
239
247
|
|
240
248
|
exts.each do |ext|
|
241
249
|
query << "{"
|
242
|
-
ext.compact.each { |e| query << ".#{e}," }
|
250
|
+
ext.compact.uniq.each { |e| query << ".#{e}," }
|
243
251
|
query << "}"
|
244
252
|
end
|
245
253
|
|
data/lib/sprockets/assets.rake
CHANGED
@@ -1,21 +1,27 @@
|
|
1
1
|
namespace :assets do
|
2
|
-
# Ensures the RAILS_GROUPS environment variable is set
|
3
|
-
task :ensure_env do
|
4
|
-
ENV["RAILS_GROUPS"] ||= "assets"
|
5
|
-
end
|
6
|
-
|
7
2
|
desc "Compile all the assets named in config.assets.precompile"
|
8
|
-
task :precompile
|
9
|
-
|
10
|
-
|
3
|
+
task :precompile do
|
4
|
+
# We need to do this dance because RAILS_GROUPS is used
|
5
|
+
# too early in the boot process and changing here is already too late.
|
6
|
+
if ENV["RAILS_GROUPS"].to_s.empty? || ENV["RAILS_ENV"].to_s.empty?
|
7
|
+
ENV["RAILS_GROUPS"] ||= "assets"
|
8
|
+
ENV["RAILS_ENV"] ||= "production"
|
9
|
+
Kernel.exec $0, *ARGV
|
10
|
+
else
|
11
|
+
Rake::Task["environment"].invoke
|
12
|
+
|
13
|
+
# Ensure that action view is loaded and the appropriate sprockets hooks get executed
|
14
|
+
ActionView::Base
|
11
15
|
|
12
|
-
|
13
|
-
|
14
|
-
|
16
|
+
assets = Rails.application.config.assets.precompile
|
17
|
+
# Always perform caching so that asset_path appends the timestamps to file references.
|
18
|
+
Rails.application.config.action_controller.perform_caching = true
|
19
|
+
Rails.application.assets.precompile(*assets)
|
20
|
+
end
|
15
21
|
end
|
16
22
|
|
17
23
|
desc "Remove compiled assets"
|
18
|
-
task :clean => :environment do
|
24
|
+
task :clean => [:environment, 'tmp:cache:clear'] do
|
19
25
|
assets = Rails.application.config.assets
|
20
26
|
public_asset_path = Rails.public_path + assets.prefix
|
21
27
|
rm_rf public_asset_path, :secure => true
|
data/lib/sprockets/railtie.rb
CHANGED
@@ -11,15 +11,21 @@ module Sprockets
|
|
11
11
|
load "sprockets/assets.rake"
|
12
12
|
end
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
# register compressors.
|
18
|
-
config.after_initialize do |app|
|
19
|
-
assets = app.config.assets
|
20
|
-
next unless assets.enabled
|
14
|
+
initializer "sprockets.environment" do |app|
|
15
|
+
config = app.config
|
16
|
+
next unless config.assets.enabled
|
21
17
|
|
22
|
-
|
18
|
+
require 'sprockets'
|
19
|
+
|
20
|
+
app.assets = Sprockets::Environment.new(app.root.to_s) do |env|
|
21
|
+
env.static_root = File.join(app.root.join('public'), config.assets.prefix)
|
22
|
+
env.logger = ::Rails.logger
|
23
|
+
env.version = ::Rails.env + "#{'-' + config.assets.version if config.assets.version.present?}"
|
24
|
+
|
25
|
+
if config.assets.cache_store != false
|
26
|
+
env.cache = ActiveSupport::Cache.lookup_store(config.assets.cache_store) || ::Rails.cache
|
27
|
+
end
|
28
|
+
end
|
23
29
|
|
24
30
|
ActiveSupport.on_load(:action_view) do
|
25
31
|
include ::Sprockets::Helpers::RailsHelper
|
@@ -28,53 +34,40 @@ module Sprockets
|
|
28
34
|
include ::Sprockets::Helpers::RailsHelper
|
29
35
|
end
|
30
36
|
end
|
31
|
-
|
32
|
-
app.routes.prepend do
|
33
|
-
mount app.assets => assets.prefix
|
34
|
-
end
|
35
|
-
|
36
|
-
if config.action_controller.perform_caching
|
37
|
-
app.assets = app.assets.index
|
38
|
-
end
|
39
37
|
end
|
40
38
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
39
|
+
# We need to configure this after initialization to ensure we collect
|
40
|
+
# paths from all engines. This hook is invoked exactly before routes
|
41
|
+
# are compiled, and so that other Railties have an opportunity to
|
42
|
+
# register compressors.
|
43
|
+
config.after_initialize do |app|
|
44
|
+
next unless app.assets
|
45
|
+
config = app.config
|
48
46
|
|
49
|
-
|
47
|
+
config.assets.paths.each { |path| app.assets.append_path(path) }
|
50
48
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
49
|
+
if config.assets.compress
|
50
|
+
# temporarily hardcode default JS compressor to uglify. Soon, it will work
|
51
|
+
# the same as SCSS, where a default plugin sets the default.
|
52
|
+
unless config.assets.js_compressor == false
|
53
|
+
app.assets.js_compressor = LazyCompressor.new { expand_js_compressor(config.assets.js_compressor || :uglifier) }
|
55
54
|
end
|
56
55
|
|
57
|
-
|
58
|
-
|
59
|
-
if env.respond_to?(:cache) && assets.cache_store != false
|
60
|
-
env.cache = ActiveSupport::Cache.lookup_store(assets.cache_store) || ::Rails.cache
|
56
|
+
unless config.assets.css_compressor == false
|
57
|
+
app.assets.css_compressor = LazyCompressor.new { expand_css_compressor(config.assets.css_compressor) }
|
61
58
|
end
|
59
|
+
end
|
62
60
|
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
unless assets.js_compressor == false
|
67
|
-
env.js_compressor = LazyCompressor.new { expand_js_compressor(assets.js_compressor || :uglifier) }
|
68
|
-
end
|
69
|
-
|
70
|
-
unless assets.css_compressor == false
|
71
|
-
env.css_compressor = LazyCompressor.new { expand_css_compressor(assets.css_compressor) }
|
72
|
-
end
|
73
|
-
end
|
61
|
+
app.routes.prepend do
|
62
|
+
mount app.assets => config.assets.prefix
|
63
|
+
end
|
74
64
|
|
75
|
-
|
65
|
+
if config.action_controller.perform_caching
|
66
|
+
app.assets = app.assets.index
|
76
67
|
end
|
68
|
+
end
|
77
69
|
|
70
|
+
protected
|
78
71
|
def expand_js_compressor(sym)
|
79
72
|
case sym
|
80
73
|
when :closure
|
metadata
CHANGED
@@ -1,13 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: actionpack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 15424105
|
5
|
+
prerelease: 6
|
5
6
|
segments:
|
6
7
|
- 3
|
7
8
|
- 1
|
8
9
|
- 0
|
9
|
-
-
|
10
|
-
|
10
|
+
- rc
|
11
|
+
- 6
|
12
|
+
version: 3.1.0.rc6
|
11
13
|
platform: ruby
|
12
14
|
authors:
|
13
15
|
- David Heinemeier Hansson
|
@@ -15,46 +17,53 @@ autorequire:
|
|
15
17
|
bindir: bin
|
16
18
|
cert_chain: []
|
17
19
|
|
18
|
-
date: 2011-
|
19
|
-
default_executable:
|
20
|
+
date: 2011-08-16 00:00:00 Z
|
20
21
|
dependencies:
|
21
22
|
- !ruby/object:Gem::Dependency
|
22
23
|
name: activesupport
|
23
24
|
prerelease: false
|
24
25
|
requirement: &id001 !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
25
27
|
requirements:
|
26
28
|
- - "="
|
27
29
|
- !ruby/object:Gem::Version
|
30
|
+
hash: 15424105
|
28
31
|
segments:
|
29
32
|
- 3
|
30
33
|
- 1
|
31
34
|
- 0
|
32
|
-
-
|
33
|
-
|
35
|
+
- rc
|
36
|
+
- 6
|
37
|
+
version: 3.1.0.rc6
|
34
38
|
type: :runtime
|
35
39
|
version_requirements: *id001
|
36
40
|
- !ruby/object:Gem::Dependency
|
37
41
|
name: activemodel
|
38
42
|
prerelease: false
|
39
43
|
requirement: &id002 !ruby/object:Gem::Requirement
|
44
|
+
none: false
|
40
45
|
requirements:
|
41
46
|
- - "="
|
42
47
|
- !ruby/object:Gem::Version
|
48
|
+
hash: 15424105
|
43
49
|
segments:
|
44
50
|
- 3
|
45
51
|
- 1
|
46
52
|
- 0
|
47
|
-
-
|
48
|
-
|
53
|
+
- rc
|
54
|
+
- 6
|
55
|
+
version: 3.1.0.rc6
|
49
56
|
type: :runtime
|
50
57
|
version_requirements: *id002
|
51
58
|
- !ruby/object:Gem::Dependency
|
52
59
|
name: rack-cache
|
53
60
|
prerelease: false
|
54
61
|
requirement: &id003 !ruby/object:Gem::Requirement
|
62
|
+
none: false
|
55
63
|
requirements:
|
56
64
|
- - ~>
|
57
65
|
- !ruby/object:Gem::Version
|
66
|
+
hash: 19
|
58
67
|
segments:
|
59
68
|
- 1
|
60
69
|
- 0
|
@@ -66,9 +75,11 @@ dependencies:
|
|
66
75
|
name: builder
|
67
76
|
prerelease: false
|
68
77
|
requirement: &id004 !ruby/object:Gem::Requirement
|
78
|
+
none: false
|
69
79
|
requirements:
|
70
80
|
- - ~>
|
71
81
|
- !ruby/object:Gem::Version
|
82
|
+
hash: 7
|
72
83
|
segments:
|
73
84
|
- 3
|
74
85
|
- 0
|
@@ -80,9 +91,11 @@ dependencies:
|
|
80
91
|
name: i18n
|
81
92
|
prerelease: false
|
82
93
|
requirement: &id005 !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
83
95
|
requirements:
|
84
96
|
- - ~>
|
85
97
|
- !ruby/object:Gem::Version
|
98
|
+
hash: 7
|
86
99
|
segments:
|
87
100
|
- 0
|
88
101
|
- 6
|
@@ -93,23 +106,27 @@ dependencies:
|
|
93
106
|
name: rack
|
94
107
|
prerelease: false
|
95
108
|
requirement: &id006 !ruby/object:Gem::Requirement
|
109
|
+
none: false
|
96
110
|
requirements:
|
97
111
|
- - ~>
|
98
112
|
- !ruby/object:Gem::Version
|
113
|
+
hash: 31
|
99
114
|
segments:
|
100
115
|
- 1
|
101
116
|
- 3
|
102
|
-
-
|
103
|
-
version: 1.3.
|
117
|
+
- 2
|
118
|
+
version: 1.3.2
|
104
119
|
type: :runtime
|
105
120
|
version_requirements: *id006
|
106
121
|
- !ruby/object:Gem::Dependency
|
107
122
|
name: rack-test
|
108
123
|
prerelease: false
|
109
124
|
requirement: &id007 !ruby/object:Gem::Requirement
|
125
|
+
none: false
|
110
126
|
requirements:
|
111
127
|
- - ~>
|
112
128
|
- !ruby/object:Gem::Version
|
129
|
+
hash: 7
|
113
130
|
segments:
|
114
131
|
- 0
|
115
132
|
- 6
|
@@ -121,9 +138,11 @@ dependencies:
|
|
121
138
|
name: rack-mount
|
122
139
|
prerelease: false
|
123
140
|
requirement: &id008 !ruby/object:Gem::Requirement
|
141
|
+
none: false
|
124
142
|
requirements:
|
125
143
|
- - ~>
|
126
144
|
- !ruby/object:Gem::Version
|
145
|
+
hash: 61
|
127
146
|
segments:
|
128
147
|
- 0
|
129
148
|
- 8
|
@@ -135,9 +154,11 @@ dependencies:
|
|
135
154
|
name: sprockets
|
136
155
|
prerelease: false
|
137
156
|
requirement: &id009 !ruby/object:Gem::Requirement
|
157
|
+
none: false
|
138
158
|
requirements:
|
139
159
|
- - ~>
|
140
160
|
- !ruby/object:Gem::Version
|
161
|
+
hash: 62196475
|
141
162
|
segments:
|
142
163
|
- 2
|
143
164
|
- 0
|
@@ -151,9 +172,11 @@ dependencies:
|
|
151
172
|
name: erubis
|
152
173
|
prerelease: false
|
153
174
|
requirement: &id010 !ruby/object:Gem::Requirement
|
175
|
+
none: false
|
154
176
|
requirements:
|
155
177
|
- - ~>
|
156
178
|
- !ruby/object:Gem::Version
|
179
|
+
hash: 19
|
157
180
|
segments:
|
158
181
|
- 2
|
159
182
|
- 7
|
@@ -165,9 +188,11 @@ dependencies:
|
|
165
188
|
name: tzinfo
|
166
189
|
prerelease: false
|
167
190
|
requirement: &id011 !ruby/object:Gem::Requirement
|
191
|
+
none: false
|
168
192
|
requirements:
|
169
193
|
- - ~>
|
170
194
|
- !ruby/object:Gem::Version
|
195
|
+
hash: 41
|
171
196
|
segments:
|
172
197
|
- 0
|
173
198
|
- 3
|
@@ -369,7 +394,6 @@ files:
|
|
369
394
|
- lib/sprockets/helpers/rails_helper.rb
|
370
395
|
- lib/sprockets/helpers.rb
|
371
396
|
- lib/sprockets/railtie.rb
|
372
|
-
has_rdoc: true
|
373
397
|
homepage: http://www.rubyonrails.org
|
374
398
|
licenses: []
|
375
399
|
|
@@ -379,18 +403,22 @@ rdoc_options: []
|
|
379
403
|
require_paths:
|
380
404
|
- lib
|
381
405
|
required_ruby_version: !ruby/object:Gem::Requirement
|
406
|
+
none: false
|
382
407
|
requirements:
|
383
408
|
- - ">="
|
384
409
|
- !ruby/object:Gem::Version
|
410
|
+
hash: 57
|
385
411
|
segments:
|
386
412
|
- 1
|
387
413
|
- 8
|
388
414
|
- 7
|
389
415
|
version: 1.8.7
|
390
416
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
417
|
+
none: false
|
391
418
|
requirements:
|
392
419
|
- - ">"
|
393
420
|
- !ruby/object:Gem::Version
|
421
|
+
hash: 25
|
394
422
|
segments:
|
395
423
|
- 1
|
396
424
|
- 3
|
@@ -399,7 +427,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
399
427
|
requirements:
|
400
428
|
- none
|
401
429
|
rubyforge_project:
|
402
|
-
rubygems_version: 1.
|
430
|
+
rubygems_version: 1.8.8
|
403
431
|
signing_key:
|
404
432
|
specification_version: 3
|
405
433
|
summary: Web-flow and rendering framework putting the VC in MVC (part of Rails).
|