diff options
Diffstat (limited to 'lib/yaml')
-rw-r--r-- | lib/yaml/store.rb | 10 | ||||
-rw-r--r-- | lib/yaml/yaml.gemspec | 13 |
2 files changed, 17 insertions, 6 deletions
diff --git a/lib/yaml/store.rb b/lib/yaml/store.rb index f8650b942f..f24e4ad332 100644 --- a/lib/yaml/store.rb +++ b/lib/yaml/store.rb @@ -3,7 +3,11 @@ # YAML::Store # require 'yaml' -require 'pstore' + +begin + require 'pstore' +rescue LoadError +end # YAML::Store provides the same functionality as PStore, except it uses YAML # to dump objects instead of Marshal. @@ -65,7 +69,7 @@ class YAML::Store < PStore end def load(content) - table = YAML.unsafe_load(content) + table = YAML.respond_to?(:unsafe_load) ? YAML.unsafe_load(content) : YAML.load(content) if table == false {} else @@ -83,4 +87,4 @@ class YAML::Store < PStore def empty_marshal_checksum CHECKSUM_ALGO.digest(empty_marshal_data) end -end +end if defined?(::PStore) diff --git a/lib/yaml/yaml.gemspec b/lib/yaml/yaml.gemspec index cf19b0e0da..17e1ce89e0 100644 --- a/lib/yaml/yaml.gemspec +++ b/lib/yaml/yaml.gemspec @@ -1,6 +1,13 @@ +name = File.basename(__FILE__, ".gemspec") +version = ["lib", Array.new(name.count("-")+1, "..").join("/")].find do |dir| + break File.foreach(File.join(__dir__, dir, "#{name.tr('-', '/')}.rb")) do |line| + /^\s*LOADER_VERSION\s*=\s*"(.*)"/ =~ line and break $1 + end rescue nil +end + Gem::Specification.new do |spec| - spec.name = "yaml" - spec.version = "0.1.1" + spec.name = name + spec.version = version spec.authors = ["Aaron Patterson", "SHIBATA Hiroshi"] spec.email = ["aaron@tenderlovemaking.com", "hsbt@ruby-lang.org"] @@ -15,7 +22,7 @@ Gem::Specification.new do |spec| # Specify which files should be added to the gem when it is released. # The `git ls-files -z` loads the files in the RubyGem that have been added into git. spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do - `git ls-files -z 2>/dev/null`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } + `git ls-files -z 2>#{IO::NULL}`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } end spec.bindir = "exe" spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } |