nucleon 0.2.2 → 0.2.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.
Files changed (400) hide show
  1. checksums.yaml +7 -7
  2. data/.gitignore +50 -0
  3. data/ARCHITECTURE.rdoc +12 -11
  4. data/Gemfile +7 -11
  5. data/Gemfile.lock +47 -70
  6. data/Rakefile +22 -20
  7. data/TODO.rdoc +1 -1
  8. data/VERSION +1 -1
  9. data/bin/nucleon +16 -15
  10. data/lib/core/codes.rb +65 -38
  11. data/lib/core/config.rb +774 -153
  12. data/lib/core/config/collection.rb +134 -25
  13. data/lib/core/config/options.rb +160 -36
  14. data/lib/core/core.rb +207 -45
  15. data/lib/core/environment.rb +626 -206
  16. data/lib/core/facade.rb +211 -185
  17. data/lib/core/gems.rb +60 -44
  18. data/lib/core/manager.rb +587 -237
  19. data/lib/core/mixin/colors.rb +66 -36
  20. data/lib/core/mixin/config/collection.rb +58 -23
  21. data/lib/core/mixin/config/options.rb +67 -24
  22. data/lib/core/mixin/macro/object_interface.rb +129 -135
  23. data/lib/core/mixin/macro/plugin_interface.rb +118 -124
  24. data/lib/core/mixin/settings.rb +7 -13
  25. data/lib/core/mixin/sub_config.rb +37 -43
  26. data/lib/core/mod/hash.rb +31 -10
  27. data/lib/core/plugin/action.rb +274 -238
  28. data/lib/core/plugin/base.rb +140 -132
  29. data/lib/core/plugin/project.rb +316 -311
  30. data/lib/core/util/cli.rb +146 -146
  31. data/lib/core/util/console.rb +567 -124
  32. data/lib/core/util/data.rb +654 -139
  33. data/lib/core/util/logger.rb +255 -66
  34. data/lib/nucleon.rb +6 -8
  35. data/lib/nucleon_base.rb +364 -106
  36. data/nucleon.gemspec +40 -389
  37. data/spec/core/codes_spec.rb +209 -0
  38. data/spec/core/config_spec.rb +810 -0
  39. data/spec/core/core_spec.rb +185 -0
  40. data/spec/core/environment_spec.rb +148 -0
  41. data/spec/core/util/console_spec.rb +254 -446
  42. data/spec/nucleon/test.rb +59 -0
  43. data/spec/nucleon/test/first.rb +28 -0
  44. data/spec/nucleon/test/second.rb +28 -0
  45. data/spec/nucleon_codes.rb +98 -0
  46. data/spec/nucleon_config.rb +523 -0
  47. data/spec/nucleon_plugin.rb +439 -0
  48. data/spec/nucleon_test.rb +34 -0
  49. data/spec/spec_helper.rb +6 -4
  50. metadata +157 -615
  51. data/.document +0 -5
  52. data/rdoc/site/0.1.19/ARCHITECTURE_rdoc.html +0 -634
  53. data/rdoc/site/0.1.19/Hash.html +0 -347
  54. data/rdoc/site/0.1.19/Kernel.html +0 -413
  55. data/rdoc/site/0.1.19/Nucleon.html +0 -570
  56. data/rdoc/site/0.1.19/Nucleon/Action.html +0 -280
  57. data/rdoc/site/0.1.19/Nucleon/Action/Add.html +0 -458
  58. data/rdoc/site/0.1.19/Nucleon/Action/Create.html +0 -415
  59. data/rdoc/site/0.1.19/Nucleon/Action/Extract.html +0 -413
  60. data/rdoc/site/0.1.19/Nucleon/Action/Remove.html +0 -461
  61. data/rdoc/site/0.1.19/Nucleon/Action/Save.html +0 -434
  62. data/rdoc/site/0.1.19/Nucleon/Action/Update.html +0 -381
  63. data/rdoc/site/0.1.19/Nucleon/Codes.html +0 -563
  64. data/rdoc/site/0.1.19/Nucleon/Command.html +0 -275
  65. data/rdoc/site/0.1.19/Nucleon/Command/Bash.html +0 -544
  66. data/rdoc/site/0.1.19/Nucleon/Config.html +0 -1623
  67. data/rdoc/site/0.1.19/Nucleon/Config/Collection.html +0 -509
  68. data/rdoc/site/0.1.19/Nucleon/Config/Options.html +0 -489
  69. data/rdoc/site/0.1.19/Nucleon/Core.html +0 -635
  70. data/rdoc/site/0.1.19/Nucleon/Errors.html +0 -275
  71. data/rdoc/site/0.1.19/Nucleon/Errors/BatchError.html +0 -281
  72. data/rdoc/site/0.1.19/Nucleon/Errors/NucleonError.html +0 -657
  73. data/rdoc/site/0.1.19/Nucleon/Errors/SSHUnavailable.html +0 -281
  74. data/rdoc/site/0.1.19/Nucleon/Event.html +0 -275
  75. data/rdoc/site/0.1.19/Nucleon/Event/Regex.html +0 -467
  76. data/rdoc/site/0.1.19/Nucleon/Facade.html +0 -2336
  77. data/rdoc/site/0.1.19/Nucleon/Gems.html +0 -635
  78. data/rdoc/site/0.1.19/Nucleon/Manager.html +0 -1828
  79. data/rdoc/site/0.1.19/Nucleon/Mixin.html +0 -284
  80. data/rdoc/site/0.1.19/Nucleon/Mixin/Action.html +0 -277
  81. data/rdoc/site/0.1.19/Nucleon/Mixin/Action/Commit.html +0 -381
  82. data/rdoc/site/0.1.19/Nucleon/Mixin/Action/Project.html +0 -395
  83. data/rdoc/site/0.1.19/Nucleon/Mixin/Action/Push.html +0 -371
  84. data/rdoc/site/0.1.19/Nucleon/Mixin/Colors.html +0 -545
  85. data/rdoc/site/0.1.19/Nucleon/Mixin/ConfigCollection.html +0 -481
  86. data/rdoc/site/0.1.19/Nucleon/Mixin/ConfigOptions.html +0 -449
  87. data/rdoc/site/0.1.19/Nucleon/Mixin/Macro.html +0 -276
  88. data/rdoc/site/0.1.19/Nucleon/Mixin/Macro/ObjectInterface.html +0 -695
  89. data/rdoc/site/0.1.19/Nucleon/Mixin/Macro/PluginInterface.html +0 -682
  90. data/rdoc/site/0.1.19/Nucleon/Mixin/Settings.html +0 -481
  91. data/rdoc/site/0.1.19/Nucleon/Mixin/SubConfig.html +0 -887
  92. data/rdoc/site/0.1.19/Nucleon/Parallel.html +0 -325
  93. data/rdoc/site/0.1.19/Nucleon/Parallel/ClassMethods.html +0 -325
  94. data/rdoc/site/0.1.19/Nucleon/Parallel/InstanceMethods.html +0 -334
  95. data/rdoc/site/0.1.19/Nucleon/Plugin.html +0 -282
  96. data/rdoc/site/0.1.19/Nucleon/Plugin/Action.html +0 -1368
  97. data/rdoc/site/0.1.19/Nucleon/Plugin/Action/Option.html +0 -459
  98. data/rdoc/site/0.1.19/Nucleon/Plugin/Base.html +0 -1737
  99. data/rdoc/site/0.1.19/Nucleon/Plugin/Command.html +0 -721
  100. data/rdoc/site/0.1.19/Nucleon/Plugin/Event.html +0 -442
  101. data/rdoc/site/0.1.19/Nucleon/Plugin/Extension.html +0 -281
  102. data/rdoc/site/0.1.19/Nucleon/Plugin/Project.html +0 -2864
  103. data/rdoc/site/0.1.19/Nucleon/Plugin/Template.html +0 -476
  104. data/rdoc/site/0.1.19/Nucleon/Plugin/Translator.html +0 -371
  105. data/rdoc/site/0.1.19/Nucleon/Project.html +0 -276
  106. data/rdoc/site/0.1.19/Nucleon/Project/Git.html +0 -1801
  107. data/rdoc/site/0.1.19/Nucleon/Project/Github.html +0 -549
  108. data/rdoc/site/0.1.19/Nucleon/Template.html +0 -277
  109. data/rdoc/site/0.1.19/Nucleon/Template/Json.html +0 -329
  110. data/rdoc/site/0.1.19/Nucleon/Template/Wrapper.html +0 -329
  111. data/rdoc/site/0.1.19/Nucleon/Template/Yaml.html +0 -329
  112. data/rdoc/site/0.1.19/Nucleon/Translator.html +0 -276
  113. data/rdoc/site/0.1.19/Nucleon/Translator/Json.html +0 -366
  114. data/rdoc/site/0.1.19/Nucleon/Translator/Yaml.html +0 -366
  115. data/rdoc/site/0.1.19/Nucleon/Util.html +0 -285
  116. data/rdoc/site/0.1.19/Nucleon/Util/CLI.html +0 -388
  117. data/rdoc/site/0.1.19/Nucleon/Util/CLI/Parser.html +0 -1183
  118. data/rdoc/site/0.1.19/Nucleon/Util/Cache.html +0 -780
  119. data/rdoc/site/0.1.19/Nucleon/Util/Console.html +0 -1294
  120. data/rdoc/site/0.1.19/Nucleon/Util/Data.html +0 -1399
  121. data/rdoc/site/0.1.19/Nucleon/Util/Disk.html +0 -522
  122. data/rdoc/site/0.1.19/Nucleon/Util/Git.html +0 -361
  123. data/rdoc/site/0.1.19/Nucleon/Util/Liquid.html +0 -365
  124. data/rdoc/site/0.1.19/Nucleon/Util/Logger.html +0 -806
  125. data/rdoc/site/0.1.19/Nucleon/Util/Package.html +0 -558
  126. data/rdoc/site/0.1.19/Nucleon/Util/SSH.html +0 -910
  127. data/rdoc/site/0.1.19/Nucleon/Util/SSH/Keypair.html +0 -453
  128. data/rdoc/site/0.1.19/Nucleon/Util/Shell.html +0 -686
  129. data/rdoc/site/0.1.19/Nucleon/Util/Shell/Result.html +0 -497
  130. data/rdoc/site/0.1.19/README_rdoc.html +0 -312
  131. data/rdoc/site/0.1.19/TODO_rdoc.html +0 -267
  132. data/rdoc/site/0.1.19/created.rid +0 -60
  133. data/rdoc/site/0.1.19/images/add.png +0 -0
  134. data/rdoc/site/0.1.19/images/brick.png +0 -0
  135. data/rdoc/site/0.1.19/images/brick_link.png +0 -0
  136. data/rdoc/site/0.1.19/images/bug.png +0 -0
  137. data/rdoc/site/0.1.19/images/bullet_black.png +0 -0
  138. data/rdoc/site/0.1.19/images/bullet_toggle_minus.png +0 -0
  139. data/rdoc/site/0.1.19/images/bullet_toggle_plus.png +0 -0
  140. data/rdoc/site/0.1.19/images/date.png +0 -0
  141. data/rdoc/site/0.1.19/images/delete.png +0 -0
  142. data/rdoc/site/0.1.19/images/find.png +0 -0
  143. data/rdoc/site/0.1.19/images/loadingAnimation.gif +0 -0
  144. data/rdoc/site/0.1.19/images/macFFBgHack.png +0 -0
  145. data/rdoc/site/0.1.19/images/package.png +0 -0
  146. data/rdoc/site/0.1.19/images/page_green.png +0 -0
  147. data/rdoc/site/0.1.19/images/page_white_text.png +0 -0
  148. data/rdoc/site/0.1.19/images/page_white_width.png +0 -0
  149. data/rdoc/site/0.1.19/images/plugin.png +0 -0
  150. data/rdoc/site/0.1.19/images/ruby.png +0 -0
  151. data/rdoc/site/0.1.19/images/tag_blue.png +0 -0
  152. data/rdoc/site/0.1.19/images/tag_green.png +0 -0
  153. data/rdoc/site/0.1.19/images/transparent.png +0 -0
  154. data/rdoc/site/0.1.19/images/wrench.png +0 -0
  155. data/rdoc/site/0.1.19/images/wrench_orange.png +0 -0
  156. data/rdoc/site/0.1.19/images/zoom.png +0 -0
  157. data/rdoc/site/0.1.19/index.html +0 -311
  158. data/rdoc/site/0.1.19/js/darkfish.js +0 -155
  159. data/rdoc/site/0.1.19/js/jquery.js +0 -18
  160. data/rdoc/site/0.1.19/js/navigation.js +0 -142
  161. data/rdoc/site/0.1.19/js/search.js +0 -94
  162. data/rdoc/site/0.1.19/js/search_index.js +0 -1
  163. data/rdoc/site/0.1.19/js/searcher.js +0 -228
  164. data/rdoc/site/0.1.19/rdoc.css +0 -543
  165. data/rdoc/site/0.1.19/table_of_contents.html +0 -1541
  166. data/rdoc/site/0.2.0/ARCHITECTURE_rdoc.html +0 -638
  167. data/rdoc/site/0.2.0/Hash.html +0 -351
  168. data/rdoc/site/0.2.0/Kernel.html +0 -416
  169. data/rdoc/site/0.2.0/Nucleon.html +0 -607
  170. data/rdoc/site/0.2.0/Nucleon/Action.html +0 -284
  171. data/rdoc/site/0.2.0/Nucleon/Action/Extract.html +0 -455
  172. data/rdoc/site/0.2.0/Nucleon/Action/Project.html +0 -283
  173. data/rdoc/site/0.2.0/Nucleon/Action/Project/Add.html +0 -500
  174. data/rdoc/site/0.2.0/Nucleon/Action/Project/Create.html +0 -457
  175. data/rdoc/site/0.2.0/Nucleon/Action/Project/Remove.html +0 -503
  176. data/rdoc/site/0.2.0/Nucleon/Action/Project/Save.html +0 -476
  177. data/rdoc/site/0.2.0/Nucleon/Action/Project/Update.html +0 -423
  178. data/rdoc/site/0.2.0/Nucleon/Codes.html +0 -567
  179. data/rdoc/site/0.2.0/Nucleon/Command.html +0 -279
  180. data/rdoc/site/0.2.0/Nucleon/Command/Bash.html +0 -548
  181. data/rdoc/site/0.2.0/Nucleon/Config.html +0 -1631
  182. data/rdoc/site/0.2.0/Nucleon/Config/Collection.html +0 -513
  183. data/rdoc/site/0.2.0/Nucleon/Config/Options.html +0 -493
  184. data/rdoc/site/0.2.0/Nucleon/Core.html +0 -639
  185. data/rdoc/site/0.2.0/Nucleon/Environment.html +0 -1208
  186. data/rdoc/site/0.2.0/Nucleon/Errors.html +0 -279
  187. data/rdoc/site/0.2.0/Nucleon/Errors/BatchError.html +0 -285
  188. data/rdoc/site/0.2.0/Nucleon/Errors/NucleonError.html +0 -661
  189. data/rdoc/site/0.2.0/Nucleon/Errors/SSHUnavailable.html +0 -285
  190. data/rdoc/site/0.2.0/Nucleon/Event.html +0 -279
  191. data/rdoc/site/0.2.0/Nucleon/Event/Regex.html +0 -471
  192. data/rdoc/site/0.2.0/Nucleon/Facade.html +0 -2409
  193. data/rdoc/site/0.2.0/Nucleon/Gems.html +0 -639
  194. data/rdoc/site/0.2.0/Nucleon/Manager.html +0 -1860
  195. data/rdoc/site/0.2.0/Nucleon/Mixin.html +0 -288
  196. data/rdoc/site/0.2.0/Nucleon/Mixin/Action.html +0 -281
  197. data/rdoc/site/0.2.0/Nucleon/Mixin/Action/Commit.html +0 -385
  198. data/rdoc/site/0.2.0/Nucleon/Mixin/Action/Project.html +0 -399
  199. data/rdoc/site/0.2.0/Nucleon/Mixin/Action/Push.html +0 -375
  200. data/rdoc/site/0.2.0/Nucleon/Mixin/Colors.html +0 -549
  201. data/rdoc/site/0.2.0/Nucleon/Mixin/ConfigCollection.html +0 -485
  202. data/rdoc/site/0.2.0/Nucleon/Mixin/ConfigOptions.html +0 -453
  203. data/rdoc/site/0.2.0/Nucleon/Mixin/Macro.html +0 -280
  204. data/rdoc/site/0.2.0/Nucleon/Mixin/Macro/ObjectInterface.html +0 -699
  205. data/rdoc/site/0.2.0/Nucleon/Mixin/Macro/PluginInterface.html +0 -686
  206. data/rdoc/site/0.2.0/Nucleon/Mixin/Settings.html +0 -485
  207. data/rdoc/site/0.2.0/Nucleon/Mixin/SubConfig.html +0 -891
  208. data/rdoc/site/0.2.0/Nucleon/Parallel.html +0 -330
  209. data/rdoc/site/0.2.0/Nucleon/Parallel/ClassMethods.html +0 -329
  210. data/rdoc/site/0.2.0/Nucleon/Parallel/InstanceMethods.html +0 -456
  211. data/rdoc/site/0.2.0/Nucleon/Plugin.html +0 -286
  212. data/rdoc/site/0.2.0/Nucleon/Plugin/Action.html +0 -1829
  213. data/rdoc/site/0.2.0/Nucleon/Plugin/Action/Option.html +0 -463
  214. data/rdoc/site/0.2.0/Nucleon/Plugin/Base.html +0 -1803
  215. data/rdoc/site/0.2.0/Nucleon/Plugin/Command.html +0 -725
  216. data/rdoc/site/0.2.0/Nucleon/Plugin/Event.html +0 -446
  217. data/rdoc/site/0.2.0/Nucleon/Plugin/Extension.html +0 -285
  218. data/rdoc/site/0.2.0/Nucleon/Plugin/Project.html +0 -2898
  219. data/rdoc/site/0.2.0/Nucleon/Plugin/Template.html +0 -480
  220. data/rdoc/site/0.2.0/Nucleon/Plugin/Translator.html +0 -375
  221. data/rdoc/site/0.2.0/Nucleon/Project.html +0 -280
  222. data/rdoc/site/0.2.0/Nucleon/Project/Git.html +0 -1805
  223. data/rdoc/site/0.2.0/Nucleon/Project/Github.html +0 -553
  224. data/rdoc/site/0.2.0/Nucleon/Template.html +0 -281
  225. data/rdoc/site/0.2.0/Nucleon/Template/JSON.html +0 -333
  226. data/rdoc/site/0.2.0/Nucleon/Template/Wrapper.html +0 -333
  227. data/rdoc/site/0.2.0/Nucleon/Template/YAML.html +0 -333
  228. data/rdoc/site/0.2.0/Nucleon/Translator.html +0 -280
  229. data/rdoc/site/0.2.0/Nucleon/Translator/JSON.html +0 -370
  230. data/rdoc/site/0.2.0/Nucleon/Translator/YAML.html +0 -370
  231. data/rdoc/site/0.2.0/Nucleon/Util.html +0 -289
  232. data/rdoc/site/0.2.0/Nucleon/Util/CLI.html +0 -392
  233. data/rdoc/site/0.2.0/Nucleon/Util/CLI/Parser.html +0 -1250
  234. data/rdoc/site/0.2.0/Nucleon/Util/Cache.html +0 -784
  235. data/rdoc/site/0.2.0/Nucleon/Util/Console.html +0 -1318
  236. data/rdoc/site/0.2.0/Nucleon/Util/Data.html +0 -1411
  237. data/rdoc/site/0.2.0/Nucleon/Util/Disk.html +0 -526
  238. data/rdoc/site/0.2.0/Nucleon/Util/Git.html +0 -365
  239. data/rdoc/site/0.2.0/Nucleon/Util/Liquid.html +0 -369
  240. data/rdoc/site/0.2.0/Nucleon/Util/Logger.html +0 -810
  241. data/rdoc/site/0.2.0/Nucleon/Util/Package.html +0 -562
  242. data/rdoc/site/0.2.0/Nucleon/Util/SSH.html +0 -1033
  243. data/rdoc/site/0.2.0/Nucleon/Util/SSH/Keypair.html +0 -605
  244. data/rdoc/site/0.2.0/Nucleon/Util/Shell.html +0 -693
  245. data/rdoc/site/0.2.0/Nucleon/Util/Shell/Result.html +0 -501
  246. data/rdoc/site/0.2.0/README_rdoc.html +0 -316
  247. data/rdoc/site/0.2.0/TODO_rdoc.html +0 -265
  248. data/rdoc/site/0.2.0/created.rid +0 -61
  249. data/rdoc/site/0.2.0/images/add.png +0 -0
  250. data/rdoc/site/0.2.0/images/brick.png +0 -0
  251. data/rdoc/site/0.2.0/images/brick_link.png +0 -0
  252. data/rdoc/site/0.2.0/images/bug.png +0 -0
  253. data/rdoc/site/0.2.0/images/bullet_black.png +0 -0
  254. data/rdoc/site/0.2.0/images/bullet_toggle_minus.png +0 -0
  255. data/rdoc/site/0.2.0/images/bullet_toggle_plus.png +0 -0
  256. data/rdoc/site/0.2.0/images/date.png +0 -0
  257. data/rdoc/site/0.2.0/images/delete.png +0 -0
  258. data/rdoc/site/0.2.0/images/find.png +0 -0
  259. data/rdoc/site/0.2.0/images/loadingAnimation.gif +0 -0
  260. data/rdoc/site/0.2.0/images/macFFBgHack.png +0 -0
  261. data/rdoc/site/0.2.0/images/package.png +0 -0
  262. data/rdoc/site/0.2.0/images/page_green.png +0 -0
  263. data/rdoc/site/0.2.0/images/page_white_text.png +0 -0
  264. data/rdoc/site/0.2.0/images/page_white_width.png +0 -0
  265. data/rdoc/site/0.2.0/images/plugin.png +0 -0
  266. data/rdoc/site/0.2.0/images/ruby.png +0 -0
  267. data/rdoc/site/0.2.0/images/tag_blue.png +0 -0
  268. data/rdoc/site/0.2.0/images/tag_green.png +0 -0
  269. data/rdoc/site/0.2.0/images/transparent.png +0 -0
  270. data/rdoc/site/0.2.0/images/wrench.png +0 -0
  271. data/rdoc/site/0.2.0/images/wrench_orange.png +0 -0
  272. data/rdoc/site/0.2.0/images/zoom.png +0 -0
  273. data/rdoc/site/0.2.0/index.html +0 -315
  274. data/rdoc/site/0.2.0/js/darkfish.js +0 -155
  275. data/rdoc/site/0.2.0/js/jquery.js +0 -18
  276. data/rdoc/site/0.2.0/js/navigation.js +0 -142
  277. data/rdoc/site/0.2.0/js/search.js +0 -94
  278. data/rdoc/site/0.2.0/js/search_index.js +0 -1
  279. data/rdoc/site/0.2.0/js/searcher.js +0 -228
  280. data/rdoc/site/0.2.0/rdoc.css +0 -543
  281. data/rdoc/site/0.2.0/table_of_contents.html +0 -1657
  282. data/rdoc/site/0.2.1/ARCHITECTURE_rdoc.html +0 -640
  283. data/rdoc/site/0.2.1/Hash.html +0 -353
  284. data/rdoc/site/0.2.1/Kernel.html +0 -420
  285. data/rdoc/site/0.2.1/Nucleon.html +0 -674
  286. data/rdoc/site/0.2.1/Nucleon/Action.html +0 -286
  287. data/rdoc/site/0.2.1/Nucleon/Action/Extract.html +0 -457
  288. data/rdoc/site/0.2.1/Nucleon/Action/Project.html +0 -285
  289. data/rdoc/site/0.2.1/Nucleon/Action/Project/Add.html +0 -502
  290. data/rdoc/site/0.2.1/Nucleon/Action/Project/Create.html +0 -459
  291. data/rdoc/site/0.2.1/Nucleon/Action/Project/Remove.html +0 -505
  292. data/rdoc/site/0.2.1/Nucleon/Action/Project/Save.html +0 -478
  293. data/rdoc/site/0.2.1/Nucleon/Action/Project/Update.html +0 -425
  294. data/rdoc/site/0.2.1/Nucleon/Codes.html +0 -569
  295. data/rdoc/site/0.2.1/Nucleon/Command.html +0 -281
  296. data/rdoc/site/0.2.1/Nucleon/Command/Bash.html +0 -550
  297. data/rdoc/site/0.2.1/Nucleon/Config.html +0 -1634
  298. data/rdoc/site/0.2.1/Nucleon/Config/Collection.html +0 -515
  299. data/rdoc/site/0.2.1/Nucleon/Config/Options.html +0 -495
  300. data/rdoc/site/0.2.1/Nucleon/Core.html +0 -641
  301. data/rdoc/site/0.2.1/Nucleon/Environment.html +0 -1210
  302. data/rdoc/site/0.2.1/Nucleon/Errors.html +0 -281
  303. data/rdoc/site/0.2.1/Nucleon/Errors/BatchError.html +0 -287
  304. data/rdoc/site/0.2.1/Nucleon/Errors/NucleonError.html +0 -663
  305. data/rdoc/site/0.2.1/Nucleon/Errors/SSHUnavailable.html +0 -287
  306. data/rdoc/site/0.2.1/Nucleon/Event.html +0 -281
  307. data/rdoc/site/0.2.1/Nucleon/Event/Regex.html +0 -473
  308. data/rdoc/site/0.2.1/Nucleon/Facade.html +0 -2452
  309. data/rdoc/site/0.2.1/Nucleon/Gems.html +0 -641
  310. data/rdoc/site/0.2.1/Nucleon/Manager.html +0 -1862
  311. data/rdoc/site/0.2.1/Nucleon/Mixin.html +0 -291
  312. data/rdoc/site/0.2.1/Nucleon/Mixin/Action.html +0 -284
  313. data/rdoc/site/0.2.1/Nucleon/Mixin/Action/Commit.html +0 -387
  314. data/rdoc/site/0.2.1/Nucleon/Mixin/Action/Project.html +0 -401
  315. data/rdoc/site/0.2.1/Nucleon/Mixin/Action/Push.html +0 -377
  316. data/rdoc/site/0.2.1/Nucleon/Mixin/Action/Registration.html +0 -575
  317. data/rdoc/site/0.2.1/Nucleon/Mixin/Colors.html +0 -551
  318. data/rdoc/site/0.2.1/Nucleon/Mixin/ConfigCollection.html +0 -487
  319. data/rdoc/site/0.2.1/Nucleon/Mixin/ConfigOptions.html +0 -455
  320. data/rdoc/site/0.2.1/Nucleon/Mixin/Macro.html +0 -282
  321. data/rdoc/site/0.2.1/Nucleon/Mixin/Macro/ObjectInterface.html +0 -701
  322. data/rdoc/site/0.2.1/Nucleon/Mixin/Macro/PluginInterface.html +0 -688
  323. data/rdoc/site/0.2.1/Nucleon/Mixin/Settings.html +0 -487
  324. data/rdoc/site/0.2.1/Nucleon/Mixin/SubConfig.html +0 -893
  325. data/rdoc/site/0.2.1/Nucleon/Parallel.html +0 -332
  326. data/rdoc/site/0.2.1/Nucleon/Parallel/ClassMethods.html +0 -331
  327. data/rdoc/site/0.2.1/Nucleon/Parallel/InstanceMethods.html +0 -458
  328. data/rdoc/site/0.2.1/Nucleon/Plugin.html +0 -288
  329. data/rdoc/site/0.2.1/Nucleon/Plugin/Action.html +0 -2133
  330. data/rdoc/site/0.2.1/Nucleon/Plugin/Action/Option.html +0 -465
  331. data/rdoc/site/0.2.1/Nucleon/Plugin/Base.html +0 -1988
  332. data/rdoc/site/0.2.1/Nucleon/Plugin/Command.html +0 -765
  333. data/rdoc/site/0.2.1/Nucleon/Plugin/Event.html +0 -448
  334. data/rdoc/site/0.2.1/Nucleon/Plugin/Extension.html +0 -287
  335. data/rdoc/site/0.2.1/Nucleon/Plugin/Project.html +0 -2900
  336. data/rdoc/site/0.2.1/Nucleon/Plugin/Template.html +0 -482
  337. data/rdoc/site/0.2.1/Nucleon/Plugin/Translator.html +0 -377
  338. data/rdoc/site/0.2.1/Nucleon/Project.html +0 -282
  339. data/rdoc/site/0.2.1/Nucleon/Project/Git.html +0 -1807
  340. data/rdoc/site/0.2.1/Nucleon/Project/Github.html +0 -555
  341. data/rdoc/site/0.2.1/Nucleon/Template.html +0 -283
  342. data/rdoc/site/0.2.1/Nucleon/Template/JSON.html +0 -335
  343. data/rdoc/site/0.2.1/Nucleon/Template/Wrapper.html +0 -335
  344. data/rdoc/site/0.2.1/Nucleon/Template/YAML.html +0 -335
  345. data/rdoc/site/0.2.1/Nucleon/Translator.html +0 -282
  346. data/rdoc/site/0.2.1/Nucleon/Translator/JSON.html +0 -372
  347. data/rdoc/site/0.2.1/Nucleon/Translator/YAML.html +0 -372
  348. data/rdoc/site/0.2.1/Nucleon/Util.html +0 -291
  349. data/rdoc/site/0.2.1/Nucleon/Util/CLI.html +0 -394
  350. data/rdoc/site/0.2.1/Nucleon/Util/CLI/Parser.html +0 -1404
  351. data/rdoc/site/0.2.1/Nucleon/Util/Cache.html +0 -824
  352. data/rdoc/site/0.2.1/Nucleon/Util/Console.html +0 -1330
  353. data/rdoc/site/0.2.1/Nucleon/Util/Data.html +0 -1423
  354. data/rdoc/site/0.2.1/Nucleon/Util/Disk.html +0 -528
  355. data/rdoc/site/0.2.1/Nucleon/Util/Git.html +0 -367
  356. data/rdoc/site/0.2.1/Nucleon/Util/Liquid.html +0 -371
  357. data/rdoc/site/0.2.1/Nucleon/Util/Logger.html +0 -822
  358. data/rdoc/site/0.2.1/Nucleon/Util/Package.html +0 -564
  359. data/rdoc/site/0.2.1/Nucleon/Util/SSH.html +0 -1036
  360. data/rdoc/site/0.2.1/Nucleon/Util/SSH/Keypair.html +0 -607
  361. data/rdoc/site/0.2.1/Nucleon/Util/Shell.html +0 -697
  362. data/rdoc/site/0.2.1/Nucleon/Util/Shell/Result.html +0 -503
  363. data/rdoc/site/0.2.1/README_rdoc.html +0 -318
  364. data/rdoc/site/0.2.1/TODO_rdoc.html +0 -267
  365. data/rdoc/site/0.2.1/created.rid +0 -62
  366. data/rdoc/site/0.2.1/images/add.png +0 -0
  367. data/rdoc/site/0.2.1/images/brick.png +0 -0
  368. data/rdoc/site/0.2.1/images/brick_link.png +0 -0
  369. data/rdoc/site/0.2.1/images/bug.png +0 -0
  370. data/rdoc/site/0.2.1/images/bullet_black.png +0 -0
  371. data/rdoc/site/0.2.1/images/bullet_toggle_minus.png +0 -0
  372. data/rdoc/site/0.2.1/images/bullet_toggle_plus.png +0 -0
  373. data/rdoc/site/0.2.1/images/date.png +0 -0
  374. data/rdoc/site/0.2.1/images/delete.png +0 -0
  375. data/rdoc/site/0.2.1/images/find.png +0 -0
  376. data/rdoc/site/0.2.1/images/loadingAnimation.gif +0 -0
  377. data/rdoc/site/0.2.1/images/macFFBgHack.png +0 -0
  378. data/rdoc/site/0.2.1/images/package.png +0 -0
  379. data/rdoc/site/0.2.1/images/page_green.png +0 -0
  380. data/rdoc/site/0.2.1/images/page_white_text.png +0 -0
  381. data/rdoc/site/0.2.1/images/page_white_width.png +0 -0
  382. data/rdoc/site/0.2.1/images/plugin.png +0 -0
  383. data/rdoc/site/0.2.1/images/ruby.png +0 -0
  384. data/rdoc/site/0.2.1/images/tag_blue.png +0 -0
  385. data/rdoc/site/0.2.1/images/tag_green.png +0 -0
  386. data/rdoc/site/0.2.1/images/transparent.png +0 -0
  387. data/rdoc/site/0.2.1/images/wrench.png +0 -0
  388. data/rdoc/site/0.2.1/images/wrench_orange.png +0 -0
  389. data/rdoc/site/0.2.1/images/zoom.png +0 -0
  390. data/rdoc/site/0.2.1/index.html +0 -317
  391. data/rdoc/site/0.2.1/js/darkfish.js +0 -155
  392. data/rdoc/site/0.2.1/js/jquery.js +0 -18
  393. data/rdoc/site/0.2.1/js/navigation.js +0 -142
  394. data/rdoc/site/0.2.1/js/search.js +0 -94
  395. data/rdoc/site/0.2.1/js/search_index.js +0 -1
  396. data/rdoc/site/0.2.1/js/searcher.js +0 -228
  397. data/rdoc/site/0.2.1/rdoc.css +0 -543
  398. data/rdoc/site/0.2.1/table_of_contents.html +0 -1718
  399. data/spec/coral_mock_input.rb +0 -29
  400. data/spec/coral_test_kernel.rb +0 -22
@@ -1,2900 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
-
7
- <title>class Nucleon::Plugin::Project - nucleon 0.2.1</title>
8
-
9
- <link type="text/css" media="screen" href="../../rdoc.css" rel="stylesheet">
10
-
11
- <script type="text/javascript">
12
- var rdoc_rel_prefix = "../../";
13
- </script>
14
-
15
- <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
16
- <script type="text/javascript" charset="utf-8" src="../../js/navigation.js"></script>
17
- <script type="text/javascript" charset="utf-8" src="../../js/search_index.js"></script>
18
- <script type="text/javascript" charset="utf-8" src="../../js/search.js"></script>
19
- <script type="text/javascript" charset="utf-8" src="../../js/searcher.js"></script>
20
- <script type="text/javascript" charset="utf-8" src="../../js/darkfish.js"></script>
21
-
22
-
23
- <body id="top" class="class">
24
- <nav id="metadata">
25
- <nav id="home-section" class="section">
26
- <h3 class="section-header">
27
- <a href="../../index.html">Home</a>
28
- <a href="../../table_of_contents.html#classes">Classes</a>
29
- <a href="../../table_of_contents.html#methods">Methods</a>
30
- </h3>
31
- </nav>
32
-
33
-
34
- <nav id="search-section" class="section project-section" class="initially-hidden">
35
- <form action="#" method="get" accept-charset="utf-8">
36
- <h3 class="section-header">
37
- <input type="text" name="search" placeholder="Search" id="search-field"
38
- title="Type to search, Up and Down to navigate, Enter to load">
39
- </h3>
40
- </form>
41
-
42
- <ul id="search-results" class="initially-hidden"></ul>
43
- </nav>
44
-
45
-
46
- <div id="file-metadata">
47
- <nav id="file-list-section" class="section">
48
- <h3 class="section-header">Defined In</h3>
49
- <ul>
50
- <li>lib/core/plugin/project.rb
51
- </ul>
52
- </nav>
53
-
54
-
55
- </div>
56
-
57
- <div id="class-metadata">
58
-
59
- <nav id="parent-class-section" class="section">
60
- <h3 class="section-header">Parent</h3>
61
-
62
- <p class="link">Nucleon.plugin_class(:nucleon, :base)
63
-
64
- </nav>
65
-
66
-
67
- <!-- Method Quickref -->
68
- <nav id="method-list-section" class="section">
69
- <h3 class="section-header">Methods</h3>
70
-
71
- <ul class="link-list">
72
-
73
- <li><a href="#method-c-build_info">::build_info</a>
74
-
75
- <li><a href="#method-c-collection">::collection</a>
76
-
77
- <li><a href="#method-c-open">::open</a>
78
-
79
- <li><a href="#method-c-register_ids">::register_ids</a>
80
-
81
- <li><a href="#method-c-translate">::translate</a>
82
-
83
- <li><a href="#method-c-translate_reference">::translate_reference</a>
84
-
85
- <li><a href="#method-i-add_remote_url">#add_remote_url</a>
86
-
87
- <li><a href="#method-i-add_subproject">#add_subproject</a>
88
-
89
- <li><a href="#method-i-cache">#cache</a>
90
-
91
- <li><a href="#method-i-can_persist-3F">#can_persist?</a>
92
-
93
- <li><a href="#method-i-checkout">#checkout</a>
94
-
95
- <li><a href="#method-i-commit">#commit</a>
96
-
97
- <li><a href="#method-i-config">#config</a>
98
-
99
- <li><a href="#method-i-delete_config">#delete_config</a>
100
-
101
- <li><a href="#method-i-delete_remote">#delete_remote</a>
102
-
103
- <li><a href="#method-i-delete_subproject">#delete_subproject</a>
104
-
105
- <li><a href="#method-i-directory">#directory</a>
106
-
107
- <li><a href="#method-i-each">#each</a>
108
-
109
- <li><a href="#method-i-edit_url">#edit_url</a>
110
-
111
- <li><a href="#method-i-full_path">#full_path</a>
112
-
113
- <li><a href="#method-i-ignore">#ignore</a>
114
-
115
- <li><a href="#method-i-init_auth">#init_auth</a>
116
-
117
- <li><a href="#method-i-init_cache">#init_cache</a>
118
-
119
- <li><a href="#method-i-init_parent">#init_parent</a>
120
-
121
- <li><a href="#method-i-init_project">#init_project</a>
122
-
123
- <li><a href="#method-i-init_remotes">#init_remotes</a>
124
-
125
- <li><a href="#method-i-load_revision">#load_revision</a>
126
-
127
- <li><a href="#method-i-load_subprojects">#load_subprojects</a>
128
-
129
- <li><a href="#method-i-local_path">#local_path</a>
130
-
131
- <li><a href="#method-i-localize">#localize</a>
132
-
133
- <li><a href="#method-i-manage_ignore-3D">#manage_ignore=</a>
134
-
135
- <li><a href="#method-i-manage_ignore-3F">#manage_ignore?</a>
136
-
137
- <li><a href="#method-i-normalize">#normalize</a>
138
-
139
- <li><a href="#method-i-parent">#parent</a>
140
-
141
- <li><a href="#method-i-path">#path</a>
142
-
143
- <li><a href="#method-i-private_key">#private_key</a>
144
-
145
- <li><a href="#method-i-private_key_str">#private_key_str</a>
146
-
147
- <li><a href="#method-i-project_directory-3F">#project_directory?</a>
148
-
149
- <li><a href="#method-i-public_key">#public_key</a>
150
-
151
- <li><a href="#method-i-public_key_str">#public_key_str</a>
152
-
153
- <li><a href="#method-i-pull">#pull</a>
154
-
155
- <li><a href="#method-i-push">#push</a>
156
-
157
- <li><a href="#method-i-reference">#reference</a>
158
-
159
- <li><a href="#method-i-register">#register</a>
160
-
161
- <li><a href="#method-i-remote">#remote</a>
162
-
163
- <li><a href="#method-i-revision">#revision</a>
164
-
165
- <li><a href="#method-i-set_config">#set_config</a>
166
-
167
- <li><a href="#method-i-set_directory">#set_directory</a>
168
-
169
- <li><a href="#method-i-set_edit_url">#set_edit_url</a>
170
-
171
- <li><a href="#method-i-set_host_remote">#set_host_remote</a>
172
-
173
- <li><a href="#method-i-set_location">#set_location</a>
174
-
175
- <li><a href="#method-i-set_remote">#set_remote</a>
176
-
177
- <li><a href="#method-i-set_url">#set_url</a>
178
-
179
- <li><a href="#method-i-subproject-3F">#subproject?</a>
180
-
181
- <li><a href="#method-i-subproject_config">#subproject_config</a>
182
-
183
- <li><a href="#method-i-subprojects">#subprojects</a>
184
-
185
- <li><a href="#method-i-top-3F">#top?</a>
186
-
187
- <li><a href="#method-i-translate_edit_url">#translate_edit_url</a>
188
-
189
- <li><a href="#method-i-translate_reference">#translate_reference</a>
190
-
191
- <li><a href="#method-i-translate_url">#translate_url</a>
192
-
193
- <li><a href="#method-i-update_subprojects">#update_subprojects</a>
194
-
195
- <li><a href="#method-i-url">#url</a>
196
-
197
- </ul>
198
- </nav>
199
-
200
- </div>
201
-
202
- <div id="project-metadata">
203
- <nav id="fileindex-section" class="section project-section">
204
- <h3 class="section-header">Pages</h3>
205
-
206
- <ul>
207
-
208
- <li class="file"><a href="../../ARCHITECTURE_rdoc.html">ARCHITECTURE</a>
209
-
210
- <li class="file"><a href="../../README_rdoc.html">README</a>
211
-
212
- <li class="file"><a href="../../TODO_rdoc.html">TODO</a>
213
-
214
- </ul>
215
- </nav>
216
-
217
- <nav id="classindex-section" class="section project-section">
218
- <h3 class="section-header">Class and Module Index</h3>
219
-
220
- <ul class="link-list">
221
-
222
- <li><a href="../../Nucleon.html">Nucleon</a>
223
-
224
- <li><a href="../../Nucleon/Action.html">Nucleon::Action</a>
225
-
226
- <li><a href="../../Nucleon/Action/Extract.html">Nucleon::Action::Extract</a>
227
-
228
- <li><a href="../../Nucleon/Action/Project.html">Nucleon::Action::Project</a>
229
-
230
- <li><a href="../../Nucleon/Action/Project/Add.html">Nucleon::Action::Project::Add</a>
231
-
232
- <li><a href="../../Nucleon/Action/Project/Create.html">Nucleon::Action::Project::Create</a>
233
-
234
- <li><a href="../../Nucleon/Action/Project/Remove.html">Nucleon::Action::Project::Remove</a>
235
-
236
- <li><a href="../../Nucleon/Action/Project/Save.html">Nucleon::Action::Project::Save</a>
237
-
238
- <li><a href="../../Nucleon/Action/Project/Update.html">Nucleon::Action::Project::Update</a>
239
-
240
- <li><a href="../../Nucleon/Codes.html">Nucleon::Codes</a>
241
-
242
- <li><a href="../../Nucleon/Command.html">Nucleon::Command</a>
243
-
244
- <li><a href="../../Nucleon/Command/Bash.html">Nucleon::Command::Bash</a>
245
-
246
- <li><a href="../../Nucleon/Config.html">Nucleon::Config</a>
247
-
248
- <li><a href="../../Nucleon/Config/Collection.html">Nucleon::Config::Collection</a>
249
-
250
- <li><a href="../../Nucleon/Config/Options.html">Nucleon::Config::Options</a>
251
-
252
- <li><a href="../../Nucleon/Core.html">Nucleon::Core</a>
253
-
254
- <li><a href="../../Nucleon/Environment.html">Nucleon::Environment</a>
255
-
256
- <li><a href="../../Nucleon/Errors.html">Nucleon::Errors</a>
257
-
258
- <li><a href="../../Nucleon/Errors/BatchError.html">Nucleon::Errors::BatchError</a>
259
-
260
- <li><a href="../../Nucleon/Errors/NucleonError.html">Nucleon::Errors::NucleonError</a>
261
-
262
- <li><a href="../../Nucleon/Errors/SSHUnavailable.html">Nucleon::Errors::SSHUnavailable</a>
263
-
264
- <li><a href="../../Nucleon/Event.html">Nucleon::Event</a>
265
-
266
- <li><a href="../../Nucleon/Event/Regex.html">Nucleon::Event::Regex</a>
267
-
268
- <li><a href="../../Nucleon/Facade.html">Nucleon::Facade</a>
269
-
270
- <li><a href="../../Nucleon/Gems.html">Nucleon::Gems</a>
271
-
272
- <li><a href="../../Nucleon/Manager.html">Nucleon::Manager</a>
273
-
274
- <li><a href="../../Nucleon/Mixin.html">Nucleon::Mixin</a>
275
-
276
- <li><a href="../../Nucleon/Mixin/Action.html">Nucleon::Mixin::Action</a>
277
-
278
- <li><a href="../../Nucleon/Mixin/Action/Commit.html">Nucleon::Mixin::Action::Commit</a>
279
-
280
- <li><a href="../../Nucleon/Mixin/Action/Project.html">Nucleon::Mixin::Action::Project</a>
281
-
282
- <li><a href="../../Nucleon/Mixin/Action/Push.html">Nucleon::Mixin::Action::Push</a>
283
-
284
- <li><a href="../../Nucleon/Mixin/Action/Registration.html">Nucleon::Mixin::Action::Registration</a>
285
-
286
- <li><a href="../../Nucleon/Mixin/Colors.html">Nucleon::Mixin::Colors</a>
287
-
288
- <li><a href="../../Nucleon/Mixin/ConfigCollection.html">Nucleon::Mixin::ConfigCollection</a>
289
-
290
- <li><a href="../../Nucleon/Mixin/ConfigOptions.html">Nucleon::Mixin::ConfigOptions</a>
291
-
292
- <li><a href="../../Nucleon/Mixin/Macro.html">Nucleon::Mixin::Macro</a>
293
-
294
- <li><a href="../../Nucleon/Mixin/Macro/ObjectInterface.html">Nucleon::Mixin::Macro::ObjectInterface</a>
295
-
296
- <li><a href="../../Nucleon/Mixin/Macro/PluginInterface.html">Nucleon::Mixin::Macro::PluginInterface</a>
297
-
298
- <li><a href="../../Nucleon/Mixin/Settings.html">Nucleon::Mixin::Settings</a>
299
-
300
- <li><a href="../../Nucleon/Mixin/SubConfig.html">Nucleon::Mixin::SubConfig</a>
301
-
302
- <li><a href="../../Nucleon/Parallel.html">Nucleon::Parallel</a>
303
-
304
- <li><a href="../../Nucleon/Parallel/ClassMethods.html">Nucleon::Parallel::ClassMethods</a>
305
-
306
- <li><a href="../../Nucleon/Parallel/InstanceMethods.html">Nucleon::Parallel::InstanceMethods</a>
307
-
308
- <li><a href="../../Nucleon/Plugin.html">Nucleon::Plugin</a>
309
-
310
- <li><a href="../../Nucleon/Plugin/Action.html">Nucleon::Plugin::Action</a>
311
-
312
- <li><a href="../../Nucleon/Plugin/Action/Option.html">Nucleon::Plugin::Action::Option</a>
313
-
314
- <li><a href="../../Nucleon/Plugin/Base.html">Nucleon::Plugin::Base</a>
315
-
316
- <li><a href="../../Nucleon/Plugin/Command.html">Nucleon::Plugin::Command</a>
317
-
318
- <li><a href="../../Nucleon/Plugin/Event.html">Nucleon::Plugin::Event</a>
319
-
320
- <li><a href="../../Nucleon/Plugin/Extension.html">Nucleon::Plugin::Extension</a>
321
-
322
- <li><a href="../../Nucleon/Plugin/Project.html">Nucleon::Plugin::Project</a>
323
-
324
- <li><a href="../../Nucleon/Plugin/Template.html">Nucleon::Plugin::Template</a>
325
-
326
- <li><a href="../../Nucleon/Plugin/Translator.html">Nucleon::Plugin::Translator</a>
327
-
328
- <li><a href="../../Nucleon/Project.html">Nucleon::Project</a>
329
-
330
- <li><a href="../../Nucleon/Project/Git.html">Nucleon::Project::Git</a>
331
-
332
- <li><a href="../../Nucleon/Project/Github.html">Nucleon::Project::Github</a>
333
-
334
- <li><a href="../../Nucleon/Template.html">Nucleon::Template</a>
335
-
336
- <li><a href="../../Nucleon/Template/JSON.html">Nucleon::Template::JSON</a>
337
-
338
- <li><a href="../../Nucleon/Template/Wrapper.html">Nucleon::Template::Wrapper</a>
339
-
340
- <li><a href="../../Nucleon/Template/YAML.html">Nucleon::Template::YAML</a>
341
-
342
- <li><a href="../../Nucleon/Translator.html">Nucleon::Translator</a>
343
-
344
- <li><a href="../../Nucleon/Translator/JSON.html">Nucleon::Translator::JSON</a>
345
-
346
- <li><a href="../../Nucleon/Translator/YAML.html">Nucleon::Translator::YAML</a>
347
-
348
- <li><a href="../../Nucleon/Util.html">Nucleon::Util</a>
349
-
350
- <li><a href="../../Nucleon/Util/CLI.html">Nucleon::Util::CLI</a>
351
-
352
- <li><a href="../../Nucleon/Util/CLI/Parser.html">Nucleon::Util::CLI::Parser</a>
353
-
354
- <li><a href="../../Nucleon/Util/Cache.html">Nucleon::Util::Cache</a>
355
-
356
- <li><a href="../../Nucleon/Util/Console.html">Nucleon::Util::Console</a>
357
-
358
- <li><a href="../../Nucleon/Util/Data.html">Nucleon::Util::Data</a>
359
-
360
- <li><a href="../../Nucleon/Util/Disk.html">Nucleon::Util::Disk</a>
361
-
362
- <li><a href="../../Nucleon/Util/Git.html">Nucleon::Util::Git</a>
363
-
364
- <li><a href="../../Nucleon/Util/Liquid.html">Nucleon::Util::Liquid</a>
365
-
366
- <li><a href="../../Nucleon/Util/Logger.html">Nucleon::Util::Logger</a>
367
-
368
- <li><a href="../../Nucleon/Util/Package.html">Nucleon::Util::Package</a>
369
-
370
- <li><a href="../../Nucleon/Util/SSH.html">Nucleon::Util::SSH</a>
371
-
372
- <li><a href="../../Nucleon/Util/SSH/Keypair.html">Nucleon::Util::SSH::Keypair</a>
373
-
374
- <li><a href="../../Nucleon/Util/Shell.html">Nucleon::Util::Shell</a>
375
-
376
- <li><a href="../../Nucleon/Util/Shell/Result.html">Nucleon::Util::Shell::Result</a>
377
-
378
- <li><a href="../../Hash.html">Hash</a>
379
-
380
- <li><a href="../../Kernel.html">Kernel</a>
381
-
382
- </ul>
383
- </nav>
384
-
385
- </div>
386
- </nav>
387
-
388
- <div id="documentation">
389
- <h1 class="class">class Nucleon::Plugin::Project</h1>
390
-
391
- <div id="description" class="description">
392
-
393
- </div><!-- description -->
394
-
395
-
396
-
397
-
398
- <section id="5Buntitled-5D" class="documentation-section">
399
-
400
-
401
-
402
-
403
-
404
-
405
-
406
-
407
- <!-- Methods -->
408
-
409
- <section id="public-class-5Buntitled-5D-method-details" class="method-section section">
410
- <h3 class="section-header">Public Class Methods</h3>
411
-
412
-
413
- <div id="method-c-build_info" class="method-detail ">
414
-
415
- <div class="method-heading">
416
- <span class="method-name">build_info</span><span
417
- class="method-args">(namespace, plugin_type, data)</span>
418
- <span class="method-click-advice">click to toggle source</span>
419
- </div>
420
-
421
-
422
- <div class="method-description">
423
-
424
-
425
-
426
-
427
-
428
- <div class="method-source-code" id="build_info-source">
429
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 877</span>
430
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">build_info</span>(<span class="ruby-identifier">namespace</span>, <span class="ruby-identifier">plugin_type</span>, <span class="ruby-identifier">data</span>)
431
- <span class="ruby-identifier">data</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/\s*,\s*/</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">data</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
432
- <span class="ruby-keyword">super</span>(<span class="ruby-identifier">namespace</span>, <span class="ruby-identifier">plugin_type</span>, <span class="ruby-identifier">data</span>)
433
- <span class="ruby-keyword">end</span></pre>
434
- </div><!-- build_info-source -->
435
-
436
- </div>
437
-
438
-
439
-
440
-
441
- </div><!-- build_info-method -->
442
-
443
-
444
- <div id="method-c-collection" class="method-detail ">
445
-
446
- <div class="method-heading">
447
- <span class="method-name">collection</span><span
448
- class="method-args">()</span>
449
- <span class="method-click-advice">click to toggle source</span>
450
- </div>
451
-
452
-
453
- <div class="method-description">
454
-
455
-
456
-
457
-
458
-
459
- <div class="method-source-code" id="collection-source">
460
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 10</span>
461
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">collection</span>
462
- <span class="ruby-identifier">@@projects</span>
463
- <span class="ruby-keyword">end</span></pre>
464
- </div><!-- collection-source -->
465
-
466
- </div>
467
-
468
-
469
-
470
-
471
- </div><!-- collection-method -->
472
-
473
-
474
- <div id="method-c-open" class="method-detail ">
475
-
476
- <div class="method-heading">
477
- <span class="method-name">open</span><span
478
- class="method-args">(directory, provider, options = {})</span>
479
- <span class="method-click-advice">click to toggle source</span>
480
- </div>
481
-
482
-
483
- <div class="method-description">
484
-
485
-
486
-
487
-
488
-
489
- <div class="method-source-code" id="open-source">
490
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 23</span>
491
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">directory</span>, <span class="ruby-identifier">provider</span>, <span class="ruby-identifier">options</span> = {})
492
- <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
493
- <span class="ruby-identifier">directory</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Disk</span>.<span class="ruby-identifier">filename</span>(<span class="ruby-identifier">directory</span>))
494
-
495
- <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">@@projects</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">directory</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:reset</span>, <span class="ruby-keyword">false</span>)
496
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Creating new project at #{directory} with #{provider}&quot;</span>)
497
-
498
- <span class="ruby-keyword">return</span> <span class="ruby-constant">Nucleon</span>.<span class="ruby-identifier">project</span>(<span class="ruby-identifier">config</span>.<span class="ruby-identifier">import</span>({
499
- <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">directory</span>,
500
- <span class="ruby-value">:directory</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">directory</span>
501
- }), <span class="ruby-identifier">provider</span>)
502
-
503
- <span class="ruby-keyword">else</span>
504
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Opening existing project at #{directory}&quot;</span>)
505
- <span class="ruby-keyword">end</span>
506
-
507
- <span class="ruby-identifier">@@projects</span>[<span class="ruby-identifier">directory</span>]
508
- <span class="ruby-keyword">end</span></pre>
509
- </div><!-- open-source -->
510
-
511
- </div>
512
-
513
-
514
-
515
-
516
- </div><!-- open-method -->
517
-
518
-
519
- <div id="method-c-register_ids" class="method-detail ">
520
-
521
- <div class="method-heading">
522
- <span class="method-name">register_ids</span><span
523
- class="method-args">()</span>
524
- <span class="method-click-advice">click to toggle source</span>
525
- </div>
526
-
527
-
528
- <div class="method-description">
529
-
530
-
531
-
532
-
533
-
534
- <div class="method-source-code" id="register_ids-source">
535
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 16</span>
536
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">register_ids</span>
537
- [ <span class="ruby-value">:name</span>, <span class="ruby-value">:directory</span> ]
538
- <span class="ruby-keyword">end</span></pre>
539
- </div><!-- register_ids-source -->
540
-
541
- </div>
542
-
543
-
544
-
545
-
546
- </div><!-- register_ids-method -->
547
-
548
-
549
- <div id="method-c-translate" class="method-detail ">
550
-
551
- <div class="method-heading">
552
- <span class="method-name">translate</span><span
553
- class="method-args">(data)</span>
554
- <span class="method-click-advice">click to toggle source</span>
555
- </div>
556
-
557
-
558
- <div class="method-description">
559
-
560
-
561
-
562
-
563
-
564
- <div class="method-source-code" id="translate-source">
565
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 884</span>
566
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">translate</span>(<span class="ruby-identifier">data</span>)
567
- <span class="ruby-identifier">options</span> = <span class="ruby-keyword">super</span>(<span class="ruby-identifier">data</span>)
568
-
569
- <span class="ruby-keyword">case</span> <span class="ruby-identifier">data</span>
570
- <span class="ruby-keyword">when</span> <span class="ruby-constant">String</span>
571
- <span class="ruby-identifier">options</span> = { <span class="ruby-value">:url</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">data</span> }
572
- <span class="ruby-keyword">when</span> <span class="ruby-constant">Hash</span>
573
- <span class="ruby-identifier">options</span> = <span class="ruby-identifier">data</span>
574
- <span class="ruby-keyword">end</span>
575
-
576
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value">:url</span>)
577
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">matches</span> = <span class="ruby-identifier">translate_reference</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:url</span>])
578
- <span class="ruby-identifier">options</span>[<span class="ruby-value">:provider</span>] = <span class="ruby-identifier">matches</span>[<span class="ruby-value">:provider</span>]
579
- <span class="ruby-identifier">options</span>[<span class="ruby-value">:url</span>] = <span class="ruby-identifier">matches</span>[<span class="ruby-value">:url</span>]
580
- <span class="ruby-identifier">options</span>[<span class="ruby-value">:revision</span>] = <span class="ruby-identifier">matches</span>[<span class="ruby-value">:revision</span>] <span class="ruby-keyword">unless</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value">:revision</span>)
581
-
582
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Translating project options: #{options.inspect}&quot;</span>)
583
- <span class="ruby-keyword">end</span>
584
- <span class="ruby-keyword">end</span>
585
- <span class="ruby-identifier">options</span>
586
- <span class="ruby-keyword">end</span></pre>
587
- </div><!-- translate-source -->
588
-
589
- </div>
590
-
591
-
592
-
593
-
594
- </div><!-- translate-method -->
595
-
596
-
597
- <div id="method-c-translate_reference" class="method-detail ">
598
-
599
- <div class="method-heading">
600
- <span class="method-name">translate_reference</span><span
601
- class="method-args">(reference, editable = false)</span>
602
- <span class="method-click-advice">click to toggle source</span>
603
- </div>
604
-
605
-
606
- <div class="method-description">
607
-
608
-
609
-
610
-
611
-
612
- <div class="method-source-code" id="translate_reference-source">
613
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 908</span>
614
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">translate_reference</span>(<span class="ruby-identifier">reference</span>, <span class="ruby-identifier">editable</span> = <span class="ruby-keyword">false</span>)
615
- <span class="ruby-comment"># ex: github:::username/project[branch/revision]</span>
616
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">reference</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">reference</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp">/^\s*([a-zA-Z0-9_-]+):::([^\]\s]+)\s*(?:\[\s*([^\]\s]+)\s*\])?\s*$/</span>)
617
- <span class="ruby-identifier">provider</span> = <span class="ruby-node">$1</span>
618
- <span class="ruby-identifier">url</span> = <span class="ruby-node">$2</span>
619
- <span class="ruby-identifier">revision</span> = <span class="ruby-node">$3</span>
620
-
621
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Translating project reference: #{provider} #{url} #{revision}&quot;</span>)
622
-
623
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">provider</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">Nucleon</span>.<span class="ruby-identifier">loaded_plugins</span>(<span class="ruby-value">:nucleon</span>, <span class="ruby-value">:project</span>).<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">provider</span>.<span class="ruby-identifier">to_sym</span>)
624
- <span class="ruby-identifier">klass</span> = <span class="ruby-constant">Nucleon</span>.<span class="ruby-identifier">class_const</span>([ <span class="ruby-value">:nucleon</span>, <span class="ruby-value">:project</span>, <span class="ruby-identifier">provider</span> ])
625
- <span class="ruby-identifier">expanded_url</span> = <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:expand_url</span>, <span class="ruby-identifier">url</span>, <span class="ruby-identifier">editable</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:expand_url</span>)
626
- <span class="ruby-keyword">end</span>
627
- <span class="ruby-identifier">expanded_url</span> = <span class="ruby-identifier">url</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">expanded_url</span>
628
-
629
- <span class="ruby-identifier">info</span> = {
630
- <span class="ruby-value">:provider</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">provider</span>,
631
- <span class="ruby-value">:reference</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">url</span>,
632
- <span class="ruby-value">:url</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">expanded_url</span>,
633
- <span class="ruby-value">:revision</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">revision</span>
634
- }
635
-
636
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Project reference info: #{info.inspect}&quot;</span>)
637
- <span class="ruby-keyword">return</span> <span class="ruby-identifier">info</span>
638
- <span class="ruby-keyword">end</span>
639
- <span class="ruby-keyword">nil</span>
640
- <span class="ruby-keyword">end</span></pre>
641
- </div><!-- translate_reference-source -->
642
-
643
- </div>
644
-
645
-
646
-
647
-
648
- </div><!-- translate_reference-method -->
649
-
650
-
651
- </section><!-- public-class-method-details -->
652
-
653
- <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
654
- <h3 class="section-header">Public Instance Methods</h3>
655
-
656
-
657
- <div id="method-i-add_remote_url" class="method-detail ">
658
-
659
- <div class="method-heading">
660
- <span class="method-name">add_remote_url</span><span
661
- class="method-args">(name, url, options = {}) { |config, url| ... }</span>
662
- <span class="method-click-advice">click to toggle source</span>
663
- </div>
664
-
665
-
666
- <div class="method-description">
667
-
668
-
669
-
670
-
671
-
672
- <div class="method-source-code" id="add_remote_url-source">
673
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 705</span>
674
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">add_remote_url</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">url</span>, <span class="ruby-identifier">options</span> = {})
675
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span>
676
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
677
- <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
678
-
679
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">url</span> = <span class="ruby-identifier">extension_set</span>(<span class="ruby-value">:add_remote_url</span>, <span class="ruby-identifier">url</span>, { <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span>, <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
680
- <span class="ruby-identifier">url</span> = <span class="ruby-identifier">translate_edit_url</span>(<span class="ruby-identifier">url</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value">:edit</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:translate</span>, <span class="ruby-keyword">true</span>)
681
-
682
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Adding project remote url #{url} to #{name}&quot;</span>)
683
- <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">config</span>, <span class="ruby-identifier">url</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
684
- <span class="ruby-keyword">end</span>
685
- <span class="ruby-keyword">end</span>
686
- <span class="ruby-keyword">else</span>
687
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Project #{self.name} does not meet the criteria for persistence and can not have remotes&quot;</span>)
688
- <span class="ruby-keyword">end</span>
689
- <span class="ruby-keyword">end</span></pre>
690
- </div><!-- add_remote_url-source -->
691
-
692
- </div>
693
-
694
-
695
-
696
-
697
- </div><!-- add_remote_url-method -->
698
-
699
-
700
- <div id="method-i-add_subproject" class="method-detail ">
701
-
702
- <div class="method-heading">
703
- <span class="method-name">add_subproject</span><span
704
- class="method-args">(path, url, revision, options = {}) { |config| ... }</span>
705
- <span class="method-click-advice">click to toggle source</span>
706
- </div>
707
-
708
-
709
- <div class="method-description">
710
-
711
-
712
-
713
-
714
-
715
- <div class="method-source-code" id="add_subproject-source">
716
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 539</span>
717
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">add_subproject</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">url</span>, <span class="ruby-identifier">revision</span>, <span class="ruby-identifier">options</span> = {})
718
- <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
719
-
720
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span>
721
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
722
- <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>).<span class="ruby-identifier">import</span>({ <span class="ruby-value">:path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">path</span>, <span class="ruby-value">:url</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">url</span>, <span class="ruby-value">:revision</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">revision</span> })
723
-
724
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:add_project</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
725
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Adding a sub project to #{config[:path]} from #{config[:url]} at #{config[:revision]}&quot;</span>)
726
-
727
- <span class="ruby-identifier">success</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
728
-
729
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
730
- <span class="ruby-identifier">extension</span>(<span class="ruby-value">:add_project_success</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
731
-
732
- <span class="ruby-identifier">config</span>.<span class="ruby-identifier">init</span>(<span class="ruby-value">:files</span>, <span class="ruby-string">&#39;.&#39;</span>)
733
- <span class="ruby-identifier">config</span>.<span class="ruby-identifier">init</span>(<span class="ruby-value">:message</span>, <span class="ruby-node">&quot;Adding project #{config[:url]} to #{config[:path]}&quot;</span>)
734
-
735
- <span class="ruby-identifier">commit</span>(<span class="ruby-identifier">config</span>[<span class="ruby-value">:files</span>], { <span class="ruby-value">:message</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span>[<span class="ruby-value">:message</span>] })
736
- <span class="ruby-identifier">update_subprojects</span>
737
- <span class="ruby-keyword">end</span>
738
- <span class="ruby-keyword">else</span>
739
- <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span>
740
- <span class="ruby-keyword">end</span>
741
- <span class="ruby-keyword">end</span>
742
- <span class="ruby-keyword">else</span>
743
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Project #{name} does not meet the criteria for persistence and can not have sub projects&quot;</span>)
744
- <span class="ruby-keyword">end</span>
745
- <span class="ruby-identifier">success</span>
746
- <span class="ruby-keyword">end</span></pre>
747
- </div><!-- add_subproject-source -->
748
-
749
- </div>
750
-
751
-
752
-
753
-
754
- </div><!-- add_subproject-method -->
755
-
756
-
757
- <div id="method-i-cache" class="method-detail ">
758
-
759
- <div class="method-heading">
760
- <span class="method-name">cache</span><span
761
- class="method-args">()</span>
762
- <span class="method-click-advice">click to toggle source</span>
763
- </div>
764
-
765
-
766
- <div class="method-description">
767
-
768
-
769
-
770
-
771
-
772
- <div class="method-source-code" id="cache-source">
773
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 141</span>
774
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">cache</span>
775
- <span class="ruby-ivar">@cache</span>
776
- <span class="ruby-keyword">end</span></pre>
777
- </div><!-- cache-source -->
778
-
779
- </div>
780
-
781
-
782
-
783
-
784
- </div><!-- cache-method -->
785
-
786
-
787
- <div id="method-i-can_persist-3F" class="method-detail ">
788
-
789
- <div class="method-heading">
790
- <span class="method-name">can_persist?</span><span
791
- class="method-args">()</span>
792
- <span class="method-click-advice">click to toggle source</span>
793
- </div>
794
-
795
-
796
- <div class="method-description">
797
-
798
-
799
-
800
-
801
-
802
- <div class="method-source-code" id="can_persist-3F-source">
803
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 101</span>
804
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">can_persist?</span>
805
- <span class="ruby-keyword">return</span> <span class="ruby-identifier">top?</span>(<span class="ruby-identifier">directory</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">directory</span>
806
- <span class="ruby-keyword">false</span>
807
- <span class="ruby-keyword">end</span></pre>
808
- </div><!-- can_persist-3F-source -->
809
-
810
- </div>
811
-
812
-
813
-
814
-
815
- </div><!-- can_persist-3F-method -->
816
-
817
-
818
- <div id="method-i-checkout" class="method-detail ">
819
-
820
- <div class="method-heading">
821
- <span class="method-name">checkout</span><span
822
- class="method-args">(revision) { |success| ... }</span>
823
- <span class="method-click-advice">click to toggle source</span>
824
- </div>
825
-
826
-
827
- <div class="method-description">
828
-
829
-
830
-
831
-
832
-
833
- <div class="method-source-code" id="checkout-source">
834
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 416</span>
835
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">checkout</span>(<span class="ruby-identifier">revision</span>)
836
- <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span>
837
-
838
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span>
839
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
840
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:checkout</span>, { <span class="ruby-value">:revision</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">revision</span> })
841
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Checking out project #{name} revision: #{revision}&quot;</span>)
842
-
843
- <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
844
- <span class="ruby-identifier">success</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">success</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
845
-
846
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
847
- <span class="ruby-identifier">set</span>(<span class="ruby-value">:revision</span>, <span class="ruby-identifier">revision</span>)
848
-
849
- <span class="ruby-identifier">extension</span>(<span class="ruby-value">:checkout_success</span>, { <span class="ruby-value">:revision</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">revision</span> })
850
- <span class="ruby-identifier">load_subprojects</span>
851
- <span class="ruby-keyword">end</span>
852
- <span class="ruby-keyword">end</span>
853
- <span class="ruby-keyword">end</span>
854
- <span class="ruby-keyword">else</span>
855
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Project #{name} does not meet the criteria for persistence and can not checkout a revision&quot;</span>)
856
- <span class="ruby-keyword">end</span>
857
- <span class="ruby-identifier">success</span>
858
- <span class="ruby-keyword">end</span></pre>
859
- </div><!-- checkout-source -->
860
-
861
- </div>
862
-
863
-
864
-
865
-
866
- </div><!-- checkout-method -->
867
-
868
-
869
- <div id="method-i-commit" class="method-detail ">
870
-
871
- <div class="method-heading">
872
- <span class="method-name">commit</span><span
873
- class="method-args">(files = '.', options = {}) { |config, time, user, message| ... }</span>
874
- <span class="method-click-advice">click to toggle source</span>
875
- </div>
876
-
877
-
878
- <div class="method-description">
879
-
880
-
881
-
882
-
883
-
884
- <div class="method-source-code" id="commit-source">
885
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 443</span>
886
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">commit</span>(<span class="ruby-identifier">files</span> = <span class="ruby-string">&#39;.&#39;</span>, <span class="ruby-identifier">options</span> = {})
887
- <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span>
888
-
889
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span>
890
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
891
- <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
892
-
893
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:commit</span>, { <span class="ruby-value">:files</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">files</span>, <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
894
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Committing changes to project #{name}: #{files.inspect}&quot;</span>)
895
-
896
- <span class="ruby-identifier">time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-string">&quot;%Y-%m-%d %H:%M:%S&quot;</span>)
897
- <span class="ruby-identifier">user</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:user</span>, <span class="ruby-constant">ENV</span>[<span class="ruby-string">&#39;USER&#39;</span>] <span class="ruby-operator">+</span> <span class="ruby-string">&#39;@&#39;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">fact</span>(<span class="ruby-value">:fqdn</span>))
898
-
899
- <span class="ruby-identifier">message</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:message</span>, <span class="ruby-string">&#39;&#39;</span>)
900
- <span class="ruby-identifier">message</span> = <span class="ruby-string">&#39;Saving state: &#39;</span> <span class="ruby-operator">+</span> ( <span class="ruby-identifier">files</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>) <span class="ruby-operator">?</span> <span class="ruby-string">&quot;\n\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">files</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&quot;\n&quot;</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">files</span>.<span class="ruby-identifier">to_s</span> ) <span class="ruby-keyword">if</span> <span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
901
-
902
- <span class="ruby-identifier">user</span> = <span class="ruby-string">&#39;UNKNOWN&#39;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">user</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">user</span>.<span class="ruby-identifier">empty?</span>
903
-
904
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Commit by #{user} at #{time} with #{message}&quot;</span>)
905
- <span class="ruby-identifier">success</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">config</span>, <span class="ruby-identifier">time</span>, <span class="ruby-identifier">user</span>, <span class="ruby-identifier">message</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
906
-
907
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
908
- <span class="ruby-identifier">load_revision</span>
909
-
910
- <span class="ruby-identifier">extension</span>(<span class="ruby-value">:commit_success</span>, { <span class="ruby-value">:files</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">files</span> })
911
-
912
- <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:propogate</span>, <span class="ruby-keyword">true</span>)
913
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-string">&quot;Commit to parent as parent exists and propogate option given&quot;</span>)
914
-
915
- <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">load_revision</span>
916
- <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">commit</span>(<span class="ruby-identifier">directory</span>, <span class="ruby-identifier">config</span>.<span class="ruby-identifier">import</span>({
917
- <span class="ruby-value">:message</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;Updating #{path}: #{message}&quot;</span>
918
- }))
919
- <span class="ruby-keyword">end</span>
920
- <span class="ruby-keyword">end</span>
921
- <span class="ruby-keyword">end</span>
922
- <span class="ruby-keyword">end</span>
923
- <span class="ruby-keyword">else</span>
924
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Project #{name} does not meet the criteria for persistence and can not be committed to&quot;</span>)
925
- <span class="ruby-keyword">end</span>
926
- <span class="ruby-identifier">success</span>
927
- <span class="ruby-keyword">end</span></pre>
928
- </div><!-- commit-source -->
929
-
930
- </div>
931
-
932
-
933
-
934
-
935
- </div><!-- commit-method -->
936
-
937
-
938
- <div id="method-i-config" class="method-detail ">
939
-
940
- <div class="method-heading">
941
- <span class="method-name">config</span><span
942
- class="method-args">(name, options = {}) { |config| ... }</span>
943
- <span class="method-click-advice">click to toggle source</span>
944
- </div>
945
-
946
-
947
- <div class="method-description">
948
-
949
-
950
-
951
-
952
-
953
- <div class="method-source-code" id="config-source">
954
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 271</span>
955
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">config</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">options</span> = {})
956
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
957
- <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
958
- <span class="ruby-identifier">can_persist?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">block_given?</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">config</span>) <span class="ruby-operator">:</span> <span class="ruby-keyword">nil</span>
959
- <span class="ruby-keyword">end</span>
960
- <span class="ruby-keyword">end</span></pre>
961
- </div><!-- config-source -->
962
-
963
- </div>
964
-
965
-
966
-
967
-
968
- </div><!-- config-method -->
969
-
970
-
971
- <div id="method-i-delete_config" class="method-detail ">
972
-
973
- <div class="method-heading">
974
- <span class="method-name">delete_config</span><span
975
- class="method-args">(name, options = {}) { |config| ... }</span>
976
- <span class="method-click-advice">click to toggle source</span>
977
- </div>
978
-
979
-
980
- <div class="method-description">
981
-
982
-
983
-
984
-
985
-
986
- <div class="method-source-code" id="delete_config-source">
987
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 294</span>
988
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">delete_config</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">options</span> = {})
989
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
990
- <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
991
-
992
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:delete_config</span>, { <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span>, <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
993
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Removing project #{self.name} configuration: #{name}&quot;</span>)
994
-
995
- <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
996
- <span class="ruby-keyword">end</span>
997
- <span class="ruby-keyword">end</span>
998
- <span class="ruby-keyword">end</span></pre>
999
- </div><!-- delete_config-source -->
1000
-
1001
- </div>
1002
-
1003
-
1004
-
1005
-
1006
- </div><!-- delete_config-method -->
1007
-
1008
-
1009
- <div id="method-i-delete_remote" class="method-detail ">
1010
-
1011
- <div class="method-heading">
1012
- <span class="method-name">delete_remote</span><span
1013
- class="method-args">(name) { || ... }</span>
1014
- <span class="method-click-advice">click to toggle source</span>
1015
- </div>
1016
-
1017
-
1018
- <div class="method-description">
1019
-
1020
-
1021
-
1022
-
1023
-
1024
- <div class="method-source-code" id="delete_remote-source">
1025
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 753</span>
1026
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">delete_remote</span>(<span class="ruby-identifier">name</span>)
1027
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span>
1028
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
1029
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:delete_remote</span>, { <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span> })
1030
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Deleting project remote #{name}&quot;</span>)
1031
- <span class="ruby-keyword">yield</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
1032
- <span class="ruby-keyword">end</span>
1033
- <span class="ruby-keyword">end</span>
1034
- <span class="ruby-keyword">else</span>
1035
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Project #{self.name} does not meet the criteria for persistence and can not have remotes&quot;</span>)
1036
- <span class="ruby-keyword">end</span>
1037
- <span class="ruby-keyword">end</span></pre>
1038
- </div><!-- delete_remote-source -->
1039
-
1040
- </div>
1041
-
1042
-
1043
-
1044
-
1045
- </div><!-- delete_remote-method -->
1046
-
1047
-
1048
- <div id="method-i-delete_subproject" class="method-detail ">
1049
-
1050
- <div class="method-heading">
1051
- <span class="method-name">delete_subproject</span><span
1052
- class="method-args">(path) { |config| ... }</span>
1053
- <span class="method-click-advice">click to toggle source</span>
1054
- </div>
1055
-
1056
-
1057
- <div class="method-description">
1058
-
1059
-
1060
-
1061
-
1062
-
1063
- <div class="method-source-code" id="delete_subproject-source">
1064
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 572</span>
1065
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">delete_subproject</span>(<span class="ruby-identifier">path</span>)
1066
- <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
1067
-
1068
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span>
1069
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
1070
- <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>({ <span class="ruby-value">:path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">path</span> })
1071
-
1072
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:delete_project</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
1073
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Deleting a sub project at #{config[:path]}&quot;</span>)
1074
-
1075
- <span class="ruby-identifier">success</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
1076
-
1077
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
1078
- <span class="ruby-identifier">extension</span>(<span class="ruby-value">:delete_project_success</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
1079
-
1080
- <span class="ruby-identifier">config</span>.<span class="ruby-identifier">init</span>(<span class="ruby-value">:files</span>, <span class="ruby-string">&#39;.&#39;</span>)
1081
- <span class="ruby-identifier">config</span>.<span class="ruby-identifier">init</span>(<span class="ruby-value">:message</span>, <span class="ruby-node">&quot;Removing project at #{config[:path]}&quot;</span>)
1082
-
1083
- <span class="ruby-identifier">commit</span>(<span class="ruby-identifier">config</span>[<span class="ruby-value">:files</span>], { <span class="ruby-value">:message</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span>[<span class="ruby-value">:message</span>] })
1084
- <span class="ruby-identifier">update_subprojects</span>
1085
- <span class="ruby-keyword">end</span>
1086
- <span class="ruby-keyword">end</span>
1087
- <span class="ruby-keyword">end</span>
1088
- <span class="ruby-keyword">else</span>
1089
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Project #{name} does not meet the criteria for persistence and can not have sub projects&quot;</span>)
1090
- <span class="ruby-keyword">end</span>
1091
- <span class="ruby-identifier">success</span>
1092
- <span class="ruby-keyword">end</span></pre>
1093
- </div><!-- delete_subproject-source -->
1094
-
1095
- </div>
1096
-
1097
-
1098
-
1099
-
1100
- </div><!-- delete_subproject-method -->
1101
-
1102
-
1103
- <div id="method-i-directory" class="method-detail ">
1104
-
1105
- <div class="method-heading">
1106
- <span class="method-name">directory</span><span
1107
- class="method-args">(default = nil)</span>
1108
- <span class="method-click-advice">click to toggle source</span>
1109
- </div>
1110
-
1111
-
1112
- <div class="method-description">
1113
-
1114
-
1115
-
1116
-
1117
-
1118
- <div class="method-source-code" id="directory-source">
1119
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 208</span>
1120
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">directory</span>(<span class="ruby-identifier">default</span> = <span class="ruby-keyword">nil</span>)
1121
- <span class="ruby-identifier">get</span>(<span class="ruby-value">:directory</span>, <span class="ruby-identifier">default</span>)
1122
- <span class="ruby-keyword">end</span></pre>
1123
- </div><!-- directory-source -->
1124
-
1125
- </div>
1126
-
1127
-
1128
-
1129
-
1130
- </div><!-- directory-method -->
1131
-
1132
-
1133
- <div id="method-i-each" class="method-detail ">
1134
-
1135
- <div class="method-heading">
1136
- <span class="method-name">each</span><span
1137
- class="method-args">() { |path, project| ... }</span>
1138
- <span class="method-click-advice">click to toggle source</span>
1139
- </div>
1140
-
1141
-
1142
- <div class="method-description">
1143
-
1144
-
1145
-
1146
-
1147
-
1148
- <div class="method-source-code" id="each-source">
1149
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 628</span>
1150
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">each</span>
1151
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span>
1152
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
1153
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Iterating through all sub projects of project #{name}&quot;</span>)
1154
-
1155
- <span class="ruby-identifier">subprojects</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span>, <span class="ruby-identifier">project</span><span class="ruby-operator">|</span>
1156
- <span class="ruby-identifier">extension</span>(<span class="ruby-value">:process_project</span>, { <span class="ruby-value">:project</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">project</span> })
1157
-
1158
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Running process on sub project #{path}&quot;</span>)
1159
- <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">project</span>)
1160
- <span class="ruby-keyword">end</span>
1161
- <span class="ruby-keyword">end</span>
1162
- <span class="ruby-keyword">else</span>
1163
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Project #{name} does not meet the criteria for persistence and can not have sub projects&quot;</span>)
1164
- <span class="ruby-keyword">end</span>
1165
- <span class="ruby-keyword">end</span></pre>
1166
- </div><!-- each-source -->
1167
-
1168
- </div>
1169
-
1170
-
1171
-
1172
-
1173
- </div><!-- each-method -->
1174
-
1175
-
1176
- <div id="method-i-edit_url" class="method-detail ">
1177
-
1178
- <div class="method-heading">
1179
- <span class="method-name">edit_url</span><span
1180
- class="method-args">(default = nil)</span>
1181
- <span class="method-click-advice">click to toggle source</span>
1182
- </div>
1183
-
1184
-
1185
- <div class="method-description">
1186
-
1187
-
1188
-
1189
-
1190
-
1191
- <div class="method-source-code" id="edit_url-source">
1192
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 190</span>
1193
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">edit_url</span>(<span class="ruby-identifier">default</span> = <span class="ruby-keyword">nil</span>)
1194
- <span class="ruby-identifier">get</span>(<span class="ruby-value">:edit</span>, <span class="ruby-identifier">default</span>)
1195
- <span class="ruby-keyword">end</span></pre>
1196
- </div><!-- edit_url-source -->
1197
-
1198
- </div>
1199
-
1200
-
1201
-
1202
-
1203
- </div><!-- edit_url-method -->
1204
-
1205
-
1206
- <div id="method-i-full_path" class="method-detail ">
1207
-
1208
- <div class="method-heading">
1209
- <span class="method-name">full_path</span><span
1210
- class="method-args">(local_path)</span>
1211
- <span class="method-click-advice">click to toggle source</span>
1212
- </div>
1213
-
1214
-
1215
- <div class="method-description">
1216
-
1217
-
1218
-
1219
-
1220
-
1221
- <div class="method-source-code" id="full_path-source">
1222
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 991</span>
1223
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">full_path</span>(<span class="ruby-identifier">local_path</span>)
1224
- <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">directory</span>, <span class="ruby-identifier">local_path</span>)
1225
- <span class="ruby-keyword">end</span></pre>
1226
- </div><!-- full_path-source -->
1227
-
1228
- </div>
1229
-
1230
-
1231
-
1232
-
1233
- </div><!-- full_path-method -->
1234
-
1235
-
1236
- <div id="method-i-ignore" class="method-detail ">
1237
-
1238
- <div class="method-heading">
1239
- <span class="method-name">ignore</span><span
1240
- class="method-args">(files) { || ... }</span>
1241
- <span class="method-click-advice">click to toggle source</span>
1242
- </div>
1243
-
1244
-
1245
- <div class="method-description">
1246
-
1247
-
1248
-
1249
-
1250
-
1251
- <div class="method-source-code" id="ignore-source">
1252
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 488</span>
1253
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">ignore</span>(<span class="ruby-identifier">files</span>)
1254
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">directory</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">manage_ignore?</span>
1255
-
1256
- <span class="ruby-identifier">files</span> = <span class="ruby-keyword">nil</span>
1257
- <span class="ruby-identifier">files</span> = <span class="ruby-keyword">yield</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
1258
- <span class="ruby-identifier">commit</span>(<span class="ruby-identifier">files</span>, { <span class="ruby-value">:message</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;Adding project ignores.&quot;</span> }) <span class="ruby-keyword">if</span> <span class="ruby-identifier">files</span>
1259
- <span class="ruby-keyword">end</span></pre>
1260
- </div><!-- ignore-source -->
1261
-
1262
- </div>
1263
-
1264
-
1265
-
1266
-
1267
- </div><!-- ignore-method -->
1268
-
1269
-
1270
- <div id="method-i-init_project" class="method-detail ">
1271
-
1272
- <div class="method-heading">
1273
- <span class="method-name">init_project</span><span
1274
- class="method-args">()</span>
1275
- <span class="method-click-advice">click to toggle source</span>
1276
- </div>
1277
-
1278
-
1279
- <div class="method-description">
1280
-
1281
-
1282
-
1283
-
1284
-
1285
- <div class="method-source-code" id="init_project-source">
1286
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 78</span>
1287
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">init_project</span>
1288
- <span class="ruby-identifier">init_auth</span>
1289
- <span class="ruby-identifier">init_parent</span>
1290
- <span class="ruby-identifier">init_remotes</span>
1291
- <span class="ruby-identifier">load_revision</span>
1292
- <span class="ruby-keyword">end</span></pre>
1293
- </div><!-- init_project-source -->
1294
-
1295
- </div>
1296
-
1297
-
1298
-
1299
-
1300
- </div><!-- init_project-method -->
1301
-
1302
-
1303
- <div id="method-i-local_path" class="method-detail ">
1304
-
1305
- <div class="method-heading">
1306
- <span class="method-name">local_path</span><span
1307
- class="method-args">(file_path)</span>
1308
- <span class="method-click-advice">click to toggle source</span>
1309
- </div>
1310
-
1311
-
1312
- <div class="method-description">
1313
-
1314
-
1315
-
1316
-
1317
-
1318
- <div class="method-source-code" id="local_path-source">
1319
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 985</span>
1320
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">local_path</span>(<span class="ruby-identifier">file_path</span>)
1321
- <span class="ruby-identifier">file_path</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-identifier">directory</span> <span class="ruby-operator">+</span> <span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-constant">SEPARATOR</span>, <span class="ruby-string">&#39;&#39;</span>)
1322
- <span class="ruby-keyword">end</span></pre>
1323
- </div><!-- local_path-source -->
1324
-
1325
- </div>
1326
-
1327
-
1328
-
1329
-
1330
- </div><!-- local_path-method -->
1331
-
1332
-
1333
- <div id="method-i-localize" class="method-detail ">
1334
-
1335
- <div class="method-heading">
1336
- <span class="method-name">localize</span><span
1337
- class="method-args">(path = nil) { || ... }</span>
1338
- <span class="method-click-advice">click to toggle source</span>
1339
- </div>
1340
-
1341
-
1342
- <div class="method-description">
1343
-
1344
-
1345
-
1346
-
1347
-
1348
- <div class="method-source-code" id="localize-source">
1349
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 969</span>
1350
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">localize</span>(<span class="ruby-identifier">path</span> = <span class="ruby-keyword">nil</span>)
1351
- <span class="ruby-identifier">prev_directory</span> = <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>
1352
- <span class="ruby-identifier">path</span> = <span class="ruby-identifier">directory</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">path</span>.<span class="ruby-identifier">nil?</span>
1353
-
1354
- <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">path</span>)
1355
-
1356
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">safe_exec</span>(<span class="ruby-keyword">true</span>) <span class="ruby-keyword">do</span>
1357
- <span class="ruby-keyword">yield</span>
1358
- <span class="ruby-keyword">end</span>
1359
-
1360
- <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">prev_directory</span>)
1361
- <span class="ruby-identifier">result</span>
1362
- <span class="ruby-keyword">end</span></pre>
1363
- </div><!-- localize-source -->
1364
-
1365
- </div>
1366
-
1367
-
1368
-
1369
-
1370
- </div><!-- localize-method -->
1371
-
1372
-
1373
- <div id="method-i-manage_ignore-3D" class="method-detail ">
1374
-
1375
- <div class="method-heading">
1376
- <span class="method-name">manage_ignore=</span><span
1377
- class="method-args">(ignore)</span>
1378
- <span class="method-click-advice">click to toggle source</span>
1379
- </div>
1380
-
1381
-
1382
- <div class="method-description">
1383
-
1384
-
1385
-
1386
-
1387
-
1388
- <div class="method-source-code" id="manage_ignore-3D-source">
1389
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 130</span>
1390
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">manage_ignore=</span><span class="ruby-identifier">ignore</span>
1391
- <span class="ruby-identifier">set</span>(<span class="ruby-value">:manage_ignore</span>, <span class="ruby-identifier">ignore</span>)
1392
- <span class="ruby-keyword">end</span></pre>
1393
- </div><!-- manage_ignore-3D-source -->
1394
-
1395
- </div>
1396
-
1397
-
1398
-
1399
-
1400
- </div><!-- manage_ignore-3D-method -->
1401
-
1402
-
1403
- <div id="method-i-manage_ignore-3F" class="method-detail ">
1404
-
1405
- <div class="method-heading">
1406
- <span class="method-name">manage_ignore?</span><span
1407
- class="method-args">()</span>
1408
- <span class="method-click-advice">click to toggle source</span>
1409
- </div>
1410
-
1411
-
1412
- <div class="method-description">
1413
-
1414
-
1415
-
1416
-
1417
-
1418
- <div class="method-source-code" id="manage_ignore-3F-source">
1419
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 134</span>
1420
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">manage_ignore?</span>
1421
- <span class="ruby-identifier">get</span>(<span class="ruby-value">:manage_ignore</span>, <span class="ruby-keyword">false</span>)
1422
- <span class="ruby-keyword">end</span></pre>
1423
- </div><!-- manage_ignore-3F-source -->
1424
-
1425
- </div>
1426
-
1427
-
1428
-
1429
-
1430
- </div><!-- manage_ignore-3F-method -->
1431
-
1432
-
1433
- <div id="method-i-normalize" class="method-detail ">
1434
-
1435
- <div class="method-heading">
1436
- <span class="method-name">normalize</span><span
1437
- class="method-args">(reload)</span>
1438
- <span class="method-click-advice">click to toggle source</span>
1439
- </div>
1440
-
1441
-
1442
- <div class="method-description">
1443
-
1444
-
1445
-
1446
-
1447
-
1448
- <div class="method-source-code" id="normalize-source">
1449
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 45</span>
1450
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">normalize</span>(<span class="ruby-identifier">reload</span>)
1451
- <span class="ruby-keyword">super</span>
1452
-
1453
- <span class="ruby-identifier">set_directory</span>(<span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Disk</span>.<span class="ruby-identifier">filename</span>(<span class="ruby-identifier">get</span>(<span class="ruby-value">:directory</span>, <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>)))
1454
- <span class="ruby-identifier">register</span>
1455
-
1456
- <span class="ruby-identifier">set_url</span>(<span class="ruby-identifier">get</span>(<span class="ruby-value">:url</span>)) <span class="ruby-keyword">if</span> <span class="ruby-identifier">get</span>(<span class="ruby-value">:url</span>, <span class="ruby-keyword">false</span>)
1457
-
1458
- <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">plugin_name</span> = <span class="ruby-identifier">path</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">plugin_name</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">plugin_name</span>.<span class="ruby-identifier">to_sym</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">plugin_provider</span>
1459
-
1460
- <span class="ruby-identifier">ui</span>.<span class="ruby-identifier">resource</span> = <span class="ruby-identifier">plugin_name</span>
1461
- <span class="ruby-identifier">logger</span> = <span class="ruby-identifier">plugin_name</span>
1462
-
1463
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">keys</span> = <span class="ruby-identifier">delete</span>(<span class="ruby-value">:keys</span>, <span class="ruby-keyword">nil</span>)
1464
- <span class="ruby-identifier">set</span>(<span class="ruby-value">:private_key</span>, <span class="ruby-identifier">keys</span>[<span class="ruby-value">:private_key</span>])
1465
- <span class="ruby-identifier">set</span>(<span class="ruby-value">:public_key</span>, <span class="ruby-identifier">keys</span>[<span class="ruby-value">:public_key</span>])
1466
- <span class="ruby-keyword">end</span>
1467
-
1468
- <span class="ruby-identifier">extension</span>(<span class="ruby-value">:normalize</span>)
1469
-
1470
- <span class="ruby-identifier">init_project</span>
1471
- <span class="ruby-identifier">extension</span>(<span class="ruby-value">:init</span>)
1472
-
1473
- <span class="ruby-identifier">pull</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">get</span>(<span class="ruby-value">:pull</span>, <span class="ruby-keyword">false</span>)
1474
-
1475
- <span class="ruby-keyword">unless</span> <span class="ruby-identifier">reload</span>
1476
- <span class="ruby-ivar">@cache</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Cache</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">directory</span>, <span class="ruby-constant">Nucleon</span>.<span class="ruby-identifier">sha1</span>(<span class="ruby-identifier">plugin_name</span>), <span class="ruby-string">&#39;.project_cache&#39;</span>)
1477
- <span class="ruby-identifier">init_cache</span>
1478
- <span class="ruby-keyword">end</span>
1479
- <span class="ruby-keyword">end</span></pre>
1480
- </div><!-- normalize-source -->
1481
-
1482
- </div>
1483
-
1484
-
1485
-
1486
-
1487
- </div><!-- normalize-method -->
1488
-
1489
-
1490
- <div id="method-i-parent" class="method-detail ">
1491
-
1492
- <div class="method-heading">
1493
- <span class="method-name">parent</span><span
1494
- class="method-args">(default = nil)</span>
1495
- <span class="method-click-advice">click to toggle source</span>
1496
- </div>
1497
-
1498
-
1499
- <div class="method-description">
1500
-
1501
-
1502
-
1503
-
1504
-
1505
- <div class="method-source-code" id="parent-source">
1506
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 253</span>
1507
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">parent</span>(<span class="ruby-identifier">default</span> = <span class="ruby-keyword">nil</span>)
1508
- <span class="ruby-identifier">get</span>(<span class="ruby-value">:parent</span>, <span class="ruby-identifier">default</span>)
1509
- <span class="ruby-keyword">end</span></pre>
1510
- </div><!-- parent-source -->
1511
-
1512
- </div>
1513
-
1514
-
1515
-
1516
-
1517
- </div><!-- parent-method -->
1518
-
1519
-
1520
- <div id="method-i-path" class="method-detail ">
1521
-
1522
- <div class="method-heading">
1523
- <span class="method-name">path</span><span
1524
- class="method-args">()</span>
1525
- <span class="method-click-advice">click to toggle source</span>
1526
- </div>
1527
-
1528
-
1529
- <div class="method-description">
1530
-
1531
-
1532
-
1533
-
1534
-
1535
- <div class="method-source-code" id="path-source">
1536
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 214</span>
1537
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">path</span>
1538
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">nil?</span>
1539
- <span class="ruby-keyword">return</span> <span class="ruby-identifier">directory</span>
1540
- <span class="ruby-keyword">end</span>
1541
- <span class="ruby-identifier">directory</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">directory</span> <span class="ruby-operator">+</span> <span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-constant">SEPARATOR</span>, <span class="ruby-string">&#39;&#39;</span>)
1542
- <span class="ruby-keyword">end</span></pre>
1543
- </div><!-- path-source -->
1544
-
1545
- </div>
1546
-
1547
-
1548
-
1549
-
1550
- </div><!-- path-method -->
1551
-
1552
-
1553
- <div id="method-i-private_key" class="method-detail ">
1554
-
1555
- <div class="method-heading">
1556
- <span class="method-name">private_key</span><span
1557
- class="method-args">()</span>
1558
- <span class="method-click-advice">click to toggle source</span>
1559
- </div>
1560
-
1561
-
1562
- <div class="method-description">
1563
-
1564
-
1565
-
1566
-
1567
-
1568
- <div class="method-source-code" id="private_key-source">
1569
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 153</span>
1570
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">private_key</span>
1571
- <span class="ruby-identifier">get</span>(<span class="ruby-value">:private_key</span>, <span class="ruby-keyword">nil</span>)
1572
- <span class="ruby-keyword">end</span></pre>
1573
- </div><!-- private_key-source -->
1574
-
1575
- </div>
1576
-
1577
-
1578
-
1579
-
1580
- </div><!-- private_key-method -->
1581
-
1582
-
1583
- <div id="method-i-private_key_str" class="method-detail ">
1584
-
1585
- <div class="method-heading">
1586
- <span class="method-name">private_key_str</span><span
1587
- class="method-args">()</span>
1588
- <span class="method-click-advice">click to toggle source</span>
1589
- </div>
1590
-
1591
-
1592
- <div class="method-description">
1593
-
1594
-
1595
-
1596
-
1597
-
1598
- <div class="method-source-code" id="private_key_str-source">
1599
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 157</span>
1600
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">private_key_str</span>
1601
- <span class="ruby-keyword">return</span> <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Disk</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">private_key</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">private_key</span>
1602
- <span class="ruby-keyword">nil</span>
1603
- <span class="ruby-keyword">end</span></pre>
1604
- </div><!-- private_key_str-source -->
1605
-
1606
- </div>
1607
-
1608
-
1609
-
1610
-
1611
- </div><!-- private_key_str-method -->
1612
-
1613
-
1614
- <div id="method-i-public_key" class="method-detail ">
1615
-
1616
- <div class="method-heading">
1617
- <span class="method-name">public_key</span><span
1618
- class="method-args">()</span>
1619
- <span class="method-click-advice">click to toggle source</span>
1620
- </div>
1621
-
1622
-
1623
- <div class="method-description">
1624
-
1625
-
1626
-
1627
-
1628
-
1629
- <div class="method-source-code" id="public_key-source">
1630
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 162</span>
1631
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">public_key</span>
1632
- <span class="ruby-identifier">get</span>(<span class="ruby-value">:public_key</span>, <span class="ruby-keyword">nil</span>)
1633
- <span class="ruby-keyword">end</span></pre>
1634
- </div><!-- public_key-source -->
1635
-
1636
- </div>
1637
-
1638
-
1639
-
1640
-
1641
- </div><!-- public_key-method -->
1642
-
1643
-
1644
- <div id="method-i-public_key_str" class="method-detail ">
1645
-
1646
- <div class="method-heading">
1647
- <span class="method-name">public_key_str</span><span
1648
- class="method-args">()</span>
1649
- <span class="method-click-advice">click to toggle source</span>
1650
- </div>
1651
-
1652
-
1653
- <div class="method-description">
1654
-
1655
-
1656
-
1657
-
1658
-
1659
- <div class="method-source-code" id="public_key_str-source">
1660
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 166</span>
1661
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">public_key_str</span>
1662
- <span class="ruby-keyword">return</span> <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Disk</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">public_key</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">public_key</span>
1663
- <span class="ruby-keyword">nil</span>
1664
- <span class="ruby-keyword">end</span></pre>
1665
- </div><!-- public_key_str-source -->
1666
-
1667
- </div>
1668
-
1669
-
1670
-
1671
-
1672
- </div><!-- public_key_str-method -->
1673
-
1674
-
1675
- <div id="method-i-pull" class="method-detail ">
1676
-
1677
- <div class="method-heading">
1678
- <span class="method-name">pull</span><span
1679
- class="method-args">(remote = :origin, options = {}) { |config, remote| ... }</span>
1680
- <span class="method-click-advice">click to toggle source</span>
1681
- </div>
1682
-
1683
-
1684
- <div class="method-description">
1685
-
1686
-
1687
-
1688
-
1689
-
1690
- <div class="method-source-code" id="pull-source">
1691
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 769</span>
1692
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">pull</span>(<span class="ruby-identifier">remote</span> = <span class="ruby-value">:origin</span>, <span class="ruby-identifier">options</span> = {})
1693
- <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>).<span class="ruby-identifier">import</span>({ <span class="ruby-value">:remote</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">remote</span> })
1694
- <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span>
1695
-
1696
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span>
1697
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
1698
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:pull</span>, { <span class="ruby-value">:directory</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">directory</span>, <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
1699
- <span class="ruby-identifier">remote</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:remote</span>)
1700
-
1701
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">remote</span>(<span class="ruby-identifier">remote</span>)
1702
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Pulling from #{remote} into #{directory}&quot;</span>)
1703
- <span class="ruby-identifier">success</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">config</span>, <span class="ruby-identifier">remote</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
1704
- <span class="ruby-keyword">end</span>
1705
-
1706
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
1707
- <span class="ruby-identifier">update_subprojects</span>
1708
-
1709
- <span class="ruby-identifier">extension</span>(<span class="ruby-value">:pull_success</span>, { <span class="ruby-value">:directory</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">directory</span>, <span class="ruby-value">:remote</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">remote</span>, <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
1710
-
1711
- <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:propogate</span>, <span class="ruby-keyword">true</span>)
1712
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-string">&quot;Commit to parent as parent exists and propogate option was given&quot;</span>)
1713
-
1714
- <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">commit</span>(<span class="ruby-identifier">directory</span>, <span class="ruby-identifier">config</span>.<span class="ruby-identifier">import</span>({
1715
- <span class="ruby-value">:message</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;Pulling updates for subproject #{path}&quot;</span>,
1716
- <span class="ruby-value">:allow_empty</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span>
1717
- }))
1718
- <span class="ruby-keyword">end</span>
1719
- <span class="ruby-keyword">end</span>
1720
- <span class="ruby-keyword">end</span>
1721
- <span class="ruby-keyword">end</span>
1722
- <span class="ruby-keyword">else</span>
1723
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Project #{name} does not meet the criteria for persistence and can not pull from remotes&quot;</span>)
1724
- <span class="ruby-keyword">end</span>
1725
- <span class="ruby-identifier">success</span>
1726
- <span class="ruby-keyword">end</span></pre>
1727
- </div><!-- pull-source -->
1728
-
1729
- </div>
1730
-
1731
-
1732
-
1733
-
1734
- </div><!-- pull-method -->
1735
-
1736
-
1737
- <div id="method-i-push" class="method-detail ">
1738
-
1739
- <div class="method-heading">
1740
- <span class="method-name">push</span><span
1741
- class="method-args">(remote = :edit, options = {}) { |config, push_remote| ... }</span>
1742
- <span class="method-click-advice">click to toggle source</span>
1743
- </div>
1744
-
1745
-
1746
- <div class="method-description">
1747
-
1748
-
1749
-
1750
-
1751
-
1752
- <div class="method-source-code" id="push-source">
1753
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 807</span>
1754
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">push</span>(<span class="ruby-identifier">remote</span> = <span class="ruby-value">:edit</span>, <span class="ruby-identifier">options</span> = {})
1755
- <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>).<span class="ruby-identifier">import</span>({ <span class="ruby-value">:remote</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">remote</span> })
1756
- <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span>
1757
-
1758
- <span class="ruby-identifier">push_project</span> = <span class="ruby-identifier">lambda</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">push_remote</span><span class="ruby-operator">|</span>
1759
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Pushing to #{push_remote} from #{directory}&quot;</span>)
1760
- <span class="ruby-identifier">success</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">config</span>, <span class="ruby-identifier">push_remote</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">pull</span>(<span class="ruby-identifier">push_remote</span>, <span class="ruby-identifier">config</span>)
1761
- <span class="ruby-keyword">end</span>
1762
-
1763
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span>
1764
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
1765
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:push</span>, { <span class="ruby-value">:directory</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">directory</span>, <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
1766
- <span class="ruby-identifier">remote</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:remote</span>)
1767
- <span class="ruby-identifier">tries</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:tries</span>, <span class="ruby-value">5</span>)
1768
-
1769
- <span class="ruby-comment"># TODO: Figure out a better way through specialized exception handling</span>
1770
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">remote</span>(<span class="ruby-identifier">remote</span>)
1771
- <span class="ruby-keyword">begin</span>
1772
- <span class="ruby-identifier">success</span> = <span class="ruby-identifier">push_project</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">remote</span>)
1773
- <span class="ruby-identifier">raise</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">success</span>
1774
-
1775
- <span class="ruby-keyword">rescue</span>
1776
- <span class="ruby-identifier">tries</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>
1777
- <span class="ruby-keyword">retry</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">tries</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
1778
- <span class="ruby-keyword">end</span>
1779
- <span class="ruby-keyword">end</span>
1780
-
1781
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
1782
- <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:revision</span>)
1783
-
1784
- <span class="ruby-identifier">extension</span>(<span class="ruby-value">:push_success</span>, { <span class="ruby-value">:directory</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">directory</span>, <span class="ruby-value">:remote</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">remote</span>, <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
1785
-
1786
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:propogate</span>, <span class="ruby-keyword">true</span>)
1787
- <span class="ruby-keyword">unless</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">nil?</span>
1788
- <span class="ruby-identifier">propogate_up</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:propogate_up</span>, <span class="ruby-keyword">nil</span>)
1789
-
1790
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">propogate_up</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">propogate_up</span>
1791
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-string">&quot;Commit to parent as parent exists and propogate option was given&quot;</span>)
1792
- <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">remote</span>, <span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">config</span>.<span class="ruby-identifier">export</span>.<span class="ruby-identifier">dup</span>).<span class="ruby-identifier">import</span>({
1793
- <span class="ruby-value">:propogate_up</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span>,
1794
- <span class="ruby-value">:propogate_down</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span>
1795
- }))
1796
- <span class="ruby-keyword">end</span>
1797
- <span class="ruby-keyword">end</span>
1798
-
1799
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-string">&quot;Pushing sub projects&quot;</span>)
1800
-
1801
- <span class="ruby-identifier">propogate_down</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:propogate_down</span>, <span class="ruby-keyword">nil</span>)
1802
-
1803
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">propogate_down</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">propogate_down</span>
1804
- <span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span>, <span class="ruby-identifier">project</span><span class="ruby-operator">|</span>
1805
- <span class="ruby-identifier">project</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">remote</span>, <span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">config</span>.<span class="ruby-identifier">export</span>.<span class="ruby-identifier">dup</span>).<span class="ruby-identifier">import</span>({
1806
- <span class="ruby-value">:propogate_up</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span>,
1807
- <span class="ruby-value">:propogate_down</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span>
1808
- }))
1809
- <span class="ruby-keyword">end</span>
1810
- <span class="ruby-keyword">end</span>
1811
- <span class="ruby-keyword">end</span>
1812
- <span class="ruby-keyword">end</span>
1813
- <span class="ruby-keyword">end</span>
1814
- <span class="ruby-keyword">end</span>
1815
- <span class="ruby-keyword">else</span>
1816
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Project #{name} does not meet the criteria for persistence and can not push to remotes&quot;</span>)
1817
- <span class="ruby-keyword">end</span>
1818
- <span class="ruby-identifier">success</span>
1819
- <span class="ruby-keyword">end</span></pre>
1820
- </div><!-- push-source -->
1821
-
1822
- </div>
1823
-
1824
-
1825
-
1826
-
1827
- </div><!-- push-method -->
1828
-
1829
-
1830
- <div id="method-i-reference" class="method-detail ">
1831
-
1832
- <div class="method-heading">
1833
- <span class="method-name">reference</span><span
1834
- class="method-args">()</span>
1835
- <span class="method-click-advice">click to toggle source</span>
1836
- </div>
1837
-
1838
-
1839
- <div class="method-description">
1840
-
1841
-
1842
-
1843
-
1844
-
1845
- <div class="method-source-code" id="reference-source">
1846
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 147</span>
1847
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">reference</span>
1848
- <span class="ruby-identifier">get</span>(<span class="ruby-value">:reference</span>, <span class="ruby-keyword">nil</span>)
1849
- <span class="ruby-keyword">end</span></pre>
1850
- </div><!-- reference-source -->
1851
-
1852
- </div>
1853
-
1854
-
1855
-
1856
-
1857
- </div><!-- reference-method -->
1858
-
1859
-
1860
- <div id="method-i-register" class="method-detail ">
1861
-
1862
- <div class="method-heading">
1863
- <span class="method-name">register</span><span
1864
- class="method-args">()</span>
1865
- <span class="method-click-advice">click to toggle source</span>
1866
- </div>
1867
-
1868
-
1869
- <div class="method-description">
1870
-
1871
-
1872
-
1873
-
1874
-
1875
- <div class="method-source-code" id="register-source">
1876
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 88</span>
1877
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">register</span>
1878
- <span class="ruby-keyword">super</span>
1879
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">directory</span>
1880
- <span class="ruby-identifier">lib_path</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">directory</span>, <span class="ruby-string">&#39;lib&#39;</span>)
1881
- <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">lib_path</span>)
1882
- <span class="ruby-constant">Nucleon</span>.<span class="ruby-identifier">register</span>(<span class="ruby-identifier">lib_path</span>)
1883
- <span class="ruby-keyword">end</span>
1884
- <span class="ruby-keyword">end</span>
1885
- <span class="ruby-keyword">end</span></pre>
1886
- </div><!-- register-source -->
1887
-
1888
- </div>
1889
-
1890
-
1891
-
1892
-
1893
- </div><!-- register-method -->
1894
-
1895
-
1896
- <div id="method-i-remote" class="method-detail ">
1897
-
1898
- <div class="method-heading">
1899
- <span class="method-name">remote</span><span
1900
- class="method-args">(name) { || ... }</span>
1901
- <span class="method-click-advice">click to toggle source</span>
1902
- </div>
1903
-
1904
-
1905
- <div class="method-description">
1906
-
1907
-
1908
-
1909
-
1910
-
1911
- <div class="method-source-code" id="remote-source">
1912
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 669</span>
1913
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">remote</span>(<span class="ruby-identifier">name</span>)
1914
- <span class="ruby-identifier">url</span> = <span class="ruby-keyword">nil</span>
1915
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span>
1916
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
1917
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Fetching remote url for #{name}&quot;</span>)
1918
- <span class="ruby-identifier">url</span> = <span class="ruby-keyword">yield</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
1919
- <span class="ruby-keyword">end</span>
1920
- <span class="ruby-keyword">end</span>
1921
- <span class="ruby-identifier">url</span>
1922
- <span class="ruby-keyword">end</span></pre>
1923
- </div><!-- remote-source -->
1924
-
1925
- </div>
1926
-
1927
-
1928
-
1929
-
1930
- </div><!-- remote-method -->
1931
-
1932
-
1933
- <div id="method-i-revision" class="method-detail ">
1934
-
1935
- <div class="method-heading">
1936
- <span class="method-name">revision</span><span
1937
- class="method-args">(default = nil)</span>
1938
- <span class="method-click-advice">click to toggle source</span>
1939
- </div>
1940
-
1941
-
1942
- <div class="method-description">
1943
-
1944
-
1945
-
1946
-
1947
-
1948
- <div class="method-source-code" id="revision-source">
1949
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 265</span>
1950
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">revision</span>(<span class="ruby-identifier">default</span> = <span class="ruby-keyword">nil</span>)
1951
- <span class="ruby-identifier">get</span>(<span class="ruby-value">:revision</span>, <span class="ruby-identifier">default</span>).<span class="ruby-identifier">to_s</span>
1952
- <span class="ruby-keyword">end</span></pre>
1953
- </div><!-- revision-source -->
1954
-
1955
- </div>
1956
-
1957
-
1958
-
1959
-
1960
- </div><!-- revision-method -->
1961
-
1962
-
1963
- <div id="method-i-set_config" class="method-detail ">
1964
-
1965
- <div class="method-heading">
1966
- <span class="method-name">set_config</span><span
1967
- class="method-args">(name, value, options = {}) { |config, value| ... }</span>
1968
- <span class="method-click-advice">click to toggle source</span>
1969
- </div>
1970
-
1971
-
1972
- <div class="method-description">
1973
-
1974
-
1975
-
1976
-
1977
-
1978
- <div class="method-source-code" id="set_config-source">
1979
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 280</span>
1980
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">set_config</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">options</span> = {})
1981
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
1982
- <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
1983
-
1984
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">value</span> = <span class="ruby-identifier">extension_set</span>(<span class="ruby-value">:set_config</span>, <span class="ruby-identifier">value</span>, { <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span>, <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
1985
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Setting project #{self.name} configuration: #{name} = #{value.inspect}&quot;</span>)
1986
-
1987
- <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">config</span>, <span class="ruby-identifier">value</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
1988
- <span class="ruby-keyword">end</span>
1989
- <span class="ruby-keyword">end</span>
1990
- <span class="ruby-keyword">end</span></pre>
1991
- </div><!-- set_config-source -->
1992
-
1993
- </div>
1994
-
1995
-
1996
-
1997
-
1998
- </div><!-- set_config-method -->
1999
-
2000
-
2001
- <div id="method-i-set_edit_url" class="method-detail ">
2002
-
2003
- <div class="method-heading">
2004
- <span class="method-name">set_edit_url</span><span
2005
- class="method-args">(url)</span>
2006
- <span class="method-click-advice">click to toggle source</span>
2007
- </div>
2008
-
2009
-
2010
- <div class="method-description">
2011
-
2012
-
2013
-
2014
-
2015
-
2016
- <div class="method-source-code" id="set_edit_url-source">
2017
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 196</span>
2018
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">set_edit_url</span>(<span class="ruby-identifier">url</span>)
2019
- <span class="ruby-identifier">url</span> = <span class="ruby-identifier">url</span>.<span class="ruby-identifier">strip</span>
2020
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">url</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">url</span> = <span class="ruby-identifier">extension_set</span>(<span class="ruby-value">:set_edit_url</span>, <span class="ruby-identifier">url</span>)
2021
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Setting project #{name} edit url to #{url}&quot;</span>)
2022
-
2023
- <span class="ruby-identifier">set</span>(<span class="ruby-value">:edit</span>, <span class="ruby-identifier">url</span>)
2024
- <span class="ruby-identifier">set_remote</span>(<span class="ruby-value">:edit</span>, <span class="ruby-identifier">url</span>)
2025
- <span class="ruby-keyword">end</span>
2026
- <span class="ruby-keyword">end</span></pre>
2027
- </div><!-- set_edit_url-source -->
2028
-
2029
- </div>
2030
-
2031
-
2032
-
2033
-
2034
- </div><!-- set_edit_url-method -->
2035
-
2036
-
2037
- <div id="method-i-set_host_remote" class="method-detail ">
2038
-
2039
- <div class="method-heading">
2040
- <span class="method-name">set_host_remote</span><span
2041
- class="method-args">(name, hosts, path, options = {})</span>
2042
- <span class="method-click-advice">click to toggle source</span>
2043
- </div>
2044
-
2045
-
2046
- <div class="method-description">
2047
-
2048
-
2049
-
2050
-
2051
-
2052
- <div class="method-source-code" id="set_host_remote-source">
2053
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 724</span>
2054
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">set_host_remote</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">hosts</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">options</span> = {})
2055
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span>
2056
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
2057
- <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>).<span class="ruby-identifier">import</span>({ <span class="ruby-value">:path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">path</span>, <span class="ruby-value">:translate</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span> })
2058
- <span class="ruby-identifier">hosts</span> = <span class="ruby-identifier">array</span>(<span class="ruby-identifier">hosts</span>)
2059
-
2060
- <span class="ruby-keyword">unless</span> <span class="ruby-identifier">hosts</span>.<span class="ruby-identifier">empty?</span>
2061
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">hosts</span> = <span class="ruby-identifier">extension_set</span>(<span class="ruby-value">:set_host_remote</span>, <span class="ruby-identifier">hosts</span>, { <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span>, <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
2062
- <span class="ruby-keyword">unless</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">hosts</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">hosts</span>.<span class="ruby-identifier">empty?</span>
2063
- <span class="ruby-identifier">path</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:path</span>)
2064
-
2065
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Setting host remote #{name} for #{hosts.inspect} at #{path}&quot;</span>)
2066
- <span class="ruby-identifier">set_remote</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">translate_url</span>(<span class="ruby-identifier">hosts</span>.<span class="ruby-identifier">shift</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">config</span>.<span class="ruby-identifier">export</span>), <span class="ruby-identifier">config</span>)
2067
-
2068
- <span class="ruby-identifier">hosts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">host</span><span class="ruby-operator">|</span>
2069
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Adding remote url to #{host}&quot;</span>)
2070
- <span class="ruby-identifier">add_remote_url</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">translate_url</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">config</span>.<span class="ruby-identifier">export</span>), <span class="ruby-identifier">config</span>)
2071
- <span class="ruby-keyword">end</span>
2072
- <span class="ruby-keyword">end</span>
2073
- <span class="ruby-keyword">end</span>
2074
- <span class="ruby-keyword">end</span>
2075
- <span class="ruby-keyword">end</span>
2076
- <span class="ruby-keyword">else</span>
2077
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Project #{self.name} does not meet the criteria for persistence and can not have remotes&quot;</span>)
2078
- <span class="ruby-keyword">end</span>
2079
- <span class="ruby-keyword">end</span></pre>
2080
- </div><!-- set_host_remote-source -->
2081
-
2082
- </div>
2083
-
2084
-
2085
-
2086
-
2087
- </div><!-- set_host_remote-method -->
2088
-
2089
-
2090
- <div id="method-i-set_location" class="method-detail ">
2091
-
2092
- <div class="method-heading">
2093
- <span class="method-name">set_location</span><span
2094
- class="method-args">(directory) { || ... }</span>
2095
- <span class="method-click-advice">click to toggle source</span>
2096
- </div>
2097
-
2098
-
2099
- <div class="method-description">
2100
-
2101
-
2102
-
2103
-
2104
-
2105
- <div class="method-source-code" id="set_location-source">
2106
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 243</span>
2107
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">set_location</span>(<span class="ruby-identifier">directory</span>)
2108
- <span class="ruby-identifier">set_directory</span>(<span class="ruby-identifier">directory</span>)
2109
-
2110
- <span class="ruby-keyword">yield</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
2111
-
2112
- <span class="ruby-identifier">init_project</span>
2113
- <span class="ruby-keyword">end</span></pre>
2114
- </div><!-- set_location-source -->
2115
-
2116
- </div>
2117
-
2118
-
2119
-
2120
-
2121
- </div><!-- set_location-method -->
2122
-
2123
-
2124
- <div id="method-i-set_remote" class="method-detail ">
2125
-
2126
- <div class="method-heading">
2127
- <span class="method-name">set_remote</span><span
2128
- class="method-args">(name, url, options = {}) { |url| ... }</span>
2129
- <span class="method-click-advice">click to toggle source</span>
2130
- </div>
2131
-
2132
-
2133
- <div class="method-description">
2134
-
2135
-
2136
-
2137
-
2138
-
2139
- <div class="method-source-code" id="set_remote-source">
2140
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 682</span>
2141
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">set_remote</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">url</span>, <span class="ruby-identifier">options</span> = {})
2142
- <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
2143
-
2144
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span>
2145
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
2146
- <span class="ruby-keyword">unless</span> <span class="ruby-identifier">url</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">empty?</span>
2147
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">url</span> = <span class="ruby-identifier">extension_set</span>(<span class="ruby-value">:set_remote</span>, <span class="ruby-identifier">url</span>, { <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span> })
2148
- <span class="ruby-identifier">delete_remote</span>(<span class="ruby-identifier">name</span>)
2149
-
2150
- <span class="ruby-identifier">url</span> = <span class="ruby-identifier">translate_edit_url</span>(<span class="ruby-identifier">url</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value">:edit</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:translate</span>, <span class="ruby-keyword">true</span>)
2151
-
2152
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Setting project remote #{name} to #{url}&quot;</span>)
2153
- <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">url</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
2154
- <span class="ruby-keyword">end</span>
2155
- <span class="ruby-keyword">end</span>
2156
- <span class="ruby-keyword">end</span>
2157
- <span class="ruby-keyword">else</span>
2158
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Project #{self.name} does not meet the criteria for persistence and can not have remotes&quot;</span>)
2159
- <span class="ruby-keyword">end</span>
2160
- <span class="ruby-keyword">end</span></pre>
2161
- </div><!-- set_remote-source -->
2162
-
2163
- </div>
2164
-
2165
-
2166
-
2167
-
2168
- </div><!-- set_remote-method -->
2169
-
2170
-
2171
- <div id="method-i-set_url" class="method-detail ">
2172
-
2173
- <div class="method-heading">
2174
- <span class="method-name">set_url</span><span
2175
- class="method-args">(url)</span>
2176
- <span class="method-click-advice">click to toggle source</span>
2177
- </div>
2178
-
2179
-
2180
- <div class="method-description">
2181
-
2182
-
2183
-
2184
-
2185
-
2186
- <div class="method-source-code" id="set_url-source">
2187
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 179</span>
2188
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">set_url</span>(<span class="ruby-identifier">url</span>)
2189
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">url</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">url</span> = <span class="ruby-identifier">extension_set</span>(<span class="ruby-value">:set_url</span>, <span class="ruby-identifier">url</span>.<span class="ruby-identifier">strip</span>)
2190
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Setting project #{name} url to #{url}&quot;</span>)
2191
-
2192
- <span class="ruby-identifier">set</span>(<span class="ruby-value">:url</span>, <span class="ruby-identifier">url</span>)
2193
- <span class="ruby-identifier">set_remote</span>(<span class="ruby-value">:origin</span>, <span class="ruby-identifier">url</span>)
2194
- <span class="ruby-keyword">end</span>
2195
- <span class="ruby-keyword">end</span></pre>
2196
- </div><!-- set_url-source -->
2197
-
2198
- </div>
2199
-
2200
-
2201
-
2202
-
2203
- </div><!-- set_url-method -->
2204
-
2205
-
2206
- <div id="method-i-subproject-3F" class="method-detail ">
2207
-
2208
- <div class="method-heading">
2209
- <span class="method-name">subproject?</span><span
2210
- class="method-args">(path)</span>
2211
- <span class="method-click-advice">click to toggle source</span>
2212
- </div>
2213
-
2214
-
2215
- <div class="method-description">
2216
-
2217
-
2218
-
2219
-
2220
-
2221
- <div class="method-source-code" id="subproject-3F-source">
2222
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 115</span>
2223
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">subproject?</span>(<span class="ruby-identifier">path</span>)
2224
- <span class="ruby-keyword">false</span>
2225
- <span class="ruby-keyword">end</span></pre>
2226
- </div><!-- subproject-3F-source -->
2227
-
2228
- </div>
2229
-
2230
-
2231
-
2232
-
2233
- </div><!-- subproject-3F-method -->
2234
-
2235
-
2236
- <div id="method-i-subprojects" class="method-detail ">
2237
-
2238
- <div class="method-heading">
2239
- <span class="method-name">subprojects</span><span
2240
- class="method-args">(default = nil)</span>
2241
- <span class="method-click-advice">click to toggle source</span>
2242
- </div>
2243
-
2244
-
2245
- <div class="method-description">
2246
-
2247
-
2248
-
2249
-
2250
-
2251
- <div class="method-source-code" id="subprojects-source">
2252
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 259</span>
2253
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">subprojects</span>(<span class="ruby-identifier">default</span> = <span class="ruby-keyword">nil</span>)
2254
- <span class="ruby-identifier">get</span>(<span class="ruby-value">:subprojects</span>, <span class="ruby-identifier">default</span>)
2255
- <span class="ruby-keyword">end</span></pre>
2256
- </div><!-- subprojects-source -->
2257
-
2258
- </div>
2259
-
2260
-
2261
-
2262
-
2263
- </div><!-- subprojects-method -->
2264
-
2265
-
2266
- <div id="method-i-top-3F" class="method-detail ">
2267
-
2268
- <div class="method-heading">
2269
- <span class="method-name">top?</span><span
2270
- class="method-args">(path)</span>
2271
- <span class="method-click-advice">click to toggle source</span>
2272
- </div>
2273
-
2274
-
2275
- <div class="method-description">
2276
-
2277
-
2278
-
2279
-
2280
-
2281
- <div class="method-source-code" id="top-3F-source">
2282
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 108</span>
2283
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">top?</span>(<span class="ruby-identifier">path</span>)
2284
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">path</span>)
2285
- <span class="ruby-keyword">false</span>
2286
- <span class="ruby-keyword">end</span></pre>
2287
- </div><!-- top-3F-source -->
2288
-
2289
- </div>
2290
-
2291
-
2292
-
2293
-
2294
- </div><!-- top-3F-method -->
2295
-
2296
-
2297
- <div id="method-i-translate_edit_url" class="method-detail ">
2298
-
2299
- <div class="method-heading">
2300
- <span class="method-name">translate_edit_url</span><span
2301
- class="method-args">(url, options = {}) { |config| ... }</span>
2302
- <span class="method-click-advice">click to toggle source</span>
2303
- </div>
2304
-
2305
-
2306
- <div class="method-description">
2307
-
2308
-
2309
-
2310
-
2311
-
2312
- <div class="method-source-code" id="translate_edit_url-source">
2313
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 957</span>
2314
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">translate_edit_url</span>(<span class="ruby-identifier">url</span>, <span class="ruby-identifier">options</span> = {})
2315
- <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
2316
-
2317
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
2318
- <span class="ruby-identifier">temp_url</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">config</span>)
2319
- <span class="ruby-identifier">url</span> = <span class="ruby-identifier">temp_url</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">temp_url</span>
2320
- <span class="ruby-keyword">end</span>
2321
- <span class="ruby-identifier">url</span>
2322
- <span class="ruby-keyword">end</span></pre>
2323
- </div><!-- translate_edit_url-source -->
2324
-
2325
- </div>
2326
-
2327
-
2328
-
2329
-
2330
- </div><!-- translate_edit_url-method -->
2331
-
2332
-
2333
- <div id="method-i-translate_reference" class="method-detail ">
2334
-
2335
- <div class="method-heading">
2336
- <span class="method-name">translate_reference</span><span
2337
- class="method-args">(reference, editable = false)</span>
2338
- <span class="method-click-advice">click to toggle source</span>
2339
- </div>
2340
-
2341
-
2342
- <div class="method-description">
2343
-
2344
-
2345
-
2346
-
2347
-
2348
- <div class="method-source-code" id="translate_reference-source">
2349
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 938</span>
2350
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">translate_reference</span>(<span class="ruby-identifier">reference</span>, <span class="ruby-identifier">editable</span> = <span class="ruby-keyword">false</span>)
2351
- <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">translate_reference</span>(<span class="ruby-identifier">reference</span>, <span class="ruby-identifier">editable</span>)
2352
- <span class="ruby-keyword">end</span></pre>
2353
- </div><!-- translate_reference-source -->
2354
-
2355
- </div>
2356
-
2357
-
2358
-
2359
-
2360
- </div><!-- translate_reference-method -->
2361
-
2362
-
2363
- <div id="method-i-translate_url" class="method-detail ">
2364
-
2365
- <div class="method-heading">
2366
- <span class="method-name">translate_url</span><span
2367
- class="method-args">(host, path, options = {}) { |config| ... }</span>
2368
- <span class="method-click-advice">click to toggle source</span>
2369
- </div>
2370
-
2371
-
2372
- <div class="method-description">
2373
-
2374
-
2375
-
2376
-
2377
-
2378
- <div class="method-source-code" id="translate_url-source">
2379
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 944</span>
2380
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">translate_url</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">options</span> = {})
2381
- <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
2382
- <span class="ruby-identifier">url</span> = <span class="ruby-node">&quot;#{host}/#{path}&quot;</span>
2383
-
2384
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
2385
- <span class="ruby-identifier">temp_url</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">config</span>)
2386
- <span class="ruby-identifier">url</span> = <span class="ruby-identifier">temp_url</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">temp_url</span>
2387
- <span class="ruby-keyword">end</span>
2388
- <span class="ruby-identifier">url</span>
2389
- <span class="ruby-keyword">end</span></pre>
2390
- </div><!-- translate_url-source -->
2391
-
2392
- </div>
2393
-
2394
-
2395
-
2396
-
2397
- </div><!-- translate_url-method -->
2398
-
2399
-
2400
- <div id="method-i-url" class="method-detail ">
2401
-
2402
- <div class="method-heading">
2403
- <span class="method-name">url</span><span
2404
- class="method-args">(default = nil)</span>
2405
- <span class="method-click-advice">click to toggle source</span>
2406
- </div>
2407
-
2408
-
2409
- <div class="method-description">
2410
-
2411
-
2412
-
2413
-
2414
-
2415
- <div class="method-source-code" id="url-source">
2416
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 173</span>
2417
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">url</span>(<span class="ruby-identifier">default</span> = <span class="ruby-keyword">nil</span>)
2418
- <span class="ruby-identifier">get</span>(<span class="ruby-value">:url</span>, <span class="ruby-identifier">default</span>)
2419
- <span class="ruby-keyword">end</span></pre>
2420
- </div><!-- url-source -->
2421
-
2422
- </div>
2423
-
2424
-
2425
-
2426
-
2427
- </div><!-- url-method -->
2428
-
2429
-
2430
- </section><!-- public-instance-method-details -->
2431
-
2432
- <section id="protected-instance-5Buntitled-5D-method-details" class="method-section section">
2433
- <h3 class="section-header">Protected Instance Methods</h3>
2434
-
2435
-
2436
- <div id="method-i-init_auth" class="method-detail ">
2437
-
2438
- <div class="method-heading">
2439
- <span class="method-name">init_auth</span><span
2440
- class="method-args">() { || ... }</span>
2441
- <span class="method-click-advice">click to toggle source</span>
2442
- </div>
2443
-
2444
-
2445
- <div class="method-description">
2446
-
2447
-
2448
-
2449
-
2450
-
2451
- <div class="method-source-code" id="init_auth-source">
2452
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 335</span>
2453
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">init_auth</span>
2454
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span>
2455
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
2456
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Initializing project #{name} authorization&quot;</span>)
2457
- <span class="ruby-keyword">yield</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
2458
- <span class="ruby-keyword">end</span>
2459
- <span class="ruby-keyword">else</span>
2460
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Project #{name} does not meet the criteria for persistence can not be authorized&quot;</span>)
2461
- <span class="ruby-keyword">end</span>
2462
- <span class="ruby-keyword">end</span></pre>
2463
- </div><!-- init_auth-source -->
2464
-
2465
- </div>
2466
-
2467
-
2468
-
2469
-
2470
- </div><!-- init_auth-method -->
2471
-
2472
-
2473
- <div id="method-i-init_cache" class="method-detail ">
2474
-
2475
- <div class="method-heading">
2476
- <span class="method-name">init_cache</span><span
2477
- class="method-args">()</span>
2478
- <span class="method-click-advice">click to toggle source</span>
2479
- </div>
2480
-
2481
-
2482
- <div class="method-description">
2483
-
2484
-
2485
-
2486
-
2487
-
2488
- <div class="method-source-code" id="init_cache-source">
2489
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 328</span>
2490
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">init_cache</span>
2491
- <span class="ruby-comment"># Override in providers if needed</span>
2492
- <span class="ruby-keyword">end</span></pre>
2493
- </div><!-- init_cache-source -->
2494
-
2495
- </div>
2496
-
2497
-
2498
-
2499
-
2500
- </div><!-- init_cache-method -->
2501
-
2502
-
2503
- <div id="method-i-init_parent" class="method-detail ">
2504
-
2505
- <div class="method-heading">
2506
- <span class="method-name">init_parent</span><span
2507
- class="method-args">()</span>
2508
- <span class="method-click-advice">click to toggle source</span>
2509
- </div>
2510
-
2511
-
2512
- <div class="method-description">
2513
-
2514
-
2515
-
2516
-
2517
-
2518
- <div class="method-source-code" id="init_parent-source">
2519
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 349</span>
2520
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">init_parent</span>
2521
- <span class="ruby-identifier">delete</span>(<span class="ruby-value">:parent</span>)
2522
-
2523
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Initializing project #{name} parents&quot;</span>)
2524
-
2525
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">top?</span>(<span class="ruby-identifier">directory</span>)
2526
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Project #{name} has no parents to initialize&quot;</span>)
2527
- <span class="ruby-keyword">else</span>
2528
- <span class="ruby-identifier">search_dir</span> = <span class="ruby-identifier">directory</span>
2529
- <span class="ruby-identifier">last_dir</span> = <span class="ruby-keyword">nil</span>
2530
-
2531
- <span class="ruby-keyword">while</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>((<span class="ruby-identifier">search_dir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-string">&#39;..&#39;</span>, <span class="ruby-identifier">search_dir</span>)))
2532
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Scanning directory #{search_dir} for parent project&quot;</span>)
2533
-
2534
- <span class="ruby-keyword">unless</span> <span class="ruby-identifier">last_dir</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">last_dir</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">search_dir</span>
2535
- <span class="ruby-keyword">break</span>
2536
- <span class="ruby-keyword">end</span>
2537
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">project_directory?</span>(<span class="ruby-identifier">search_dir</span>)
2538
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Directory #{search_dir} is a valid parent for this #{plugin_provider} project&quot;</span>)
2539
-
2540
- <span class="ruby-identifier">project</span> = <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">search_dir</span>, <span class="ruby-identifier">plugin_provider</span>)
2541
-
2542
- <span class="ruby-identifier">extension</span>(<span class="ruby-value">:init_parent</span>, { <span class="ruby-value">:parent</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">project</span> })
2543
-
2544
- <span class="ruby-identifier">set</span>(<span class="ruby-value">:parent</span>, <span class="ruby-identifier">project</span>)
2545
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Setting parent to #{parent.inspect}&quot;</span>)
2546
- <span class="ruby-keyword">break</span>;
2547
- <span class="ruby-keyword">end</span>
2548
- <span class="ruby-identifier">last_dir</span> = <span class="ruby-identifier">search_dir</span>
2549
- <span class="ruby-keyword">end</span>
2550
- <span class="ruby-keyword">end</span>
2551
- <span class="ruby-keyword">end</span></pre>
2552
- </div><!-- init_parent-source -->
2553
-
2554
- </div>
2555
-
2556
-
2557
-
2558
-
2559
- </div><!-- init_parent-method -->
2560
-
2561
-
2562
- <div id="method-i-init_remotes" class="method-detail ">
2563
-
2564
- <div class="method-heading">
2565
- <span class="method-name">init_remotes</span><span
2566
- class="method-args">() { || ... }</span>
2567
- <span class="method-click-advice">click to toggle source</span>
2568
- </div>
2569
-
2570
-
2571
- <div class="method-description">
2572
-
2573
-
2574
-
2575
-
2576
-
2577
- <div class="method-source-code" id="init_remotes-source">
2578
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 648</span>
2579
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">init_remotes</span>
2580
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span>
2581
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
2582
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Initializing project #{name} remotes&quot;</span>)
2583
-
2584
- <span class="ruby-identifier">origin_url</span> = <span class="ruby-identifier">url</span>
2585
- <span class="ruby-identifier">origin_url</span> = <span class="ruby-keyword">yield</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
2586
-
2587
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">origin_url</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">origin_url</span> = <span class="ruby-identifier">extension_set</span>(<span class="ruby-value">:init_remotes</span>, <span class="ruby-identifier">origin_url</span>).<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span>
2588
- <span class="ruby-identifier">set</span>(<span class="ruby-value">:url</span>, <span class="ruby-identifier">origin_url</span>)
2589
- <span class="ruby-identifier">set_edit_url</span>(<span class="ruby-identifier">translate_edit_url</span>(<span class="ruby-identifier">url</span>))
2590
- <span class="ruby-keyword">end</span>
2591
- <span class="ruby-keyword">end</span>
2592
- <span class="ruby-keyword">else</span>
2593
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Project #{name} does not meet the criteria for persistence and can not have remotes&quot;</span>)
2594
- <span class="ruby-keyword">end</span>
2595
- <span class="ruby-keyword">end</span></pre>
2596
- </div><!-- init_remotes-source -->
2597
-
2598
- </div>
2599
-
2600
-
2601
-
2602
-
2603
- </div><!-- init_remotes-method -->
2604
-
2605
-
2606
- <div id="method-i-load_revision" class="method-detail ">
2607
-
2608
- <div class="method-heading">
2609
- <span class="method-name">load_revision</span><span
2610
- class="method-args">() { || ... }</span>
2611
- <span class="method-click-advice">click to toggle source</span>
2612
- </div>
2613
-
2614
-
2615
- <div class="method-description">
2616
-
2617
-
2618
-
2619
-
2620
-
2621
- <div class="method-source-code" id="load_revision-source">
2622
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 385</span>
2623
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">load_revision</span>
2624
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span>
2625
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
2626
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Loading project #{plugin_name} revision&quot;</span>)
2627
-
2628
- <span class="ruby-identifier">specified_revision</span> = <span class="ruby-identifier">get</span>(<span class="ruby-value">:revision</span>, <span class="ruby-keyword">nil</span>)
2629
-
2630
- <span class="ruby-identifier">current_revision</span> = <span class="ruby-identifier">revision</span>.<span class="ruby-identifier">to_s</span>
2631
- <span class="ruby-identifier">current_revision</span> = <span class="ruby-keyword">yield</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
2632
-
2633
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">current_revision</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">extended_revision</span> = <span class="ruby-identifier">extension_set</span>(<span class="ruby-value">:load_revision</span>, <span class="ruby-identifier">specified_revision</span>).<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span>
2634
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">extended_revision</span>.<span class="ruby-identifier">empty?</span>
2635
- <span class="ruby-identifier">extended_revision</span> = <span class="ruby-identifier">current_revision</span>
2636
- <span class="ruby-keyword">end</span>
2637
-
2638
- <span class="ruby-identifier">set</span>(<span class="ruby-value">:revision</span>, <span class="ruby-identifier">extended_revision</span>)
2639
- <span class="ruby-identifier">checkout</span>(<span class="ruby-identifier">extended_revision</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">current_revision</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">extended_revision</span>
2640
-
2641
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Loaded revision: #{revision}&quot;</span>)
2642
-
2643
- <span class="ruby-identifier">load_subprojects</span>
2644
- <span class="ruby-keyword">end</span>
2645
- <span class="ruby-keyword">end</span>
2646
- <span class="ruby-keyword">else</span>
2647
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Project #{name} does not meet the criteria for persistence and has no revision&quot;</span>)
2648
- <span class="ruby-keyword">end</span>
2649
- <span class="ruby-keyword">end</span></pre>
2650
- </div><!-- load_revision-source -->
2651
-
2652
- </div>
2653
-
2654
-
2655
-
2656
-
2657
- </div><!-- load_revision-method -->
2658
-
2659
-
2660
- <div id="method-i-load_subprojects" class="method-detail ">
2661
-
2662
- <div class="method-heading">
2663
- <span class="method-name">load_subprojects</span><span
2664
- class="method-args">(options = {}) { |project_path, data| ... }</span>
2665
- <span class="method-click-advice">click to toggle source</span>
2666
- </div>
2667
-
2668
-
2669
- <div class="method-description">
2670
-
2671
-
2672
-
2673
-
2674
-
2675
- <div class="method-source-code" id="load_subprojects-source">
2676
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 499</span>
2677
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">load_subprojects</span>(<span class="ruby-identifier">options</span> = {})
2678
- <span class="ruby-identifier">subprojects</span> = {}
2679
-
2680
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span>
2681
- <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
2682
-
2683
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Loading sub projects for project #{name}&quot;</span>)
2684
-
2685
- <span class="ruby-identifier">subproject_config</span>(<span class="ruby-identifier">config</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>
2686
- <span class="ruby-identifier">project_path</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">directory</span>, <span class="ruby-identifier">path</span>)
2687
-
2688
- <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">project_path</span>)
2689
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Checking if project path #{project_path} is a valid sub project&quot;</span>)
2690
-
2691
- <span class="ruby-identifier">add_project</span> = <span class="ruby-keyword">true</span>
2692
- <span class="ruby-identifier">add_project</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">project_path</span>, <span class="ruby-identifier">data</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
2693
-
2694
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">add_project</span>
2695
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Directory #{project_path} is a valid sub project for this #{plugin_provider} project&quot;</span>)
2696
-
2697
- <span class="ruby-identifier">project</span> = <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">project_path</span>, <span class="ruby-identifier">plugin_provider</span>)
2698
-
2699
- <span class="ruby-identifier">extension</span>(<span class="ruby-value">:load_project</span>, { <span class="ruby-value">:project</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">project</span> })
2700
- <span class="ruby-identifier">subprojects</span>[<span class="ruby-identifier">path</span>] = <span class="ruby-identifier">project</span>
2701
- <span class="ruby-keyword">else</span>
2702
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Directory #{project_path} is not a valid sub project for this #{plugin_provider} project&quot;</span>)
2703
- <span class="ruby-keyword">end</span>
2704
- <span class="ruby-keyword">else</span>
2705
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Sub project configuration points to a location that is not a directory: #{project_path}&quot;</span>)
2706
- <span class="ruby-keyword">end</span>
2707
- <span class="ruby-keyword">end</span>
2708
- <span class="ruby-keyword">else</span>
2709
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Project #{name} does not meet the criteria for persistence and can not have sub projects&quot;</span>)
2710
- <span class="ruby-keyword">end</span>
2711
- <span class="ruby-identifier">set</span>(<span class="ruby-value">:subprojects</span>, <span class="ruby-identifier">subprojects</span>)
2712
- <span class="ruby-keyword">end</span></pre>
2713
- </div><!-- load_subprojects-source -->
2714
-
2715
- </div>
2716
-
2717
-
2718
-
2719
-
2720
- </div><!-- load_subprojects-method -->
2721
-
2722
-
2723
- <div id="method-i-project_directory-3F" class="method-detail ">
2724
-
2725
- <div class="method-heading">
2726
- <span class="method-name">project_directory?</span><span
2727
- class="method-args">(path, require_top_level = false)</span>
2728
- <span class="method-click-advice">click to toggle source</span>
2729
- </div>
2730
-
2731
-
2732
- <div class="method-description">
2733
-
2734
-
2735
-
2736
-
2737
-
2738
- <div class="method-source-code" id="project_directory-3F-source">
2739
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 121</span>
2740
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">project_directory?</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">require_top_level</span> = <span class="ruby-keyword">false</span>)
2741
- <span class="ruby-identifier">path</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">path</span>)
2742
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">path</span>) <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-operator">!</span> <span class="ruby-identifier">require_top_level</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">top?</span>(<span class="ruby-identifier">path</span>))
2743
- <span class="ruby-keyword">false</span>
2744
- <span class="ruby-keyword">end</span></pre>
2745
- </div><!-- project_directory-3F-source -->
2746
-
2747
- </div>
2748
-
2749
-
2750
-
2751
-
2752
- </div><!-- project_directory-3F-method -->
2753
-
2754
-
2755
- <div id="method-i-set_directory" class="method-detail ">
2756
-
2757
- <div class="method-heading">
2758
- <span class="method-name">set_directory</span><span
2759
- class="method-args">(directory)</span>
2760
- <span class="method-click-advice">click to toggle source</span>
2761
- </div>
2762
-
2763
-
2764
- <div class="method-description">
2765
-
2766
-
2767
-
2768
-
2769
-
2770
- <div class="method-source-code" id="set_directory-source">
2771
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 223</span>
2772
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">set_directory</span>(<span class="ruby-identifier">directory</span>)
2773
- <span class="ruby-keyword">if</span> <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">empty?</span>(<span class="ruby-identifier">directory</span>)
2774
- <span class="ruby-identifier">current_directory</span> = <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>
2775
- <span class="ruby-keyword">else</span>
2776
- <span class="ruby-identifier">current_directory</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Disk</span>.<span class="ruby-identifier">filename</span>(<span class="ruby-identifier">directory</span>))
2777
- <span class="ruby-keyword">end</span>
2778
-
2779
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">current_directory</span> = <span class="ruby-identifier">extension_set</span>(<span class="ruby-value">:set_directory</span>, <span class="ruby-identifier">current_directory</span>)
2780
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Setting project #{name} directory to #{current_directory}&quot;</span>)
2781
-
2782
- <span class="ruby-identifier">@@projects</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">get</span>(<span class="ruby-value">:directory</span>)) <span class="ruby-keyword">if</span> <span class="ruby-identifier">get</span>(<span class="ruby-value">:directory</span>)
2783
- <span class="ruby-identifier">@@projects</span>[<span class="ruby-identifier">current_directory</span>] = <span class="ruby-identifier">myself</span>
2784
-
2785
- <span class="ruby-identifier">set</span>(<span class="ruby-value">:directory</span>, <span class="ruby-identifier">current_directory</span>)
2786
- <span class="ruby-keyword">end</span>
2787
- <span class="ruby-keyword">end</span></pre>
2788
- </div><!-- set_directory-source -->
2789
-
2790
- </div>
2791
-
2792
-
2793
-
2794
-
2795
- </div><!-- set_directory-method -->
2796
-
2797
-
2798
- <div id="method-i-subproject_config" class="method-detail ">
2799
-
2800
- <div class="method-heading">
2801
- <span class="method-name">subproject_config</span><span
2802
- class="method-args">(options = {}) { |config| ... }</span>
2803
- <span class="method-click-advice">click to toggle source</span>
2804
- </div>
2805
-
2806
-
2807
- <div class="method-description">
2808
-
2809
-
2810
-
2811
-
2812
-
2813
- <div class="method-source-code" id="subproject_config-source">
2814
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 308</span>
2815
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">subproject_config</span>(<span class="ruby-identifier">options</span> = {})
2816
- <span class="ruby-identifier">result</span> = {}
2817
-
2818
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
2819
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span>
2820
- <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
2821
- <span class="ruby-identifier">result</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
2822
-
2823
- <span class="ruby-identifier">extension</span>(<span class="ruby-value">:subproject_config</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">result</span> })
2824
-
2825
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Subproject configuration: #{result.inspect}&quot;</span>)
2826
- <span class="ruby-keyword">end</span>
2827
- <span class="ruby-keyword">end</span>
2828
- <span class="ruby-identifier">result</span>
2829
- <span class="ruby-keyword">end</span></pre>
2830
- </div><!-- subproject_config-source -->
2831
-
2832
- </div>
2833
-
2834
-
2835
-
2836
-
2837
- </div><!-- subproject_config-method -->
2838
-
2839
-
2840
- <div id="method-i-update_subprojects" class="method-detail ">
2841
-
2842
- <div class="method-heading">
2843
- <span class="method-name">update_subprojects</span><span
2844
- class="method-args">(options = {}) { |config| ... }</span>
2845
- <span class="method-click-advice">click to toggle source</span>
2846
- </div>
2847
-
2848
-
2849
- <div class="method-description">
2850
-
2851
-
2852
-
2853
-
2854
-
2855
- <div class="method-source-code" id="update_subprojects-source">
2856
- <pre><span class="ruby-comment"># File lib/core/plugin/project.rb, line 603</span>
2857
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">update_subprojects</span>(<span class="ruby-identifier">options</span> = {})
2858
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">can_persist?</span>
2859
- <span class="ruby-identifier">localize</span> <span class="ruby-keyword">do</span>
2860
- <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
2861
-
2862
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:update_projects</span>)
2863
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Updating sub projects in project #{name}&quot;</span>)
2864
-
2865
- <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span>
2866
- <span class="ruby-identifier">success</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
2867
-
2868
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
2869
- <span class="ruby-identifier">extension</span>(<span class="ruby-value">:update_projects_success</span>)
2870
- <span class="ruby-identifier">load_subprojects</span>
2871
- <span class="ruby-keyword">end</span>
2872
- <span class="ruby-keyword">end</span>
2873
- <span class="ruby-keyword">end</span>
2874
- <span class="ruby-keyword">else</span>
2875
- <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Project #{name} does not meet the criteria for persistence and can not have sub projects&quot;</span>)
2876
- <span class="ruby-keyword">end</span>
2877
- <span class="ruby-keyword">end</span></pre>
2878
- </div><!-- update_subprojects-source -->
2879
-
2880
- </div>
2881
-
2882
-
2883
-
2884
-
2885
- </div><!-- update_subprojects-method -->
2886
-
2887
-
2888
- </section><!-- protected-instance-method-details -->
2889
-
2890
- </section><!-- 5Buntitled-5D -->
2891
-
2892
- </div><!-- documentation -->
2893
-
2894
-
2895
- <footer id="validator-badges">
2896
- <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
2897
- <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.2.
2898
- <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
2899
- </footer>
2900
-