晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
| DIR:/opt/alt/ruby34/share/gems/gems/bundler-2.6.9/lib/bundler/ |
| Current File : //opt/alt/ruby34/share/gems/gems/bundler-2.6.9/lib/bundler/dependency.rb |
# frozen_string_literal: true
require "rubygems/dependency"
require_relative "shared_helpers"
module Bundler
class Dependency < Gem::Dependency
def initialize(name, version, options = {}, &blk)
type = options["type"] || :runtime
super(name, version, type)
@options = options
end
def groups
@groups ||= Array(@options["group"] || :default).map(&:to_sym)
end
def source
return @source if defined?(@source)
@source = @options["source"]
end
def path
return @path if defined?(@path)
@path = @options["path"]
end
def git
return @git if defined?(@git)
@git = @options["git"]
end
def github
return @github if defined?(@github)
@github = @options["github"]
end
def branch
return @branch if defined?(@branch)
@branch = @options["branch"]
end
def ref
return @ref if defined?(@ref)
@ref = @options["ref"]
end
def glob
return @glob if defined?(@glob)
@glob = @options["glob"]
end
def platforms
@platforms ||= Array(@options["platforms"])
end
def env
return @env if defined?(@env)
@env = @options["env"]
end
def should_include
@should_include ||= @options.fetch("should_include", true)
end
def gemfile
return @gemfile if defined?(@gemfile)
@gemfile = @options["gemfile"]
end
def force_ruby_platform
return @force_ruby_platform if defined?(@force_ruby_platform)
@force_ruby_platform = @options["force_ruby_platform"]
end
def autorequire
return @autorequire if defined?(@autorequire)
@autorequire = Array(@options["require"] || []) if @options.key?("require")
end
RUBY_PLATFORM_ARRAY = [Gem::Platform::RUBY].freeze
private_constant :RUBY_PLATFORM_ARRAY
# Returns the platforms this dependency is valid for, in the same order as
# passed in the `valid_platforms` parameter
def gem_platforms(valid_platforms)
return RUBY_PLATFORM_ARRAY if force_ruby_platform
return valid_platforms if platforms.empty?
valid_platforms.select {|p| expanded_platforms.include?(GemHelpers.generic(p)) }
end
def expanded_platforms
@expanded_platforms ||= platforms.filter_map {|pl| CurrentRuby::PLATFORM_MAP[pl] }.flatten.uniq
end
def should_include?
should_include && current_env? && current_platform?
end
def gemspec_dev_dep?
@gemspec_dev_dep ||= @options.fetch("gemspec_dev_dep", false)
end
def gemfile_dep?
!gemspec_dev_dep?
end
def current_env?
return true unless env
if env.is_a?(Hash)
env.all? do |key, val|
ENV[key.to_s] && (val.is_a?(String) ? ENV[key.to_s] == val : ENV[key.to_s] =~ val)
end
else
ENV[env.to_s]
end
end
def current_platform?
return true if platforms.empty?
platforms.any? do |p|
Bundler.current_ruby.send("#{p}?")
end
end
def to_lock
out = super
out << "!" if source
out
end
def specific?
super
rescue NoMethodError
requirement != ">= 0"
end
end
end
|