gem-patching 0.0.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/gem-patching.rb +1 -0
- data/lib/rubygems/patching.rb +15 -0
- metadata +68 -0
data/lib/gem-patching.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'rubygems/patching'
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
|
3
|
+
module Gem
|
4
|
+
def self.patching(name, *requirements, &block)
|
5
|
+
target = Gem::Dependency.new(name, *requirements)
|
6
|
+
loaded_gem = Gem.loaded_specs[name]
|
7
|
+
if loaded_gem && target.requirement.satisfied_by?(loaded_gem.version)
|
8
|
+
yield if block_given?
|
9
|
+
else
|
10
|
+
msg = ["Attempt to apply patch targeting version '#{requirements.join(', ')}' of '#{name}'"]
|
11
|
+
msg << (loaded_gem ? "but active version is '#{loaded_gem.version}'" : "but '#{name}' is not active")
|
12
|
+
raise msg.join(', ')
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
metadata
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: gem-patching
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 25
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Ingo Weiss
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2010-12-09 00:00:00 +01:00
|
19
|
+
default_executable:
|
20
|
+
dependencies: []
|
21
|
+
|
22
|
+
description: gem-patching provides a mechanism for marking code blocks as a patch targeting specific versions of a gem and be notified when that gem is updated, so that developers can assess whether the patch continues to be necessary
|
23
|
+
email: ingo@ingoweiss.com
|
24
|
+
executables: []
|
25
|
+
|
26
|
+
extensions: []
|
27
|
+
|
28
|
+
extra_rdoc_files: []
|
29
|
+
|
30
|
+
files:
|
31
|
+
- lib/gem-patching.rb
|
32
|
+
- lib/rubygems/patching.rb
|
33
|
+
has_rdoc: true
|
34
|
+
homepage: http://github.com/ingoweiss/gem-patching
|
35
|
+
licenses: []
|
36
|
+
|
37
|
+
post_install_message:
|
38
|
+
rdoc_options: []
|
39
|
+
|
40
|
+
require_paths:
|
41
|
+
- lib
|
42
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
hash: 3
|
48
|
+
segments:
|
49
|
+
- 0
|
50
|
+
version: "0"
|
51
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
hash: 3
|
57
|
+
segments:
|
58
|
+
- 0
|
59
|
+
version: "0"
|
60
|
+
requirements: []
|
61
|
+
|
62
|
+
rubyforge_project:
|
63
|
+
rubygems_version: 1.3.7
|
64
|
+
signing_key:
|
65
|
+
specification_version: 3
|
66
|
+
summary: Better management of patches targeting specific versions of a specific gems
|
67
|
+
test_files: []
|
68
|
+
|