conan 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,9 +1,109 @@
1
- Conan The Deployer
1
+ Conan the Deployer
2
2
  ==================
3
3
 
4
- Conan will set up a project to enable you to configure servers using Chef via Capistrano.
4
+ Conan was conceived and developed to facilitate the deployment of a Rails
5
+ application to one or more EC2 instances without the need for any additional
6
+ centralised infrastructure. It glues together Capistrano and Chef and some
7
+ common assumptions to make it easy to capture the environment of an application
8
+ in the source repository.
5
9
 
10
+ What it is
11
+ ----------
12
+
13
+ * Some Capistrano extensions
14
+ * Template files and directories
15
+
16
+ What Conan does
17
+ ---------------
18
+
19
+ Short version: it lets you set up a server and deploy your application in one line:
20
+
21
+ cap production configure deploy
22
+
23
+ Longer version:
24
+
25
+ * It creates a `Capfile` and `config/deploy.rb` for Capistrano
26
+ * It adds some files
27
+ * It adds a Git submodule with Chef cookbooks
28
+ * It knows how to merge together JSON files describing servers and roles
29
+
30
+ Assumptions:
31
+
32
+ * You have a Rails 2.3.x or 3.x.x project that uses Bundler.
33
+ * You keep your project in a Git repository.
34
+ * You have staging and production servers (this can be changed).
35
+ * You have SSH access to some Ubuntu servers and can sign in and `sudo` as `ubuntu` (this is presently a hard requirement, but is not fundamental).
36
+
37
+ How to use it
38
+ -------------
39
+
40
+ gem install conan
6
41
  cd /path/to/rails/app
7
42
  conan init
8
43
 
9
- Follow the instructions to complete configuration.
44
+ Follow the instructions to complete configuration: this mainly consists of
45
+ editing TODOs in newly added files. See the section *Roles and configuration*
46
+ below for more details.
47
+
48
+ To set up the server using Chef Solo, use:
49
+
50
+ cap staging configure
51
+
52
+ And to deploy (including running migrations):
53
+
54
+ cap staging deploy
55
+
56
+ Stages
57
+ ------
58
+
59
+ The default configuration assumes that you have a staging and production server
60
+ (or servers), and that you deploy the `master` branch to staging, test staging,
61
+ and deploy the same branch to production. To achieve this, Conan tags your
62
+ deployments with `(stage name).last-deploy`. If a deployment succeeds, it is
63
+ tagged with `(stage name).last-successful-deploy`. A happy deployment path is thus:
64
+
65
+ master => staging.last-deploy
66
+ staging.last-deploy => staging.last-successful-deploy
67
+ staging.last-successful-deploy => production.last-deploy
68
+ production.last-deploy => production.last-successful-deploy
69
+
70
+ Roles and configuration
71
+ -----------------------
72
+
73
+ The concept of *roles* is fundamental to Conan. `config/servers.json` describes
74
+ the available servers and their roles, whilst `deploy/chef/dna/*.json`
75
+ specifies the configuration specific to each role. The stage (`staging`,
76
+ `production`, etc.) can be considered a special case of role for practical
77
+ purposes.
78
+
79
+ Here is an example `config/servers.json`:
80
+
81
+ {
82
+ "staging": {
83
+ "ec2-A-A-A-A.compute-1.amazonaws.com": {
84
+ "roles": ["app", "db", "staging"],
85
+ "alias": "staging"
86
+ }
87
+ },
88
+ "production": {
89
+ "ec2-B-B-B-B.compute-1.amazonaws.com": {
90
+ "roles": ["app", "db", "production"],
91
+ "alias": "app1"
92
+ },
93
+ "ec2-C-C-C-C.compute-1.amazonaws.com": {
94
+ "roles": ["app", "production"],
95
+ "alias": "app2"
96
+ }
97
+ }
98
+ }
99
+
100
+ In this scenario, the configuration for the staging server will be produced by merging:
101
+
102
+ * `base.json`
103
+ * `app.json`
104
+ * `db.json`
105
+ * `staging.json`
106
+
107
+ Furthermore, this server will have the `app` and `db` roles in Capistrano, with
108
+ the usual meanings: the application will be deployed on this server, and the
109
+ database migrations will be run.
@@ -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/recipes/cookbooks/bootstrap/bootstrap.sh"
64
+ run "sudo env INSTALL_RUBY=#{ruby_version} /etc/chef/recipes/cookbooks/bootstrap/bootstrap.sh"
65
65
  end
66
66
  end
67
67
 
@@ -40,6 +40,7 @@ set :keep_releases, 5
40
40
  set :scm, "git"
41
41
  set :user, "rails"
42
42
  set :deploy_to, "/mnt/#{application}"
43
+ set :ruby_version, "1.9.2"
43
44
 
44
45
  # Let Conan take over
45
46
  require "conan/version"
@@ -1,3 +1,3 @@
1
1
  module Conan
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: conan
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
5
- prerelease: false
4
+ hash: 21
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 0
10
- version: 0.2.0
9
+ - 1
10
+ version: 0.2.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Paul Battley
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-08-18 00:00:00 +01:00
18
+ date: 2011-09-29 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -43,34 +43,31 @@ extra_rdoc_files: []
43
43
 
44
44
  files:
45
45
  - bin/conan
46
- - lib/conan/settings.rb
47
46
  - lib/conan/capistrano.rb
48
- - lib/conan/smart_hash_merge.rb
49
- - lib/conan/deployment/git.rb
50
47
  - lib/conan/deployment/chef.rb
51
48
  - lib/conan/deployment/deploy.rb
52
- - lib/conan/settings.rbc
49
+ - lib/conan/deployment/git.rb
53
50
  - lib/conan/deployment.rb
54
- - lib/conan/template/config/servers.json
51
+ - lib/conan/initializer.rb
52
+ - lib/conan/settings.rb
53
+ - lib/conan/smart_hash_merge.rb
54
+ - lib/conan/template/Capfile
55
+ - lib/conan/template/CONAN_TODO
55
56
  - lib/conan/template/config/deploy.rb
56
- - lib/conan/template/deploy/chef/dna/base.json
57
- - lib/conan/template/deploy/chef/dna/staging.json
57
+ - lib/conan/template/config/servers.json
58
58
  - lib/conan/template/deploy/chef/dna/app.json
59
+ - lib/conan/template/deploy/chef/dna/base.json
59
60
  - lib/conan/template/deploy/chef/dna/production.json
60
- - lib/conan/template/deploy/chef/solo.rb
61
- - lib/conan/template/deploy/chef/recipes/config/server.rb
62
- - lib/conan/template/deploy/chef/recipes/config/rake.rb
61
+ - lib/conan/template/deploy/chef/dna/staging.json
62
+ - lib/conan/template/deploy/chef/recipes/certificates/README
63
63
  - lib/conan/template/deploy/chef/recipes/config/client.rb
64
+ - lib/conan/template/deploy/chef/recipes/config/rake.rb
65
+ - lib/conan/template/deploy/chef/recipes/config/server.rb
64
66
  - lib/conan/template/deploy/chef/recipes/config/solo.rb
65
67
  - lib/conan/template/deploy/chef/recipes/Rakefile
66
- - lib/conan/template/deploy/chef/recipes/certificates/README
67
68
  - lib/conan/template/deploy/chef/recipes/site-cookbooks/README
68
- - lib/conan/template/CONAN_TODO
69
- - lib/conan/template/Capfile
69
+ - lib/conan/template/deploy/chef/solo.rb
70
70
  - lib/conan/version.rb
71
- - lib/conan/version.rbc
72
- - lib/conan/initializer.rb
73
- - lib/conan/initializer.rbc
74
71
  - README.md
75
72
  has_rdoc: true
76
73
  homepage: http://github.com/madebymany/conan
@@ -102,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
99
  requirements: []
103
100
 
104
101
  rubyforge_project:
105
- rubygems_version: 1.3.7
102
+ rubygems_version: 1.5.3
106
103
  signing_key:
107
104
  specification_version: 3
108
105
  summary: Conan The Deployer
@@ -1,1523 +0,0 @@
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