Ruby 2: use __dir__ instead of File.dirname(__FILE__) (#1341)

This commit is contained in:
Olle Jonsson 2020-03-13 22:20:04 +01:00 committed by GitHub
parent 3d11d9f379
commit 330d9b4364
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
41 changed files with 76 additions and 76 deletions

View File

@ -434,7 +434,7 @@ Statische Dateien werden im `./public`-Ordner erwartet. Es ist möglich,
einen anderen Ort zu definieren, indem man die `:public_folder`-Option setzt:
```ruby
set :public_folder, File.dirname(__FILE__) + '/static'
set :public_folder, __dir__ + '/static'
```
Zu beachten ist, dass der Ordnername `public` nicht Teil der URL ist.

View File

@ -430,7 +430,7 @@ Los archivos estáticos son servidos desde el directorio público
opción `:public_folder`:
```ruby
set :public_folder, File.dirname(__FILE__) + '/static'
set :public_folder, __dir__ + '/static'
```
Note que el nombre del directorio público no está incluido en la URL. Por

View File

@ -400,7 +400,7 @@ end
Les fichiers du dossier `./public` sont servis de façon statique. Vous pouvez spécifier un autre dossier avec le paramètre `:public_folder` :
```ruby
set :public_folder, File.dirname(__FILE__) + '/statique'
set :public_folder, __dir__ + '/statique'
```
Notez que le nom du dossier public n'apparait pas dans l'URL. Le fichier

View File

@ -120,7 +120,7 @@ A statikus fájlok kiszolgálása a `./public` könyvtárból
történik, de természetesen más könyvtárat is megadhatsz erre a célra,
mégpedig a :public_folder kapcsoló beállításával:
set :public_folder, File.dirname(__FILE__) + '/static'
set :public_folder, __dir__ + '/static'
Fontos megjegyezni, hogy a nyilvános könyvtár neve nem szerepel az URL-ben.
A ./public/css/style.css fájl az
@ -131,7 +131,7 @@ A ./public/css/style.css fájl az
A sablonfájlokat rendszerint a `./views` könyvtárba helyezzük, de
itt is lehetőség nyílik egyéb könyvtár használatára:
set :views, File.dirname(__FILE__) + '/templates'
set :views, __dir__ + '/templates'
Nagyon fontos észben tartani, hogy a sablononkra mindig szimbólumokkal
hivatkozunk, még akkor is, ha egyéb (ebben az esetben a
@ -700,7 +700,7 @@ De hozzá is adhatod a <tt>sinatra/lib</tt> könyvtárat a <tt>LOAD_PATH</tt>-ho
az alkalmazásodban:
```ruby
$LOAD_PATH.unshift File.dirname(__FILE__) + '/sinatra/lib'
$LOAD_PATH.unshift __dir__ + '/sinatra/lib'
require 'rubygems'
require 'sinatra'

View File

@ -386,7 +386,7 @@ end
`:public_folder`オプションを指定することで別の場所を指定することができます。
```ruby
set :public_folder, File.dirname(__FILE__) + '/static'
set :public_folder, __dir__ + '/static'
```
ノート: この静的ファイル用のディレクトリ名はURL中に含まれません。

View File

@ -385,7 +385,7 @@ end
변경하려면 `:public_folder` 옵션을 지정하면 됩니다.
```ruby
set :public_folder, File.dirname(__FILE__) + '/static'
set :public_folder, __dir__ + '/static'
```
public 디렉터리명은 URL에 포함되지 않는다는 점에 주의하세요.

View File

@ -427,7 +427,7 @@ Static files are served from the `./public` directory. You can specify
a different location by setting the `:public_folder` option:
```ruby
set :public_folder, File.dirname(__FILE__) + '/static'
set :public_folder, __dir__ + '/static'
```
Note that the public directory name is not included in the URL. A file

View File

@ -444,7 +444,7 @@ Arquivos estáticos são disponibilizados a partir do diretório
`:public_folder`
```ruby
set :public_folder, File.dirname(__FILE__) + '/estatico'
set :public_folder, __dir__ + '/estatico'
```
Note que o nome do diretório público não é incluido na URL. Um arquivo

View File

@ -121,7 +121,7 @@ Arquivos estáticos são disponibilizados a partir do directório
`:public_folder`
```ruby
set :public_folder, File.dirname(__FILE__) + '/estatico'
set :public_folder, __dir__ + '/estatico'
```
Note que o nome do directório público não é incluido no URL. Um arquivo
@ -134,7 +134,7 @@ Templates presumem-se estar localizados sob o directório `./views`. Para
utilizar um directório de views diferente:
```ruby
set :views, File.dirname(__FILE__) + '/modelo'
set :views, __dir__ + '/modelo'
```
Uma coisa importante a ser lembrada é que você sempre tem as referências
@ -757,7 +757,7 @@ Alternativamente, pode adicionar o directório do `sinatra/lib` no
`LOAD_PATH` do seu aplicativo:
```ruby
$LOAD_PATH.unshift File.dirname(__FILE__) + '/sinatra/lib'
$LOAD_PATH.unshift __dir__ + '/sinatra/lib'
require 'rubygems'
require 'sinatra'

View File

@ -431,7 +431,7 @@ end
месторасположение при помощи опции `:public_folder`:
```ruby
set :public_folder, File.dirname(__FILE__) + '/static'
set :public_folder, __dir__ + '/static'
```
Учтите, что имя директории со статическими файлами не включено в URL.

View File

@ -393,7 +393,7 @@ end
静态文件从 `./public` 目录提供服务。可以通过设置`:public_folder` 选项设定一个不同的位置:
```ruby
set :public_folder, File.dirname(__FILE__) + '/static'
set :public_folder, __dir__ + '/static'
```
请注意 public 目录名并没有包含在 URL 中。文件 `./public/css/style.css` 可以通过

View File

@ -1864,7 +1864,7 @@ module Sinatra
configure :development do
get '/__sinatra__/:image.png' do
filename = File.dirname(__FILE__) + "/images/#{params[:image].to_i}.png"
filename = __dir__ + "/images/#{params[:image].to_i}.png"
content_type :png
send_file filename
end

View File

@ -6,7 +6,7 @@ begin
class AsciidoctorTest < Minitest::Test
def asciidoc_app(&block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
get('/', &block)
end
get '/'

View File

@ -6,7 +6,7 @@ require 'builder'
class BuilderTest < Minitest::Test
def builder_app(options = {}, &block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
set options
get('/', &block)
end

View File

@ -13,7 +13,7 @@ end
class CoffeeTest < Minitest::Test
def coffee_app(options = {}, &block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
set(options)
get('/', &block)
end

View File

@ -6,7 +6,7 @@ require 'creole'
class CreoleTest < Minitest::Test
def creole_app(&block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
get('/', &block)
end
get '/'

View File

@ -5,7 +5,7 @@ require 'erb'
class BaseTest < Minitest::Test
setup do
@base = Sinatra.new(Sinatra::Base)
@base.set :views, File.dirname(__FILE__) + "/views"
@base.set :views, __dir__ + "/views"
end
it 'allows unicode strings in ascii templates per default (1.9)' do

View File

@ -12,7 +12,7 @@ class ERBTest < Minitest::Test
def erb_app(&block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
get('/', &block)
end
get '/'

View File

@ -123,7 +123,7 @@ class BeforeFilterTest < Minitest::Test
mock_app do
before { ran_filter = true }
set :static, true
set :public_folder, File.dirname(__FILE__)
set :public_folder, __dir__
end
get "/#{File.basename(__FILE__)}"
assert ok?
@ -267,7 +267,7 @@ class AfterFilterTest < Minitest::Test
mock_app do
after { ran_filter = true }
set :static, true
set :public_folder, File.dirname(__FILE__)
set :public_folder, __dir__
end
get "/#{File.basename(__FILE__)}"
assert ok?

View File

@ -6,7 +6,7 @@ require 'haml'
class HAMLTest < Minitest::Test
def haml_app(&block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
get('/', &block)
end
get '/'

View File

@ -14,10 +14,10 @@ RUBY_ENGINE = 'ruby' unless defined? RUBY_ENGINE
require 'rack'
testdir = File.dirname(__FILE__)
testdir = __dir__
$LOAD_PATH.unshift testdir unless $LOAD_PATH.include?(testdir)
libdir = File.dirname(File.dirname(__FILE__)) + '/lib'
libdir = File.dirname(__dir__) + '/lib'
$LOAD_PATH.unshift libdir unless $LOAD_PATH.include?(libdir)
require 'minitest'

View File

@ -785,7 +785,7 @@ class HelpersTest < Minitest::Test
describe 'send_file' do
setup do
@file = File.dirname(__FILE__) + '/file.txt'
@file = __dir__ + '/file.txt'
File.open(@file, 'wb') { |io| io.write('Hello World') }
end
@ -898,7 +898,7 @@ class HelpersTest < Minitest::Test
end
it "is able to send files with unknown mime type" do
@file = File.dirname(__FILE__) + '/file.foobar'
@file = __dir__ + '/file.foobar'
File.open(@file, 'wb') { |io| io.write('Hello World') }
send_file_app
get '/file.txt'

View File

@ -6,7 +6,7 @@ require 'less'
class LessTest < Minitest::Test
def less_app(options = {}, &block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
set options
get('/', &block)
end

View File

@ -6,7 +6,7 @@ require 'liquid'
class LiquidTest < Minitest::Test
def liquid_app(&block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
get('/', &block)
end
get '/'

View File

@ -6,7 +6,7 @@ require 'markaby'
class MarkabyTest < Minitest::Test
def markaby_app(&block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
get('/', &block)
end
get '/'

View File

@ -3,7 +3,7 @@ require File.expand_path('../helper', __FILE__)
MarkdownTest = proc do
def markdown_app(&block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
get('/', &block)
end
get '/'

View File

@ -6,7 +6,7 @@ begin
class MediaWikiTest < Minitest::Test
def mediawiki_app(&block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
get('/', &block)
end
get '/'

View File

@ -6,7 +6,7 @@ require 'nokogiri'
class NokogiriTest < Minitest::Test
def nokogiri_app(&block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
get('/', &block)
end
get '/'

View File

@ -9,7 +9,7 @@ require 'active_support/core_ext/hash/conversions'
class RablTest < Minitest::Test
def rabl_app(&block)
mock_app {
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
get '/', &block
}
get '/'

View File

@ -6,7 +6,7 @@ require 'radius'
class RadiusTest < Minitest::Test
def radius_app(&block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
get('/', &block)
end
get '/'

View File

@ -7,7 +7,7 @@ require 'rdoc/markup/to_html'
class RdocTest < Minitest::Test
def rdoc_app(&block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
get('/', &block)
end
get '/'

View File

@ -6,7 +6,7 @@ require 'sass'
class SassTest < Minitest::Test
def sass_app(options = {}, &block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
set options
get('/', &block)
end

View File

@ -6,7 +6,7 @@ require 'sass'
class ScssTest < Minitest::Test
def scss_app(options = {}, &block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
set options
get('/', &block)
end

View File

@ -383,13 +383,13 @@ class SettingsTest < Minitest::Test
it 'is enabled on Base when public_folder is set and exists' do
@base.set :environment, :development
@base.set :public_folder, File.dirname(__FILE__)
@base.set :public_folder, __dir__
assert @base.static?
end
it 'is enabled on Base when root is set and root/public_folder exists' do
@base.set :environment, :development
@base.set :root, File.dirname(__FILE__)
@base.set :root, __dir__
assert @base.static?
end
@ -399,13 +399,13 @@ class SettingsTest < Minitest::Test
it 'is enabled on Application when public_folder is set and exists' do
@application.set :environment, :development
@application.set :public_folder, File.dirname(__FILE__)
@application.set :public_folder, __dir__
assert @application.static?
end
it 'is enabled on Application when root is set and root/public_folder exists' do
@application.set :environment, :development
@application.set :root, File.dirname(__FILE__)
@application.set :root, __dir__
assert @application.static?
end
@ -480,10 +480,10 @@ class SettingsTest < Minitest::Test
it 'is equal to the expanded basename of app_file' do
@base.app_file = __FILE__
assert_equal File.expand_path(File.dirname(__FILE__)), @base.root
assert_equal File.expand_path(__dir__), @base.root
@application.app_file = __FILE__
assert_equal File.expand_path(File.dirname(__FILE__)), @application.root
assert_equal File.expand_path(__dir__), @application.root
end
end
@ -494,11 +494,11 @@ class SettingsTest < Minitest::Test
end
it 'is set to root joined with views/' do
@base.root = File.dirname(__FILE__)
assert_equal File.dirname(__FILE__) + "/views", @base.views
@base.root = __dir__
assert_equal __dir__ + "/views", @base.views
@application.root = File.dirname(__FILE__)
assert_equal File.dirname(__FILE__) + "/views", @application.views
@application.root = __dir__
assert_equal __dir__ + "/views", @application.views
end
end
@ -509,22 +509,22 @@ class SettingsTest < Minitest::Test
end
it 'is set to root joined with public/' do
@base.root = File.dirname(__FILE__)
assert_equal File.dirname(__FILE__) + "/public", @base.public_folder
@base.root = __dir__
assert_equal __dir__ + "/public", @base.public_folder
@application.root = File.dirname(__FILE__)
assert_equal File.dirname(__FILE__) + "/public", @application.public_folder
@application.root = __dir__
assert_equal __dir__ + "/public", @application.public_folder
end
end
describe 'public_dir' do
it 'is an alias for public_folder' do
@base.public_dir = File.dirname(__FILE__)
assert_equal File.dirname(__FILE__), @base.public_dir
@base.public_dir = __dir__
assert_equal __dir__, @base.public_dir
assert_equal @base.public_folder, @base.public_dir
@application.public_dir = File.dirname(__FILE__)
assert_equal File.dirname(__FILE__), @application.public_dir
@application.public_dir = __dir__
assert_equal __dir__, @application.public_dir
assert_equal @application.public_folder, @application.public_dir
end
end

View File

@ -6,7 +6,7 @@ require 'slim'
class SlimTest < Minitest::Test
def slim_app(&block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
get('/', &block)
end
get '/'

View File

@ -4,7 +4,7 @@ class StaticTest < Minitest::Test
setup do
mock_app do
set :static, true
set :public_folder, File.dirname(__FILE__)
set :public_folder, __dir__
end
end
@ -90,7 +90,7 @@ class StaticTest < Minitest::Test
it '404s when .. path traverses outside of public directory' do
mock_app do
set :static, true
set :public_folder, File.dirname(__FILE__) + '/data'
set :public_folder, __dir__ + '/data'
end
get "/../#{File.basename(__FILE__)}"
assert not_found?
@ -131,7 +131,7 @@ class StaticTest < Minitest::Test
it 'handles valid byte ranges correctly' do
# Use the biggest file in this dir so we can test ranges > 8k bytes. (StaticFile sends in 8k chunks.)
path = File.dirname(__FILE__) + '/helpers_test.rb' # currently 16k bytes
path = __dir__ + '/helpers_test.rb' # currently 16k bytes
file = File.read(path)
length = file.length
assert length > 9000, "The test file #{path} is too short (#{length} bytes) to run these tests"
@ -222,7 +222,7 @@ class StaticTest < Minitest::Test
it 'renders static assets with custom status via options' do
mock_app do
set :static, true
set :public_folder, File.dirname(__FILE__)
set :public_folder, __dir__
post '/*' do
static!(:status => params[:status])
@ -239,12 +239,12 @@ class StaticTest < Minitest::Test
it 'serves files with a + sign in the path' do
mock_app do
set :static, true
set :public_folder, File.join(File.dirname(__FILE__), 'public')
set :public_folder, File.join(__dir__, 'public')
end
get "/hello+world.txt"
real_path = File.join(File.dirname(__FILE__), 'public', 'hello+world.txt')
real_path = File.join(__dir__, 'public', 'hello+world.txt')
assert ok?
assert_equal File.read(real_path), body
assert_equal File.size(real_path).to_s, response['Content-Length']
@ -254,12 +254,12 @@ class StaticTest < Minitest::Test
it 'serves files with a URL encoded + sign (%2B) in the path' do
mock_app do
set :static, true
set :public_folder, File.join(File.dirname(__FILE__), 'public')
set :public_folder, File.join(__dir__, 'public')
end
get "/hello%2bworld.txt"
real_path = File.join(File.dirname(__FILE__), 'public', 'hello+world.txt')
real_path = File.join(__dir__, 'public', 'hello+world.txt')
assert ok?
assert_equal File.read(real_path), body
assert_equal File.size(real_path).to_s, response['Content-Length']

View File

@ -13,7 +13,7 @@ begin
class StylusTest < Minitest::Test
def stylus_app(options = {}, &block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
set(options)
get('/', &block)
end

View File

@ -1,6 +1,6 @@
# encoding: UTF-8
require File.expand_path('../helper', __FILE__)
File.delete(File.dirname(__FILE__) + '/views/layout.test') rescue nil
File.delete(__dir__ + '/views/layout.test') rescue nil
class TestTemplate < Tilt::Template
def prepare
@ -18,7 +18,7 @@ class TemplatesTest < Minitest::Test
def render_app(base=Sinatra::Base, options = {}, &block)
base, options = Sinatra::Base, base if base.is_a? Hash
mock_app(base) do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
set options
get('/', &block)
template(:layout3) { "Layout 3!\n" }
@ -27,7 +27,7 @@ class TemplatesTest < Minitest::Test
end
def with_default_layout
layout = File.dirname(__FILE__) + '/views/layout.test'
layout = __dir__ + '/views/layout.test'
File.open(layout, 'wb') { |io| io.write "Layout!\n" }
yield
ensure
@ -314,7 +314,7 @@ class TemplatesTest < Minitest::Test
assert_equal 'template in superclass', base.templates[:foo].first.call
mock_app(base) do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
template(:foo) { 'template in subclass' }
get('/') { render :test, :foo }
end
@ -373,7 +373,7 @@ class TemplatesTest < Minitest::Test
it "is possible to use custom logic for finding template files" do
mock_app do
set :views, ["a", "b"].map { |d| File.dirname(__FILE__) + '/views/' + d }
set :views, ["a", "b"].map { |d| __dir__ + '/views/' + d }
def find_template(views, name, engine, &block)
Array(views).each { |v| super(v, name, engine, &block) }
end

View File

@ -6,7 +6,7 @@ require 'redcloth'
class TextileTest < Minitest::Test
def textile_app(&block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
get('/', &block)
end
get '/'

View File

@ -10,7 +10,7 @@ class WLangTest < Minitest::Test
def wlang_app(&block)
mock_app {
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
get '/', &block
}
get '/'

View File

@ -6,7 +6,7 @@ require 'yajl'
class YajlTest < Minitest::Test
def yajl_app(&block)
mock_app do
set :views, File.dirname(__FILE__) + '/views'
set :views, __dir__ + '/views'
get('/', &block)
end
get '/'