libgems 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/libgems.rb +30 -5
- data/lib/libgems/requirement.rb +7 -36
- metadata +3 -3
data/lib/libgems.rb
CHANGED
@@ -95,11 +95,38 @@ require 'thread'
|
|
95
95
|
#
|
96
96
|
# -The SlimGems Team
|
97
97
|
|
98
|
+
|
99
|
+
|
100
|
+
# Hack to handle syck's DefaultKey bug with psych
|
101
|
+
#
|
102
|
+
# Quick note! If/when psych loads in 1.9, it will redefine
|
103
|
+
# YAML to point to Psych by removing the YAML constant.
|
104
|
+
# Thusly, over in LibGems.load_yaml, we define DefaultKey again
|
105
|
+
# after proper yaml library has been loaded.
|
106
|
+
#
|
107
|
+
# All this is so that there is always a YAML::Syck::DefaultKey
|
108
|
+
# class no matter if the full yaml library has loaded or not.
|
109
|
+
#
|
110
|
+
unless defined?(Syck)
|
111
|
+
module Syck
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
unless defined?(Syck::DefaultKey)
|
116
|
+
class Syck::DefaultKey
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
if defined?(YAML) && !defined?(YAML::Syck)
|
121
|
+
YAML::Syck = Syck
|
122
|
+
end
|
123
|
+
|
124
|
+
|
98
125
|
module LibGems
|
99
126
|
NAME = 'LibGems'
|
100
127
|
GEM_NAME = 'libgems'
|
101
128
|
VERSION = '1.3.9.2'
|
102
|
-
LIBGEMS_VERSION = '0.1.
|
129
|
+
LIBGEMS_VERSION = '0.1.3'
|
103
130
|
|
104
131
|
##
|
105
132
|
# Raised when SlimGems is unable to load or activate a gem. Contains the
|
@@ -681,10 +708,8 @@ module LibGems
|
|
681
708
|
# why we end up defining DefaultKey more than once.
|
682
709
|
if !defined? YAML::Syck
|
683
710
|
YAML.module_eval do
|
684
|
-
|
685
|
-
|
686
|
-
}
|
687
|
-
end
|
711
|
+
const_set 'Syck', Syck
|
712
|
+
end
|
688
713
|
end
|
689
714
|
end
|
690
715
|
|
data/lib/libgems/requirement.rb
CHANGED
@@ -1,24 +1,5 @@
|
|
1
1
|
require "libgems/version"
|
2
2
|
|
3
|
-
# Hack to handle syck's DefaultKey bug with psych
|
4
|
-
#
|
5
|
-
# Quick note! If/when psych loads in 1.9, it will redefine
|
6
|
-
# YAML to point to Psych by removing the YAML constant.
|
7
|
-
# Thusly, over in LibGems.load_yaml, we define DefaultKey again
|
8
|
-
# after proper yaml library has been loaded.
|
9
|
-
#
|
10
|
-
# All this is so that there is always a YAML::Syck::DefaultKey
|
11
|
-
# class no matter if the full yaml library has loaded or not.
|
12
|
-
#
|
13
|
-
module YAML
|
14
|
-
if !defined? Syck
|
15
|
-
module Syck
|
16
|
-
class DefaultKey
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
3
|
##
|
23
4
|
# A Requirement is a set of one or more version restrictions. It supports a
|
24
5
|
# few (<tt>=, !=, >, <, >=, <=, ~></tt>) different restriction operators.
|
@@ -94,6 +75,12 @@ class LibGems::Requirement
|
|
94
75
|
[$1 || "=", LibGems::Version.new($2)]
|
95
76
|
end
|
96
77
|
|
78
|
+
##
|
79
|
+
# An array of requirement pairs. The first element of the pair is
|
80
|
+
# the op, and the second is the LibGems::Version.
|
81
|
+
|
82
|
+
attr_reader :requirements #:nodoc:
|
83
|
+
|
97
84
|
##
|
98
85
|
# Constructs a requirement from +requirements+. Requirements can be
|
99
86
|
# Strings, LibGems::Versions, or Arrays of those. +nil+ and duplicate
|
@@ -114,22 +101,6 @@ class LibGems::Requirement
|
|
114
101
|
# An array of requirement pairs. The first element of the pair is
|
115
102
|
# the op, and the second is the LibGems::Version.
|
116
103
|
|
117
|
-
def requirements
|
118
|
-
# This is an ugly hack to work around issues with Syck.
|
119
|
-
# There are fixes in other places but since we sometimes
|
120
|
-
# load from YAML, which bypasses any initialization and
|
121
|
-
# other callbacks, this seems the most reliable place to
|
122
|
-
# fix things.
|
123
|
-
if !defined?(YAML::ENGINE) || YAML::ENGINE.syck?
|
124
|
-
@requirements.each do |r|
|
125
|
-
if r[0].kind_of?(Syck::DefaultKey)
|
126
|
-
r[0] = '='
|
127
|
-
end
|
128
|
-
end
|
129
|
-
end
|
130
|
-
@requirements
|
131
|
-
end
|
132
|
-
|
133
104
|
def none?
|
134
105
|
@none ||= (to_s == ">= 0")
|
135
106
|
end
|
@@ -151,7 +122,7 @@ class LibGems::Requirement
|
|
151
122
|
|
152
123
|
# Fixup the Syck DefaultKey bug
|
153
124
|
@requirements.each do |r|
|
154
|
-
if r[0].kind_of? YAML::Syck::DefaultKey
|
125
|
+
if r[0].kind_of?(Syck::DefaultKey) || r[0].kind_of?(YAML::Syck::DefaultKey)
|
155
126
|
r[0] = "="
|
156
127
|
end
|
157
128
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libgems
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2011-
|
16
|
+
date: 2011-09-05 00:00:00.000000000Z
|
17
17
|
dependencies: []
|
18
18
|
description: LibGems is essentially a clone of RubyGems but with a unique namespace
|
19
19
|
to run side-by-side with it.
|
@@ -216,7 +216,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
216
216
|
version: '0'
|
217
217
|
requirements: []
|
218
218
|
rubyforge_project:
|
219
|
-
rubygems_version: 1.8.
|
219
|
+
rubygems_version: 1.8.6
|
220
220
|
signing_key:
|
221
221
|
specification_version: 3
|
222
222
|
summary: LibGems is a package management framework for Ruby
|