!RBIX
12529030924842180271
x
M
1
n
n
x
10
__script__
i
46
5
7
0
64
47
49
1
1
15
99
7
2
45
3
4
43
5
45
3
6
43
7
49
8
3
13
99
12
7
9
12
7
10
12
65
12
49
11
4
15
49
9
0
15
2
11
I
6
I
0
I
0
I
0
n
p
12
s
16
rubygems/command
x
7
require
x
11
LockCommand
x
3
Gem
n
x
7
Command
n
x
8
Commands
x
16
open_class_under
x
14
__class_init__
M
1
n
n
x
11
LockCommand
i
114
5
66
99
7
0
7
1
65
67
49
2
0
49
3
4
15
99
7
4
7
5
65
67
49
2
0
49
3
4
15
99
7
6
7
7
65
67
49
2
0
49
3
4
15
99
7
8
7
9
65
67
49
2
0
49
3
4
15
99
7
10
7
11
65
67
49
2
0
49
3
4
15
99
7
12
7
13
65
67
49
2
0
49
3
4
15
99
7
14
7
15
65
67
49
2
0
49
3
4
15
99
7
16
7
17
65
67
49
2
0
49
3
4
11
I
5
I
0
I
0
I
0
n
p
18
x
10
initialize
M
1
n
n
x
10
initialize
i
43
7
0
64
7
1
64
44
43
2
79
49
3
1
13
7
4
3
49
5
2
15
54
52
6
3
15
5
7
7
64
7
8
64
7
9
64
56
10
47
50
11
3
11
I
6
I
0
I
0
I
0
n
p
12
s
4
lock
s
32
Generate a lockdown list of gems
x
4
Hash
x
16
new_from_literal
x
6
strict
x
3
[]=
x
10
initialize
s
2
-s
s
13
--[no-]strict
s
38
fail if unable to satisfy a dependency
M
1
p
2
x
9
for_block
t
n
x
10
initialize
i
24
58
37
19
0
15
37
19
1
15
15
20
1
7
0
20
0
13
18
3
49
1
2
15
11
I
7
I
2
I
2
I
2
n
p
2
x
6
strict
x
3
[]=
p
7
I
0
I
9
I
2
I
a
I
a
I
b
I
18
x
37
lib/rubygems/commands/lock_command.rb
p
2
x
6
strict
x
7
options
x
10
add_option
p
13
I
-1
I
5
I
0
I
6
I
6
I
7
I
1a
I
9
I
21
I
a
I
24
I
9
I
2b
x
37
lib/rubygems/commands/lock_command.rb
p
0
x
17
method_visibility
x
15
add_defn_method
x
9
arguments
M
1
n
n
x
9
arguments
i
4
7
0
64
11
I
1
I
0
I
0
I
0
n
p
1
s
70
GEMNAME       name of gem to lock
VERSION       version of gem to lock
p
5
I
-1
I
f
I
0
I
10
I
4
x
37
lib/rubygems/commands/lock_command.rb
p
0
x
12
defaults_str
M
1
n
n
x
12
defaults_str
i
4
7
0
64
11
I
1
I
0
I
0
I
0
n
p
1
s
11
--no-strict
p
5
I
-1
I
13
I
0
I
14
I
4
x
37
lib/rubygems/commands/lock_command.rb
p
0
x
11
description
M
1
n
n
x
11
description
i
4
7
0
64
11
I
1
I
0
I
0
I
0
n
p
1
s
981
The lock command will generate a list of +gem+ statements that will lock down
the versions for the gem given in the command line.  It will specify exact
versions in the requirements list to ensure that the gems loaded will always
be consistent.  A full recursive search of all effected gems will be
generated.

Example:

  gemlock rails-1.0.0 > lockdown.rb

will produce in lockdown.rb:

  require "rubygems"
  gem 'rails', '= 1.0.0'
  gem 'rake', '= 0.7.0.1'
  gem 'activesupport', '= 1.2.5'
  gem 'activerecord', '= 1.13.2'
  gem 'actionpack', '= 1.11.2'
  gem 'actionmailer', '= 1.1.5'
  gem 'actionwebservice', '= 1.0.0'

Just load lockdown.rb from your application to ensure that the current
versions are loaded.  Make sure that lockdown.rb is loaded *before* any
other require statements.

Notice that rails 1.0.0 only requires that rake 0.6.2 or better be used.
Rake-0.7.0.1 is the most recent version installed that satisfies that, so we
lock it down to the exact version.

p
5
I
-1
I
17
I
0
I
18
I
4
x
37
lib/rubygems/commands/lock_command.rb
p
0
x
5
usage
M
1
n
n
x
5
usage
i
11
5
48
0
47
101
1
7
2
63
2
11
I
2
I
0
I
0
I
0
n
p
3
x
12
program_name
x
4
to_s
s
38
 GEMNAME-VERSION [GEMNAME-VERSION ...]
p
5
I
-1
I
38
I
0
I
39
I
b
x
37
lib/rubygems/commands/lock_command.rb
p
0
x
8
complain
M
1
n
n
x
8
complain
i
39
5
48
0
7
1
49
2
1
9
24
5
45
3
4
43
5
20
0
47
49
6
2
8
38
5
7
7
20
0
47
101
8
63
2
47
49
9
1
11
I
4
I
1
I
1
I
1
n
p
10
x
7
options
x
6
strict
x
2
[]
x
3
Gem
n
x
9
Exception
x
5
raise
s
2
# 
x
4
to_s
x
3
say
p
11
I
-1
I
3c
I
0
I
3d
I
a
I
3e
I
18
I
40
I
26
I
0
I
27
x
37
lib/rubygems/commands/lock_command.rb
p
1
x
7
message
x
7
execute
M
1
n
n
x
7
execute
i
171
5
7
0
64
47
49
1
1
15
44
43
2
78
49
3
1
19
0
15
5
48
4
7
5
49
6
1
19
1
15
20
1
49
7
0
10
169
20
1
49
8
0
19
2
15
45
9
10
43
11
5
20
2
47
49
12
1
49
13
1
19
3
15
20
3
49
14
0
9
92
5
7
15
20
2
47
101
16
7
17
63
3
47
49
18
1
15
1
8
165
8
93
1
15
20
0
20
3
49
19
0
49
6
1
9
109
1
8
138
5
7
20
20
3
49
19
0
47
101
16
7
21
20
3
49
22
0
47
101
16
7
23
63
5
47
49
1
1
15
20
0
20
3
49
19
0
2
13
18
3
49
24
2
15
15
20
3
49
25
0
56
26
50
27
0
15
68
8
30
1
11
I
a
I
4
I
0
I
0
n
p
28
s
18
require 'rubygems'
x
3
say
x
4
Hash
x
16
new_from_literal
x
7
options
x
4
args
x
2
[]
x
6
empty?
x
5
shift
x
3
Gem
n
x
13
Specification
x
9
spec_path
x
4
load
x
4
nil?
s
19
Could not find gem 
x
4
to_s
s
25
, try using the full name
x
8
complain
x
4
name
s
5
gem '
s
6
', '= 
x
7
version
s
1
'
x
3
[]=
x
20
runtime_dependencies
M
1
p
2
x
9
for_block
t
n
x
7
execute
i
77
57
19
0
15
21
1
0
20
0
49
0
0
49
1
1
9
21
1
11
8
22
1
15
45
2
3
49
4
0
20
0
49
5
1
19
1
15
20
1
49
6
0
9
62
5
7
7
20
0
47
101
8
7
9
63
3
47
49
10
1
8
76
21
1
1
20
1
49
11
0
49
12
0
49
13
1
11
I
7
I
2
I
1
I
1
n
p
14
x
4
name
x
2
[]
x
3
Gem
n
x
12
source_index
x
6
search
x
6
empty?
s
19
Unable to satisfy '
x
4
to_s
s
31
' from currently installed gems
x
8
complain
x
4
last
x
9
full_name
x
2
<<
p
17
I
0
I
58
I
4
I
59
I
16
I
0
I
17
I
5a
I
25
I
5c
I
2c
I
5d
I
3e
I
5f
I
4c
I
0
I
4d
x
37
lib/rubygems/commands/lock_command.rb
p
2
x
3
dep
x
10
candidates
x
4
each
p
35
I
-1
I
44
I
0
I
45
I
9
I
47
I
13
I
49
I
1e
I
4b
I
25
I
4c
I
2d
I
4e
I
3f
I
50
I
46
I
51
I
57
I
52
I
5c
I
50
I
5d
I
0
I
5e
I
55
I
8a
I
0
I
8b
I
56
I
9b
I
58
I
a9
I
0
I
ab
x
37
lib/rubygems/commands/lock_command.rb
p
4
x
6
locked
x
7
pending
x
9
full_name
x
4
spec
x
9
spec_path
M
1
n
n
x
9
spec_path
i
22
45
0
1
49
2
0
56
3
50
4
0
19
1
15
20
1
56
5
50
6
0
11
I
4
I
2
I
1
I
1
n
p
7
x
3
Gem
n
x
4
path
M
1
p
2
x
9
for_block
t
n
x
9
spec_path
i
26
57
19
0
15
45
0
1
20
0
7
2
64
21
1
0
47
101
3
7
4
63
2
49
5
3
11
I
7
I
1
I
1
I
1
n
p
6
x
4
File
n
s
14
specifications
x
4
to_s
s
8
.gemspec
x
4
join
p
5
I
0
I
66
I
4
I
67
I
1a
x
37
lib/rubygems/commands/lock_command.rb
p
1
x
4
path
x
3
map
M
1
p
2
x
9
for_block
t
n
x
9
spec_path
i
13
57
19
0
15
45
0
1
20
0
49
2
1
11
I
4
I
1
I
1
I
1
n
p
3
x
4
File
n
x
6
exist?
p
3
I
0
I
6a
I
d
x
37
lib/rubygems/commands/lock_command.rb
p
1
x
7
gemspec
x
4
find
p
7
I
-1
I
65
I
0
I
66
I
e
I
6a
I
16
x
37
lib/rubygems/commands/lock_command.rb
p
2
x
13
gem_full_name
x
8
gemspecs
p
17
I
2
I
5
I
10
I
f
I
1e
I
13
I
2c
I
17
I
3a
I
38
I
48
I
3c
I
56
I
44
I
64
I
65
I
72
x
37
lib/rubygems/commands/lock_command.rb
p
0
x
13
attach_method
p
5
I
0
I
1
I
9
I
3
I
2e
x
37
lib/rubygems/commands/lock_command.rb
p
0
