conan 0.2.0 → 0.2.1

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/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