libgems 0.1.0 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
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: