libgems 0.1.0 → 0.1.2

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.
Files changed (3) hide show
  1. data/lib/libgems.rb +9 -2
  2. data/lib/libgems/requirement.rb +20 -6
  3. metadata +8 -44
@@ -99,7 +99,7 @@ module LibGems
99
99
  NAME = 'LibGems'
100
100
  GEM_NAME = 'libgems'
101
101
  VERSION = '1.3.9.2'
102
- LIBGEMS_VERSION = '0.1.0'
102
+ LIBGEMS_VERSION = '0.1.2'
103
103
 
104
104
  ##
105
105
  # Raised when SlimGems is unable to load or activate a gem. Contains the
@@ -662,11 +662,18 @@ module LibGems
662
662
  # Loads YAML, preferring Psych
663
663
 
664
664
  def self.load_yaml
665
+ using_psych = false
665
666
  begin
666
- require 'psych' unless ENV['TEST_SYCK']
667
+ unless ENV['TEST_SYCK']
668
+ require 'psych'
669
+ using_psych = true
670
+ end
667
671
  rescue ::LoadError
668
672
  ensure
669
673
  require 'yaml'
674
+ if defined?(YAML::ENGINE)
675
+ YAML::ENGINE.yamler = using_psych ? 'psych' : 'syck'
676
+ end
670
677
  end
671
678
 
672
679
  # Hack to handle syck's DefaultKey bug with psych.
@@ -94,12 +94,6 @@ class LibGems::Requirement
94
94
  [$1 || "=", LibGems::Version.new($2)]
95
95
  end
96
96
 
97
- ##
98
- # An array of requirement pairs. The first element of the pair is
99
- # the op, and the second is the LibGems::Version.
100
-
101
- attr_reader :requirements #:nodoc:
102
-
103
97
  ##
104
98
  # Constructs a requirement from +requirements+. Requirements can be
105
99
  # Strings, LibGems::Versions, or Arrays of those. +nil+ and duplicate
@@ -116,6 +110,26 @@ class LibGems::Requirement
116
110
  @requirements = requirements.map! { |r| self.class.parse r }
117
111
  end
118
112
 
113
+ ##
114
+ # An array of requirement pairs. The first element of the pair is
115
+ # the op, and the second is the LibGems::Version.
116
+
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
+
119
133
  def none?
120
134
  @none ||= (to_s == ">= 0")
121
135
  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.0
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,51 +9,15 @@ authors:
9
9
  - Chad Fowler
10
10
  - Eric Hodel
11
11
  - Loren Segal
12
+ - Peter Wagenet
12
13
  autorequire:
13
14
  bindir: bin
14
15
  cert_chain: []
15
- date: 2011-08-10 00:00:00.000000000Z
16
+ date: 2011-08-15 00:00:00.000000000Z
16
17
  dependencies: []
17
- description: ! "# SlimGems\n\n* Website: http://slimgems.github.com/\n* Github: http://github.com/slimgems/slimgems\n*
18
- Get gems from: http://rubygems.org\n\n## Description\n\nSlimGems is a drop-in replacement
19
- for RubyGems, a package management framework \nfor Ruby. We forked the project at
20
- 1.3.7, which was a great stable release.\n\nSlimGems focuses on maintaining a sane
21
- and stable API. We believe that the\nproject has been put through enough stress
22
- testing by the community to lock\ninto the current API functionality for the forseeable
23
- future. We will also\ncontinue to improve the runtime performance over time; we
24
- can do this\nwithout changing the API.\n\n## Project Goals\n\n1. A fast package
25
- manager that \"Just Works\". We will attempt to make SlimGems\n as fast as possible
26
- and believe it can be done without breaking the existing\n API.\n \n2. A consistent
27
- and stable API. Deprecations will not occur without ample\n warning to library
28
- developers *before* a release. Deprecations will not \n necessarily mean removed
29
- methods or runtime warnings, and we will consult \n with the community if widely
30
- used APIs ever need to be removed.\n \n3. Receptive and friendly project maintainers.
31
- We will listen to your bugs\n and suggestions without deriding you. We believe
32
- the community deserves\n a voice in matters that affect package management tools,
33
- and we respect \n that voice.\n\n4. Improved communication with the community
34
- about future plans. We believe\n it's important to keep the community informed
35
- about major changes. We will\n discuss our rationale for any changes that might
36
- cause problems for other\n library developers.\n\n## What Do I Have to do Differently
37
- to Use SlimGems?\n\nNothing. We maintain the same install paths, APIs and overall
38
- runtime environment\nthat RubyGems had. The only difference is that we have no intention
39
- on changing\nthis environment in future upgrades. You can upgrade safely knowing
40
- that the\nnewer versions of SlimGems will still be compatible with all of your code.\n\nIn
41
- short, yes, \"require 'libgems'\" still works.\n\n## Installing and Upgrading\n\nIf
42
- you're on RubyGems, you can easily upgrade to SlimGems by typing:\n\n $ gem install
43
- slimgems\n \nYou can do this from SlimGems too, but if you have SlimGems already,
44
- upgrading\nworks better with:\n\n $ gem update --system\n\nIf you don't have
45
- any RubyGems or SlimGems install, there is still the pre-gem \napproach to getting
46
- software, doing it manually:\n\n1. Download from: http://github.com/slimgems/slimgems\n2.
47
- Unpack into a directory and cd there\n3. Install with: ruby setup.rb # you may
48
- need admin/root privilege\n\nFor more details and other options, see:\n\n ruby
49
- setup.rb --help\n\n## Uninstalling\n\nIf SlimGems isn't for you, you can downgrade
50
- back to RubyGems by performing\nthe following intuitive command:\n\n $ gem uninstall
51
- slimgems\n\nAgain, you might need to have administrator privileges (sudo) to run
52
- these\ncommands.\n\n## Notes about this SlimGems Fork\n\nSlimGems is a RubyGems
53
- fork of RubyGems 1.3.7 and a limited set of backports\nfrom 1.5.2. SlimGems is maintained
54
- by Loren Segal and others. SlimGems will\nprovide continual improvements with a
55
- stable API.\n\nYou can download the original RubyGems project at \nhttp://rubyforge.org/projects/rubygems\n"
56
- email: lsegal@soen.ca
18
+ description: LibGems is essentially a clone of RubyGems but with a unique namespace
19
+ to run side-by-side with it.
20
+ email: peterw@strobecorp.com
57
21
  executables: []
58
22
  extensions: []
59
23
  extra_rdoc_files: []
@@ -232,7 +196,7 @@ files:
232
196
  - README.md
233
197
  - Rakefile
234
198
  - ChangeLog
235
- homepage: http://rubygems.org
199
+ homepage: http://github.com/strobecorp/libgems
236
200
  licenses: []
237
201
  post_install_message:
238
202
  rdoc_options: []
@@ -243,7 +207,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
243
207
  requirements:
244
208
  - - ! '>'
245
209
  - !ruby/object:Gem::Version
246
- version: 1.8.3
210
+ version: 1.9.2
247
211
  required_rubygems_version: !ruby/object:Gem::Requirement
248
212
  none: false
249
213
  requirements: