conan 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/bin/conan CHANGED
@@ -1,10 +1,55 @@
1
1
  #!/usr/bin/env ruby
2
2
  require "conan/initializer"
3
+ require "conan/settings"
4
+ require "conan/version"
5
+ require "optparse"
6
+
7
+ instructions = <<END
8
+
9
+ Set up a Rails project for deployment and small-scale infrastructure management
10
+ using Capistrano and Chef.
11
+
12
+ Commands:
13
+ init Initialise the project by setting up deployment and configuration
14
+ scripts.
15
+
16
+ Options:
17
+ END
18
+
19
+ settings = Conan::Settings.new
20
+
21
+ opts = ARGV.options{ |o|
22
+ o.banner << " command"
23
+ o.separator instructions
24
+ o.on("-c", "--cookbook-repository",
25
+ "Set the cookbook repository",
26
+ "Default: \"#{settings["COOKBOOK_REPOSITORY"]}\"") do |v|
27
+ settings["COOKBOOK_REPOSITORY"] = v
28
+ end
29
+ o.on("-b", "--cookbook-branch",
30
+ "Set the cookbook branch",
31
+ "Default: \"#{settings["COOKBOOK_BRANCH"]}\"") do |v|
32
+ settings["COOKBOOK_BRANCH"] = v
33
+ end
34
+ o.on("-v", "--version", "Show the software version") do
35
+ puts Conan::VERSION
36
+ exit
37
+ end
38
+ o.on("-h", "--help", "Show usage instructions") do
39
+ puts o
40
+ exit
41
+ end
42
+ }
43
+
44
+ opts.parse!
3
45
 
4
46
  case ARGV.first
5
47
  when "init"
6
- Conan::Initializer.run
48
+ Conan::Initializer.run(Dir.pwd, settings)
7
49
  puts File.read("CONAN_TODO")
50
+ when nil
51
+ puts opts
8
52
  else
9
- raise "Unrecognised command: #{ARGV.first}"
53
+ $stderr.puts "Unrecognised command: #{ARGV.first}"
54
+ puts opts
10
55
  end
@@ -16,11 +16,6 @@ module Conan
16
16
  sessions.clear
17
17
  end
18
18
 
19
- def rake(command, options={})
20
- path = options[:path] || current_path
21
- run "cd #{path}; rake #{command} RAILS_ENV=#{rails_env}"
22
- end
23
-
24
19
  def git_tag(source, dest)
25
20
  system "git fetch origin --tags"
26
21
  sha1 = `git rev-parse "#{source}"`
@@ -61,7 +61,7 @@ namespace :chef do
61
61
  before "chef:bootstrap", "chef:rsync"
62
62
  task :bootstrap do
63
63
  with_user "ubuntu" do
64
- run "sudo /etc/chef/bootstrap.sh"
64
+ run "sudo /etc/chef/recipes/cookbooks/bootstrap/bootstrap.sh"
65
65
  end
66
66
  end
67
67
 
@@ -5,12 +5,13 @@ module Conan
5
5
  TEMPLATE_PATH = File.expand_path("../template", __FILE__)
6
6
  ShellCommandError = Class.new(RuntimeError)
7
7
 
8
- def self.run(where=Dir.pwd)
9
- new(where).run
8
+ def self.run(where, settings)
9
+ new(where, settings).run
10
10
  end
11
11
 
12
- def initialize(where)
12
+ def initialize(where, settings)
13
13
  @destination = File.expand_path(where)
14
+ @settings = settings
14
15
  end
15
16
 
16
17
  def run
@@ -22,9 +23,8 @@ module Conan
22
23
  private
23
24
  def add_gitignore
24
25
  gitignore = ".gitignore"
25
- add_newline = File.exist?(gitignore) && File.read(gitignore).match(/[^\n]\Z/)
26
26
  File.open(".gitignore", "a") do |f|
27
- f.puts if add_newline
27
+ f.puts
28
28
  f.puts "/deploy/chef/dna/generated.json"
29
29
  f.puts "/deploy/chef/dna/aliases.json"
30
30
  end
@@ -42,7 +42,12 @@ module Conan
42
42
  if File.directory?(source)
43
43
  FileUtils.mkdir_p target
44
44
  else
45
- FileUtils.cp source, target
45
+ content = File.read(source)
46
+ content.gsub!(/\{\{([A-Z_]+)\}\}/){ @settings[$1] || "TODO" }
47
+ File.open(target, "w") do |f|
48
+ f << content
49
+ end
50
+ File.chmod(File.stat(source).mode, target)
46
51
  end
47
52
  end
48
53
  end
@@ -0,0 +1,1523 @@
1
+ !RBIX
2
+ 7927234798965029024
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 37
13
+ 5
14
+ 7
15
+ 0
16
+ 64
17
+ 47
18
+ 49
19
+ 1
20
+ 1
21
+ 15
22
+ 99
23
+ 7
24
+ 2
25
+ 65
26
+ 49
27
+ 3
28
+ 2
29
+ 13
30
+ 99
31
+ 12
32
+ 7
33
+ 4
34
+ 12
35
+ 7
36
+ 5
37
+ 12
38
+ 65
39
+ 12
40
+ 49
41
+ 6
42
+ 4
43
+ 15
44
+ 49
45
+ 4
46
+ 0
47
+ 15
48
+ 2
49
+ 11
50
+ I
51
+ 6
52
+ I
53
+ 0
54
+ I
55
+ 0
56
+ I
57
+ 0
58
+ n
59
+ p
60
+ 7
61
+ s
62
+ 9
63
+ fileutils
64
+ x
65
+ 7
66
+ require
67
+ x
68
+ 5
69
+ Conan
70
+ x
71
+ 11
72
+ open_module
73
+ x
74
+ 15
75
+ __module_init__
76
+ M
77
+ 1
78
+ n
79
+ n
80
+ x
81
+ 5
82
+ Conan
83
+ i
84
+ 29
85
+ 5
86
+ 66
87
+ 99
88
+ 7
89
+ 0
90
+ 1
91
+ 65
92
+ 49
93
+ 1
94
+ 3
95
+ 13
96
+ 99
97
+ 12
98
+ 7
99
+ 2
100
+ 12
101
+ 7
102
+ 3
103
+ 12
104
+ 65
105
+ 12
106
+ 49
107
+ 4
108
+ 4
109
+ 15
110
+ 49
111
+ 2
112
+ 0
113
+ 11
114
+ I
115
+ 6
116
+ I
117
+ 0
118
+ I
119
+ 0
120
+ I
121
+ 0
122
+ n
123
+ p
124
+ 5
125
+ x
126
+ 11
127
+ Initializer
128
+ x
129
+ 10
130
+ open_class
131
+ x
132
+ 14
133
+ __class_init__
134
+ M
135
+ 1
136
+ n
137
+ n
138
+ x
139
+ 11
140
+ Initializer
141
+ i
142
+ 158
143
+ 5
144
+ 66
145
+ 65
146
+ 7
147
+ 0
148
+ 45
149
+ 1
150
+ 2
151
+ 7
152
+ 3
153
+ 64
154
+ 65
155
+ 49
156
+ 4
157
+ 0
158
+ 49
159
+ 5
160
+ 2
161
+ 49
162
+ 6
163
+ 2
164
+ 15
165
+ 65
166
+ 7
167
+ 7
168
+ 45
169
+ 8
170
+ 9
171
+ 13
172
+ 71
173
+ 10
174
+ 47
175
+ 9
176
+ 49
177
+ 47
178
+ 49
179
+ 11
180
+ 0
181
+ 13
182
+ 45
183
+ 12
184
+ 13
185
+ 47
186
+ 49
187
+ 14
188
+ 1
189
+ 15
190
+ 8
191
+ 55
192
+ 45
193
+ 12
194
+ 15
195
+ 49
196
+ 10
197
+ 1
198
+ 49
199
+ 6
200
+ 2
201
+ 15
202
+ 99
203
+ 7
204
+ 16
205
+ 7
206
+ 17
207
+ 65
208
+ 5
209
+ 49
210
+ 18
211
+ 4
212
+ 15
213
+ 99
214
+ 7
215
+ 14
216
+ 7
217
+ 19
218
+ 65
219
+ 67
220
+ 49
221
+ 20
222
+ 0
223
+ 49
224
+ 21
225
+ 4
226
+ 15
227
+ 99
228
+ 7
229
+ 16
230
+ 7
231
+ 22
232
+ 65
233
+ 67
234
+ 49
235
+ 20
236
+ 0
237
+ 49
238
+ 21
239
+ 4
240
+ 15
241
+ 5
242
+ 48
243
+ 23
244
+ 15
245
+ 99
246
+ 7
247
+ 24
248
+ 7
249
+ 25
250
+ 65
251
+ 67
252
+ 49
253
+ 20
254
+ 0
255
+ 49
256
+ 21
257
+ 4
258
+ 15
259
+ 99
260
+ 7
261
+ 26
262
+ 7
263
+ 27
264
+ 65
265
+ 67
266
+ 49
267
+ 20
268
+ 0
269
+ 49
270
+ 21
271
+ 4
272
+ 15
273
+ 99
274
+ 7
275
+ 28
276
+ 7
277
+ 29
278
+ 65
279
+ 67
280
+ 49
281
+ 20
282
+ 0
283
+ 49
284
+ 21
285
+ 4
286
+ 15
287
+ 99
288
+ 7
289
+ 30
290
+ 7
291
+ 31
292
+ 65
293
+ 67
294
+ 49
295
+ 20
296
+ 0
297
+ 49
298
+ 21
299
+ 4
300
+ 11
301
+ I
302
+ 5
303
+ I
304
+ 0
305
+ I
306
+ 0
307
+ I
308
+ 0
309
+ n
310
+ p
311
+ 32
312
+ x
313
+ 13
314
+ TEMPLATE_PATH
315
+ x
316
+ 4
317
+ File
318
+ n
319
+ s
320
+ 11
321
+ ../template
322
+ x
323
+ 11
324
+ active_path
325
+ x
326
+ 11
327
+ expand_path
328
+ x
329
+ 9
330
+ const_set
331
+ x
332
+ 17
333
+ ShellCommandError
334
+ x
335
+ 5
336
+ Class
337
+ n
338
+ x
339
+ 3
340
+ new
341
+ x
342
+ 8
343
+ allocate
344
+ x
345
+ 12
346
+ RuntimeError
347
+ n
348
+ x
349
+ 10
350
+ initialize
351
+ n
352
+ x
353
+ 3
354
+ run
355
+ M
356
+ 1
357
+ n
358
+ n
359
+ x
360
+ 3
361
+ run
362
+ i
363
+ 35
364
+ 5
365
+ 13
366
+ 72
367
+ 0
368
+ 47
369
+ 9
370
+ 23
371
+ 47
372
+ 49
373
+ 1
374
+ 0
375
+ 13
376
+ 20
377
+ 0
378
+ 20
379
+ 1
380
+ 47
381
+ 49
382
+ 2
383
+ 2
384
+ 15
385
+ 8
386
+ 31
387
+ 20
388
+ 0
389
+ 20
390
+ 1
391
+ 47
392
+ 49
393
+ 0
394
+ 2
395
+ 49
396
+ 3
397
+ 0
398
+ 11
399
+ I
400
+ 6
401
+ I
402
+ 2
403
+ I
404
+ 2
405
+ I
406
+ 2
407
+ n
408
+ p
409
+ 4
410
+ x
411
+ 3
412
+ new
413
+ x
414
+ 8
415
+ allocate
416
+ x
417
+ 10
418
+ initialize
419
+ x
420
+ 3
421
+ run
422
+ p
423
+ 5
424
+ I
425
+ -1
426
+ I
427
+ 8
428
+ I
429
+ 0
430
+ I
431
+ 9
432
+ I
433
+ 23
434
+ x
435
+ 50
436
+ /home/paul/Projects/conan/lib/conan/initializer.rb
437
+ p
438
+ 2
439
+ x
440
+ 5
441
+ where
442
+ x
443
+ 8
444
+ settings
445
+ x
446
+ 13
447
+ attach_method
448
+ M
449
+ 1
450
+ n
451
+ n
452
+ x
453
+ 10
454
+ initialize
455
+ i
456
+ 16
457
+ 45
458
+ 0
459
+ 1
460
+ 20
461
+ 0
462
+ 49
463
+ 2
464
+ 1
465
+ 38
466
+ 3
467
+ 15
468
+ 20
469
+ 1
470
+ 38
471
+ 4
472
+ 11
473
+ I
474
+ 4
475
+ I
476
+ 2
477
+ I
478
+ 2
479
+ I
480
+ 2
481
+ n
482
+ p
483
+ 5
484
+ x
485
+ 4
486
+ File
487
+ n
488
+ x
489
+ 11
490
+ expand_path
491
+ x
492
+ 12
493
+ @destination
494
+ x
495
+ 9
496
+ @settings
497
+ p
498
+ 7
499
+ I
500
+ -1
501
+ I
502
+ c
503
+ I
504
+ 0
505
+ I
506
+ d
507
+ I
508
+ b
509
+ I
510
+ e
511
+ I
512
+ 10
513
+ x
514
+ 50
515
+ /home/paul/Projects/conan/lib/conan/initializer.rb
516
+ p
517
+ 2
518
+ x
519
+ 5
520
+ where
521
+ x
522
+ 8
523
+ settings
524
+ x
525
+ 17
526
+ method_visibility
527
+ x
528
+ 15
529
+ add_defn_method
530
+ M
531
+ 1
532
+ n
533
+ n
534
+ x
535
+ 3
536
+ run
537
+ i
538
+ 12
539
+ 5
540
+ 48
541
+ 0
542
+ 15
543
+ 5
544
+ 48
545
+ 1
546
+ 15
547
+ 5
548
+ 48
549
+ 2
550
+ 11
551
+ I
552
+ 1
553
+ I
554
+ 0
555
+ I
556
+ 0
557
+ I
558
+ 0
559
+ n
560
+ p
561
+ 3
562
+ x
563
+ 13
564
+ copy_template
565
+ x
566
+ 13
567
+ add_gitignore
568
+ x
569
+ 17
570
+ add_git_submodule
571
+ p
572
+ 9
573
+ I
574
+ -1
575
+ I
576
+ 11
577
+ I
578
+ 0
579
+ I
580
+ 12
581
+ I
582
+ 4
583
+ I
584
+ 13
585
+ I
586
+ 8
587
+ I
588
+ 14
589
+ I
590
+ c
591
+ x
592
+ 50
593
+ /home/paul/Projects/conan/lib/conan/initializer.rb
594
+ p
595
+ 0
596
+ x
597
+ 7
598
+ private
599
+ x
600
+ 13
601
+ add_gitignore
602
+ M
603
+ 1
604
+ n
605
+ n
606
+ x
607
+ 13
608
+ add_gitignore
609
+ i
610
+ 21
611
+ 7
612
+ 0
613
+ 64
614
+ 19
615
+ 0
616
+ 15
617
+ 45
618
+ 1
619
+ 2
620
+ 7
621
+ 0
622
+ 64
623
+ 7
624
+ 3
625
+ 64
626
+ 56
627
+ 4
628
+ 50
629
+ 5
630
+ 2
631
+ 11
632
+ I
633
+ 5
634
+ I
635
+ 1
636
+ I
637
+ 0
638
+ I
639
+ 0
640
+ n
641
+ p
642
+ 6
643
+ s
644
+ 10
645
+ .gitignore
646
+ x
647
+ 4
648
+ File
649
+ n
650
+ s
651
+ 1
652
+ a
653
+ M
654
+ 1
655
+ p
656
+ 2
657
+ x
658
+ 9
659
+ for_block
660
+ t
661
+ n
662
+ x
663
+ 13
664
+ add_gitignore
665
+ i
666
+ 28
667
+ 57
668
+ 19
669
+ 0
670
+ 15
671
+ 20
672
+ 0
673
+ 49
674
+ 0
675
+ 0
676
+ 15
677
+ 20
678
+ 0
679
+ 7
680
+ 1
681
+ 64
682
+ 49
683
+ 0
684
+ 1
685
+ 15
686
+ 20
687
+ 0
688
+ 7
689
+ 2
690
+ 64
691
+ 49
692
+ 0
693
+ 1
694
+ 11
695
+ I
696
+ 4
697
+ I
698
+ 1
699
+ I
700
+ 1
701
+ I
702
+ 1
703
+ n
704
+ p
705
+ 3
706
+ x
707
+ 4
708
+ puts
709
+ s
710
+ 31
711
+ /deploy/chef/dna/generated.json
712
+ s
713
+ 29
714
+ /deploy/chef/dna/aliases.json
715
+ p
716
+ 9
717
+ I
718
+ 0
719
+ I
720
+ 1a
721
+ I
722
+ 4
723
+ I
724
+ 1b
725
+ I
726
+ a
727
+ I
728
+ 1c
729
+ I
730
+ 13
731
+ I
732
+ 1d
733
+ I
734
+ 1c
735
+ x
736
+ 50
737
+ /home/paul/Projects/conan/lib/conan/initializer.rb
738
+ p
739
+ 1
740
+ x
741
+ 1
742
+ f
743
+ x
744
+ 4
745
+ open
746
+ p
747
+ 7
748
+ I
749
+ -1
750
+ I
751
+ 18
752
+ I
753
+ 0
754
+ I
755
+ 19
756
+ I
757
+ 6
758
+ I
759
+ 1a
760
+ I
761
+ 15
762
+ x
763
+ 50
764
+ /home/paul/Projects/conan/lib/conan/initializer.rb
765
+ p
766
+ 1
767
+ x
768
+ 9
769
+ gitignore
770
+ x
771
+ 17
772
+ add_git_submodule
773
+ M
774
+ 1
775
+ n
776
+ n
777
+ x
778
+ 17
779
+ add_git_submodule
780
+ i
781
+ 26
782
+ 45
783
+ 0
784
+ 1
785
+ 7
786
+ 2
787
+ 64
788
+ 49
789
+ 3
790
+ 1
791
+ 9
792
+ 14
793
+ 1
794
+ 8
795
+ 16
796
+ 1
797
+ 11
798
+ 15
799
+ 5
800
+ 7
801
+ 4
802
+ 64
803
+ 47
804
+ 49
805
+ 5
806
+ 1
807
+ 11
808
+ I
809
+ 2
810
+ I
811
+ 0
812
+ I
813
+ 0
814
+ I
815
+ 0
816
+ n
817
+ p
818
+ 6
819
+ x
820
+ 4
821
+ File
822
+ n
823
+ s
824
+ 4
825
+ .git
826
+ x
827
+ 10
828
+ directory?
829
+ s
830
+ 105
831
+ git submodule add git://github.com/madebymany/cookbooks.git deploy/chef/recipes/cookbooks >/dev/null 2>&1
832
+ x
833
+ 2
834
+ sh
835
+ p
836
+ 9
837
+ I
838
+ -1
839
+ I
840
+ 21
841
+ I
842
+ 0
843
+ I
844
+ 22
845
+ I
846
+ 10
847
+ I
848
+ 0
849
+ I
850
+ 11
851
+ I
852
+ 23
853
+ I
854
+ 1a
855
+ x
856
+ 50
857
+ /home/paul/Projects/conan/lib/conan/initializer.rb
858
+ p
859
+ 0
860
+ x
861
+ 13
862
+ copy_template
863
+ M
864
+ 1
865
+ n
866
+ n
867
+ x
868
+ 13
869
+ copy_template
870
+ i
871
+ 12
872
+ 45
873
+ 0
874
+ 1
875
+ 45
876
+ 2
877
+ 3
878
+ 56
879
+ 4
880
+ 50
881
+ 5
882
+ 1
883
+ 11
884
+ I
885
+ 3
886
+ I
887
+ 0
888
+ I
889
+ 0
890
+ I
891
+ 0
892
+ n
893
+ p
894
+ 6
895
+ x
896
+ 3
897
+ Dir
898
+ n
899
+ x
900
+ 13
901
+ TEMPLATE_PATH
902
+ n
903
+ M
904
+ 1
905
+ p
906
+ 2
907
+ x
908
+ 9
909
+ for_block
910
+ t
911
+ n
912
+ x
913
+ 13
914
+ copy_template
915
+ i
916
+ 15
917
+ 45
918
+ 0
919
+ 1
920
+ 7
921
+ 2
922
+ 64
923
+ 49
924
+ 3
925
+ 1
926
+ 56
927
+ 4
928
+ 50
929
+ 5
930
+ 0
931
+ 11
932
+ I
933
+ 3
934
+ I
935
+ 0
936
+ I
937
+ 0
938
+ I
939
+ 0
940
+ I
941
+ -2
942
+ p
943
+ 6
944
+ x
945
+ 3
946
+ Dir
947
+ n
948
+ s
949
+ 4
950
+ **/*
951
+ x
952
+ 2
953
+ []
954
+ M
955
+ 1
956
+ p
957
+ 2
958
+ x
959
+ 9
960
+ for_block
961
+ t
962
+ n
963
+ x
964
+ 13
965
+ copy_template
966
+ i
967
+ 108
968
+ 57
969
+ 19
970
+ 0
971
+ 15
972
+ 45
973
+ 0
974
+ 1
975
+ 39
976
+ 2
977
+ 20
978
+ 0
979
+ 49
980
+ 3
981
+ 2
982
+ 19
983
+ 1
984
+ 15
985
+ 45
986
+ 0
987
+ 4
988
+ 20
989
+ 0
990
+ 49
991
+ 5
992
+ 1
993
+ 9
994
+ 37
995
+ 45
996
+ 6
997
+ 7
998
+ 20
999
+ 1
1000
+ 49
1001
+ 8
1002
+ 1
1003
+ 8
1004
+ 107
1005
+ 45
1006
+ 0
1007
+ 9
1008
+ 20
1009
+ 0
1010
+ 49
1011
+ 10
1012
+ 1
1013
+ 19
1014
+ 2
1015
+ 15
1016
+ 20
1017
+ 2
1018
+ 7
1019
+ 11
1020
+ 13
1021
+ 70
1022
+ 9
1023
+ 68
1024
+ 15
1025
+ 44
1026
+ 43
1027
+ 12
1028
+ 7
1029
+ 13
1030
+ 78
1031
+ 49
1032
+ 14
1033
+ 2
1034
+ 6
1035
+ 11
1036
+ 56
1037
+ 15
1038
+ 50
1039
+ 16
1040
+ 1
1041
+ 15
1042
+ 45
1043
+ 0
1044
+ 17
1045
+ 20
1046
+ 1
1047
+ 7
1048
+ 18
1049
+ 64
1050
+ 56
1051
+ 19
1052
+ 50
1053
+ 20
1054
+ 2
1055
+ 15
1056
+ 45
1057
+ 0
1058
+ 21
1059
+ 45
1060
+ 0
1061
+ 22
1062
+ 20
1063
+ 0
1064
+ 49
1065
+ 23
1066
+ 1
1067
+ 49
1068
+ 24
1069
+ 0
1070
+ 20
1071
+ 1
1072
+ 49
1073
+ 25
1074
+ 2
1075
+ 11
1076
+ I
1077
+ 8
1078
+ I
1079
+ 3
1080
+ I
1081
+ 1
1082
+ I
1083
+ 1
1084
+ n
1085
+ p
1086
+ 26
1087
+ x
1088
+ 4
1089
+ File
1090
+ n
1091
+ x
1092
+ 12
1093
+ @destination
1094
+ x
1095
+ 4
1096
+ join
1097
+ n
1098
+ x
1099
+ 10
1100
+ directory?
1101
+ x
1102
+ 9
1103
+ FileUtils
1104
+ n
1105
+ x
1106
+ 7
1107
+ mkdir_p
1108
+ n
1109
+ x
1110
+ 4
1111
+ read
1112
+ n
1113
+ x
1114
+ 6
1115
+ Regexp
1116
+ s
1117
+ 17
1118
+ \{\{([A-Z_]+)\}\}
1119
+ x
1120
+ 3
1121
+ new
1122
+ M
1123
+ 1
1124
+ p
1125
+ 2
1126
+ x
1127
+ 9
1128
+ for_block
1129
+ t
1130
+ n
1131
+ x
1132
+ 13
1133
+ copy_template
1134
+ i
1135
+ 19
1136
+ 39
1137
+ 0
1138
+ 4
1139
+ 5
1140
+ 78
1141
+ 98
1142
+ 1
1143
+ 2
1144
+ 49
1145
+ 2
1146
+ 1
1147
+ 13
1148
+ 10
1149
+ 18
1150
+ 15
1151
+ 7
1152
+ 3
1153
+ 64
1154
+ 11
1155
+ I
1156
+ 4
1157
+ I
1158
+ 0
1159
+ I
1160
+ 0
1161
+ I
1162
+ 0
1163
+ I
1164
+ -2
1165
+ p
1166
+ 4
1167
+ x
1168
+ 9
1169
+ @settings
1170
+ x
1171
+ 24
1172
+ regexp_last_match_result
1173
+ x
1174
+ 2
1175
+ []
1176
+ s
1177
+ 4
1178
+ TODO
1179
+ p
1180
+ 3
1181
+ I
1182
+ 0
1183
+ I
1184
+ 2e
1185
+ I
1186
+ 13
1187
+ x
1188
+ 50
1189
+ /home/paul/Projects/conan/lib/conan/initializer.rb
1190
+ p
1191
+ 0
1192
+ x
1193
+ 5
1194
+ gsub!
1195
+ n
1196
+ s
1197
+ 1
1198
+ w
1199
+ M
1200
+ 1
1201
+ p
1202
+ 2
1203
+ x
1204
+ 9
1205
+ for_block
1206
+ t
1207
+ n
1208
+ x
1209
+ 13
1210
+ copy_template
1211
+ i
1212
+ 13
1213
+ 57
1214
+ 19
1215
+ 0
1216
+ 15
1217
+ 20
1218
+ 0
1219
+ 21
1220
+ 1
1221
+ 2
1222
+ 49
1223
+ 0
1224
+ 1
1225
+ 11
1226
+ I
1227
+ 4
1228
+ I
1229
+ 1
1230
+ I
1231
+ 1
1232
+ I
1233
+ 1
1234
+ n
1235
+ p
1236
+ 1
1237
+ x
1238
+ 2
1239
+ <<
1240
+ p
1241
+ 5
1242
+ I
1243
+ 0
1244
+ I
1245
+ 2f
1246
+ I
1247
+ 4
1248
+ I
1249
+ 30
1250
+ I
1251
+ d
1252
+ x
1253
+ 50
1254
+ /home/paul/Projects/conan/lib/conan/initializer.rb
1255
+ p
1256
+ 1
1257
+ x
1258
+ 1
1259
+ f
1260
+ x
1261
+ 4
1262
+ open
1263
+ n
1264
+ n
1265
+ x
1266
+ 4
1267
+ stat
1268
+ x
1269
+ 4
1270
+ mode
1271
+ x
1272
+ 5
1273
+ chmod
1274
+ p
1275
+ 19
1276
+ I
1277
+ 0
1278
+ I
1279
+ 28
1280
+ I
1281
+ 4
1282
+ I
1283
+ 29
1284
+ I
1285
+ 11
1286
+ I
1287
+ 2a
1288
+ I
1289
+ 1b
1290
+ I
1291
+ 2b
1292
+ I
1293
+ 25
1294
+ I
1295
+ 2d
1296
+ I
1297
+ 30
1298
+ I
1299
+ 2e
1300
+ I
1301
+ 4a
1302
+ I
1303
+ 2f
1304
+ I
1305
+ 58
1306
+ I
1307
+ 32
1308
+ I
1309
+ 6b
1310
+ I
1311
+ 0
1312
+ I
1313
+ 6c
1314
+ x
1315
+ 50
1316
+ /home/paul/Projects/conan/lib/conan/initializer.rb
1317
+ p
1318
+ 3
1319
+ x
1320
+ 6
1321
+ source
1322
+ x
1323
+ 6
1324
+ target
1325
+ x
1326
+ 7
1327
+ content
1328
+ x
1329
+ 4
1330
+ each
1331
+ p
1332
+ 3
1333
+ I
1334
+ 0
1335
+ I
1336
+ 28
1337
+ I
1338
+ f
1339
+ x
1340
+ 50
1341
+ /home/paul/Projects/conan/lib/conan/initializer.rb
1342
+ p
1343
+ 0
1344
+ x
1345
+ 5
1346
+ chdir
1347
+ p
1348
+ 5
1349
+ I
1350
+ -1
1351
+ I
1352
+ 26
1353
+ I
1354
+ 0
1355
+ I
1356
+ 27
1357
+ I
1358
+ c
1359
+ x
1360
+ 50
1361
+ /home/paul/Projects/conan/lib/conan/initializer.rb
1362
+ p
1363
+ 0
1364
+ x
1365
+ 2
1366
+ sh
1367
+ M
1368
+ 1
1369
+ n
1370
+ n
1371
+ x
1372
+ 2
1373
+ sh
1374
+ i
1375
+ 22
1376
+ 5
1377
+ 20
1378
+ 0
1379
+ 47
1380
+ 49
1381
+ 0
1382
+ 1
1383
+ 13
1384
+ 10
1385
+ 21
1386
+ 15
1387
+ 5
1388
+ 45
1389
+ 1
1390
+ 2
1391
+ 20
1392
+ 0
1393
+ 47
1394
+ 49
1395
+ 3
1396
+ 2
1397
+ 11
1398
+ I
1399
+ 4
1400
+ I
1401
+ 1
1402
+ I
1403
+ 1
1404
+ I
1405
+ 1
1406
+ n
1407
+ p
1408
+ 4
1409
+ x
1410
+ 6
1411
+ system
1412
+ x
1413
+ 17
1414
+ ShellCommandError
1415
+ n
1416
+ x
1417
+ 5
1418
+ raise
1419
+ p
1420
+ 5
1421
+ I
1422
+ -1
1423
+ I
1424
+ 38
1425
+ I
1426
+ 0
1427
+ I
1428
+ 39
1429
+ I
1430
+ 16
1431
+ x
1432
+ 50
1433
+ /home/paul/Projects/conan/lib/conan/initializer.rb
1434
+ p
1435
+ 1
1436
+ x
1437
+ 7
1438
+ command
1439
+ p
1440
+ 21
1441
+ I
1442
+ 2
1443
+ I
1444
+ 5
1445
+ I
1446
+ 16
1447
+ I
1448
+ 6
1449
+ I
1450
+ 3b
1451
+ I
1452
+ 8
1453
+ I
1454
+ 46
1455
+ I
1456
+ c
1457
+ I
1458
+ 54
1459
+ I
1460
+ 11
1461
+ I
1462
+ 62
1463
+ I
1464
+ 17
1465
+ I
1466
+ 66
1467
+ I
1468
+ 18
1469
+ I
1470
+ 74
1471
+ I
1472
+ 21
1473
+ I
1474
+ 82
1475
+ I
1476
+ 26
1477
+ I
1478
+ 90
1479
+ I
1480
+ 38
1481
+ I
1482
+ 9e
1483
+ x
1484
+ 50
1485
+ /home/paul/Projects/conan/lib/conan/initializer.rb
1486
+ p
1487
+ 0
1488
+ x
1489
+ 13
1490
+ attach_method
1491
+ p
1492
+ 3
1493
+ I
1494
+ 2
1495
+ I
1496
+ 4
1497
+ I
1498
+ 1d
1499
+ x
1500
+ 50
1501
+ /home/paul/Projects/conan/lib/conan/initializer.rb
1502
+ p
1503
+ 0
1504
+ x
1505
+ 13
1506
+ attach_method
1507
+ p
1508
+ 5
1509
+ I
1510
+ 0
1511
+ I
1512
+ 1
1513
+ I
1514
+ 9
1515
+ I
1516
+ 3
1517
+ I
1518
+ 25
1519
+ x
1520
+ 50
1521
+ /home/paul/Projects/conan/lib/conan/initializer.rb
1522
+ p
1523
+ 0