環境対応 #954 » 0001-Windows.patch
core/plugin/photo/model/photo.rb | ||
---|---|---|
when URI, Addressable::URI, Retriever::URI
|
||
photos[uri.to_s.hash] ||= new(perma_link: uri)
|
||
when String
|
||
if uri.start_with?('http')
|
||
photos[uri.hash] ||= new(perma_link: uri)
|
||
elsif uri.start_with?('/')
|
||
uri = Retriever::URI.new(scheme: 'file', path: uri)
|
||
photos[uri.hash] ||= new(perma_link: uri)
|
||
uri_obj = Plugin.filtering(:uri_from_string, nil, uri).first
|
||
if uri_obj
|
||
photos[uri.hash] ||= new(perma_link: uri_obj)
|
||
else
|
||
if uri.start_with?('http')
|
||
photos[uri.hash] ||= new(perma_link: uri)
|
||
elsif uri.start_with?('/')
|
||
uri = Retriever::URI.new(scheme: 'file', path: uri)
|
||
photos[uri.hash] ||= new(perma_link: uri)
|
||
end
|
||
end
|
||
end
|
||
end
|
core/plugin/windows_path_support/windows_path_support.rb | ||
---|---|---|
# -*- coding: utf-8 -*-
|
||
# windows_path_support.rb
|
||
#
|
||
#
|
||
require "rbconfig"
|
||
Plugin.create :windows_path_support do
|
||
filter_uri_from_string { |uri, str|
|
||
# Windows?
|
||
result = if RbConfig::CONFIG["host_os"] =~ /mswin|mingw|bccwin|wince/
|
||
# has drive letter?
|
||
if str =~ /^[a-zA-Z]\:/
|
||
Retriever::URI.new(scheme: 'file', path: uri)
|
||
else
|
||
nil
|
||
end
|
||
else
|
||
nil
|
||
end
|
||
[result, str]
|
||
}
|
||
end
|