qb 0.1.10 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (306) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +12 -0
  3. data/.qb-options.yml +2 -0
  4. data/bin/qb +2 -0
  5. data/{scratch → dev/scratch}/case.rb +0 -0
  6. data/dev/setup.yml +4 -0
  7. data/exe/qb +65 -18
  8. data/lib/qb/version.rb +7 -1
  9. data/qb.gemspec +26 -1
  10. data/roles/nrser.blockinfile/CONTRIBUTING.md +19 -0
  11. data/roles/nrser.blockinfile/README.md +262 -0
  12. data/roles/nrser.blockinfile/library/blockinfile.py +354 -0
  13. data/roles/nrser.blockinfile/meta/main.yml +10 -0
  14. data/roles/nrser.blockinfile/tests/.gitignore +1 -0
  15. data/roles/nrser.blockinfile/tests/expected/test-basic/create.txt +5 -0
  16. data/roles/nrser.blockinfile/tests/expected/test-basic/insert.txt +6 -0
  17. data/roles/nrser.blockinfile/tests/expected/test-basic/marker.txt +5 -0
  18. data/roles/nrser.blockinfile/tests/expected/test-basic/remove.txt +2 -0
  19. data/roles/nrser.blockinfile/tests/expected/test-basic/update.txt +6 -0
  20. data/roles/nrser.blockinfile/tests/expected/test-block/block.txt +4 -0
  21. data/roles/nrser.blockinfile/tests/expected/test-block/content.txt +4 -0
  22. data/roles/nrser.blockinfile/tests/expected/test-follow/link0.txt +6 -0
  23. data/roles/nrser.blockinfile/tests/expected/test-follow/link1.txt +6 -0
  24. data/roles/nrser.blockinfile/tests/expected/test-follow/link2.txt +1 -0
  25. data/roles/nrser.blockinfile/tests/expected/test-follow/real0.txt +2 -0
  26. data/roles/nrser.blockinfile/tests/expected/test-follow/real1.txt +2 -0
  27. data/roles/nrser.blockinfile/tests/expected/test-follow/real2.txt +6 -0
  28. data/roles/nrser.blockinfile/tests/expected/test-insertab/insertafter.txt +8 -0
  29. data/roles/nrser.blockinfile/tests/expected/test-insertab/insertbefore.txt +8 -0
  30. data/roles/nrser.blockinfile/tests/expected/test-insertab/insertbof.txt +8 -0
  31. data/roles/nrser.blockinfile/tests/expected/test-insertab/inserteof.txt +8 -0
  32. data/roles/nrser.blockinfile/tests/expected/test-insertab/insertunmatched.txt +8 -0
  33. data/roles/nrser.blockinfile/tests/expected/test-insertab/updateafter.txt +8 -0
  34. data/roles/nrser.blockinfile/tests/expected/test-insertab/updatebefore.txt +8 -0
  35. data/roles/nrser.blockinfile/tests/expected/test-multiline/insert.txt +11 -0
  36. data/roles/nrser.blockinfile/tests/expected/test-multiline/remove.txt +2 -0
  37. data/roles/nrser.blockinfile/tests/expected/test-multiline/update.txt +12 -0
  38. data/roles/nrser.blockinfile/tests/expected/test-replace/index.html +6 -0
  39. data/roles/nrser.blockinfile/tests/expected/test-state/insert-present.txt +5 -0
  40. data/roles/nrser.blockinfile/tests/expected/test-state/insert.txt +5 -0
  41. data/roles/nrser.blockinfile/tests/expected/test-state/remove-absent.txt +2 -0
  42. data/roles/nrser.blockinfile/tests/expected/test-state/remove-present.txt +2 -0
  43. data/roles/nrser.blockinfile/tests/expected/test-state/remove.txt +2 -0
  44. data/roles/nrser.blockinfile/tests/fixtures/test-basic/insert.txt +2 -0
  45. data/roles/nrser.blockinfile/tests/fixtures/test-basic/marker.txt +1 -0
  46. data/roles/nrser.blockinfile/tests/fixtures/test-basic/remove.txt +6 -0
  47. data/roles/nrser.blockinfile/tests/fixtures/test-basic/update.txt +6 -0
  48. data/roles/nrser.blockinfile/tests/fixtures/test-block/block.txt +1 -0
  49. data/roles/nrser.blockinfile/tests/fixtures/test-block/content.txt +1 -0
  50. data/roles/nrser.blockinfile/tests/fixtures/test-follow/link0.txt +1 -0
  51. data/roles/nrser.blockinfile/tests/fixtures/test-follow/link1.txt +1 -0
  52. data/roles/nrser.blockinfile/tests/fixtures/test-follow/link2.txt +1 -0
  53. data/roles/nrser.blockinfile/tests/fixtures/test-follow/real0.txt +2 -0
  54. data/roles/nrser.blockinfile/tests/fixtures/test-follow/real1.txt +2 -0
  55. data/roles/nrser.blockinfile/tests/fixtures/test-follow/real2.txt +2 -0
  56. data/roles/nrser.blockinfile/tests/fixtures/test-insertab/insertafter.txt +4 -0
  57. data/roles/nrser.blockinfile/tests/fixtures/test-insertab/insertbefore.txt +4 -0
  58. data/roles/nrser.blockinfile/tests/fixtures/test-insertab/insertbof.txt +4 -0
  59. data/roles/nrser.blockinfile/tests/fixtures/test-insertab/inserteof.txt +4 -0
  60. data/roles/nrser.blockinfile/tests/fixtures/test-insertab/insertunmatched.txt +4 -0
  61. data/roles/nrser.blockinfile/tests/fixtures/test-insertab/updateafter.txt +8 -0
  62. data/roles/nrser.blockinfile/tests/fixtures/test-insertab/updatebefore.txt +8 -0
  63. data/roles/nrser.blockinfile/tests/fixtures/test-multiline/insert.txt +2 -0
  64. data/roles/nrser.blockinfile/tests/fixtures/test-multiline/remove.txt +11 -0
  65. data/roles/nrser.blockinfile/tests/fixtures/test-multiline/update.txt +12 -0
  66. data/roles/nrser.blockinfile/tests/fixtures/test-replace/index.html +1 -0
  67. data/roles/nrser.blockinfile/tests/fixtures/test-state/insert-present.txt +2 -0
  68. data/roles/nrser.blockinfile/tests/fixtures/test-state/insert.txt +2 -0
  69. data/roles/nrser.blockinfile/tests/fixtures/test-state/remove-absent.txt +6 -0
  70. data/roles/nrser.blockinfile/tests/fixtures/test-state/remove-present.txt +6 -0
  71. data/roles/nrser.blockinfile/tests/fixtures/test-state/remove.txt +6 -0
  72. data/roles/nrser.blockinfile/tests/hosts +1 -0
  73. data/roles/nrser.blockinfile/tests/roles/yaegashi.blockinfile +1 -0
  74. data/roles/nrser.blockinfile/tests/run.sh +64 -0
  75. data/roles/nrser.blockinfile/tests/test-basic.yml +31 -0
  76. data/roles/nrser.blockinfile/tests/test-block.yml +16 -0
  77. data/roles/nrser.blockinfile/tests/test-follow.yml +21 -0
  78. data/roles/nrser.blockinfile/tests/test-insertab.yml +34 -0
  79. data/roles/nrser.blockinfile/tests/test-multiline.yml +51 -0
  80. data/roles/nrser.blockinfile/tests/test-replace.yml +21 -0
  81. data/roles/nrser.blockinfile/tests/test-state.yml +32 -0
  82. data/roles/nrser.rb/.gitignore +31 -0
  83. data/roles/nrser.rb/library/sync.rb +52 -0
  84. data/roles/nrser.rb/library/vars.rb +63 -0
  85. data/roles/{qb.meteor_react_component → nrser.rb}/meta/main.yml +1 -1
  86. data/roles/nrser.rbenv_gem/README.md +38 -0
  87. data/roles/nrser.rbenv_gem/VERSION +1 -0
  88. data/roles/nrser.rbenv_gem/defaults/main.yml +5 -0
  89. data/roles/nrser.rbenv_gem/handlers/main.yml +2 -0
  90. data/roles/nrser.rbenv_gem/meta/main.yml +9 -0
  91. data/roles/nrser.rbenv_gem/tasks/clone-repo.yml +24 -0
  92. data/roles/nrser.rbenv_gem/tasks/main.yml +46 -0
  93. data/roles/nrser.rbenv_gem/tasks/manage-source.yml +48 -0
  94. data/roles/nrser.rbenv_gem/tasks/manage-version.yml +45 -0
  95. data/roles/nrser.rbenv_gem/vars/main.yml +2 -0
  96. data/roles/qb.build_gem/tasks/main.yml +2 -1
  97. data/roles/qb.gitignore/defaults/main.yml +1 -1
  98. data/roles/qb.gitignore/files/gitignore/.github/PULL_REQUEST_TEMPLATE.md +11 -0
  99. data/roles/qb.gitignore/files/gitignore/Actionscript.gitignore +11 -0
  100. data/roles/qb.gitignore/files/gitignore/Ada.gitignore +5 -0
  101. data/roles/qb.gitignore/files/gitignore/Agda.gitignore +1 -0
  102. data/roles/qb.gitignore/files/gitignore/Android.gitignore +39 -0
  103. data/roles/qb.gitignore/files/gitignore/AppEngine.gitignore +2 -0
  104. data/roles/qb.gitignore/files/gitignore/AppceleratorTitanium.gitignore +3 -0
  105. data/roles/qb.gitignore/files/gitignore/ArchLinuxPackages.gitignore +13 -0
  106. data/roles/qb.gitignore/files/gitignore/Autotools.gitignore +18 -0
  107. data/roles/qb.gitignore/files/gitignore/C++.gitignore +28 -0
  108. data/roles/qb.gitignore/files/gitignore/C.gitignore +32 -0
  109. data/roles/qb.gitignore/files/gitignore/CFWheels.gitignore +12 -0
  110. data/roles/qb.gitignore/files/gitignore/CMake.gitignore +6 -0
  111. data/roles/qb.gitignore/files/gitignore/CONTRIBUTING.md +34 -0
  112. data/roles/qb.gitignore/files/gitignore/CUDA.gitignore +6 -0
  113. data/roles/qb.gitignore/files/gitignore/CakePHP.gitignore +25 -0
  114. data/roles/qb.gitignore/files/gitignore/ChefCookbook.gitignore +9 -0
  115. data/roles/qb.gitignore/files/gitignore/Clojure.gitignore +1 -0
  116. data/roles/qb.gitignore/files/gitignore/CodeIgniter.gitignore +6 -0
  117. data/roles/qb.gitignore/files/gitignore/CommonLisp.gitignore +3 -0
  118. data/roles/qb.gitignore/files/gitignore/Composer.gitignore +6 -0
  119. data/roles/qb.gitignore/files/gitignore/Concrete5.gitignore +4 -0
  120. data/roles/qb.gitignore/files/gitignore/Coq.gitignore +3 -0
  121. data/roles/qb.gitignore/files/gitignore/CraftCMS.gitignore +3 -0
  122. data/roles/qb.gitignore/files/gitignore/D.gitignore +20 -0
  123. data/roles/qb.gitignore/files/gitignore/DM.gitignore +5 -0
  124. data/roles/qb.gitignore/files/gitignore/Dart.gitignore +27 -0
  125. data/roles/qb.gitignore/files/gitignore/Delphi.gitignore +66 -0
  126. data/roles/qb.gitignore/files/gitignore/Drupal.gitignore +36 -0
  127. data/roles/qb.gitignore/files/gitignore/EPiServer.gitignore +4 -0
  128. data/roles/qb.gitignore/files/gitignore/Eagle.gitignore +44 -0
  129. data/roles/qb.gitignore/files/gitignore/Elisp.gitignore +5 -0
  130. data/roles/qb.gitignore/files/gitignore/Elixir.gitignore +5 -0
  131. data/roles/qb.gitignore/files/gitignore/Elm.gitignore +4 -0
  132. data/roles/qb.gitignore/files/gitignore/Erlang.gitignore +10 -0
  133. data/roles/qb.gitignore/files/gitignore/ExpressionEngine.gitignore +19 -0
  134. data/roles/qb.gitignore/files/gitignore/ExtJs.gitignore +4 -0
  135. data/roles/qb.gitignore/files/gitignore/Fancy.gitignore +2 -0
  136. data/roles/qb.gitignore/files/gitignore/Finale.gitignore +13 -0
  137. data/roles/qb.gitignore/files/gitignore/ForceDotCom.gitignore +4 -0
  138. data/roles/qb.gitignore/files/gitignore/Fortran.gitignore +1 -0
  139. data/roles/qb.gitignore/files/gitignore/FuelPHP.gitignore +21 -0
  140. data/roles/qb.gitignore/files/gitignore/GWT.gitignore +28 -0
  141. data/roles/qb.gitignore/files/gitignore/Gcov.gitignore +5 -0
  142. data/roles/qb.gitignore/files/gitignore/Gem.gitignore +3 -0
  143. data/roles/qb.gitignore/files/gitignore/GitBook.gitignore +16 -0
  144. data/roles/qb.gitignore/files/gitignore/Global/Anjuta.gitignore +3 -0
  145. data/roles/qb.gitignore/files/gitignore/Global/Archives.gitignore +27 -0
  146. data/roles/qb.gitignore/files/gitignore/Global/BricxCC.gitignore +4 -0
  147. data/roles/qb.gitignore/files/gitignore/Global/CVS.gitignore +4 -0
  148. data/roles/qb.gitignore/files/gitignore/Global/Calabash.gitignore +10 -0
  149. data/roles/qb.gitignore/files/gitignore/Global/Cloud9.gitignore +3 -0
  150. data/roles/qb.gitignore/files/gitignore/Global/CodeKit.gitignore +3 -0
  151. data/roles/qb.gitignore/files/gitignore/Global/DartEditor.gitignore +2 -0
  152. data/roles/qb.gitignore/files/gitignore/Global/Dreamweaver.gitignore +7 -0
  153. data/roles/qb.gitignore/files/gitignore/Global/Dropbox.gitignore +4 -0
  154. data/roles/qb.gitignore/files/gitignore/Global/Eclipse.gitignore +51 -0
  155. data/roles/qb.gitignore/files/gitignore/Global/EiffelStudio.gitignore +2 -0
  156. data/roles/qb.gitignore/files/gitignore/Global/Emacs.gitignore +41 -0
  157. data/roles/qb.gitignore/files/gitignore/Global/Ensime.gitignore +4 -0
  158. data/roles/qb.gitignore/files/gitignore/Global/Espresso.gitignore +1 -0
  159. data/roles/qb.gitignore/files/gitignore/Global/FlexBuilder.gitignore +3 -0
  160. data/roles/qb.gitignore/files/gitignore/Global/GPG.gitignore +2 -0
  161. data/roles/qb.gitignore/files/gitignore/Global/IPythonNotebook.gitignore +2 -0
  162. data/roles/qb.gitignore/files/gitignore/Global/JDeveloper.gitignore +13 -0
  163. data/roles/qb.gitignore/files/gitignore/Global/JetBrains.gitignore +44 -0
  164. data/roles/qb.gitignore/files/gitignore/Global/KDevelop4.gitignore +2 -0
  165. data/roles/qb.gitignore/files/gitignore/Global/Kate.gitignore +3 -0
  166. data/roles/qb.gitignore/files/gitignore/Global/Lazarus.gitignore +30 -0
  167. data/roles/qb.gitignore/files/gitignore/Global/LibreOffice.gitignore +2 -0
  168. data/roles/qb.gitignore/files/gitignore/Global/Linux.gitignore +10 -0
  169. data/roles/qb.gitignore/files/gitignore/Global/LyX.gitignore +4 -0
  170. data/roles/qb.gitignore/files/gitignore/Global/Matlab.gitignore +19 -0
  171. data/roles/qb.gitignore/files/gitignore/Global/Mercurial.gitignore +6 -0
  172. data/roles/qb.gitignore/files/gitignore/Global/MicrosoftOffice.gitignore +13 -0
  173. data/roles/qb.gitignore/files/gitignore/Global/ModelSim.gitignore +23 -0
  174. data/roles/qb.gitignore/files/gitignore/Global/Momentics.gitignore +8 -0
  175. data/roles/qb.gitignore/files/gitignore/Global/MonoDevelop.gitignore +8 -0
  176. data/roles/qb.gitignore/files/gitignore/Global/NetBeans.gitignore +7 -0
  177. data/roles/qb.gitignore/files/gitignore/Global/Ninja.gitignore +2 -0
  178. data/roles/qb.gitignore/files/gitignore/Global/NotepadPP.gitignore +2 -0
  179. data/roles/qb.gitignore/files/gitignore/Global/OSX.gitignore +24 -0
  180. data/roles/qb.gitignore/files/gitignore/Global/Otto.gitignore +1 -0
  181. data/roles/qb.gitignore/files/gitignore/Global/README.md +10 -0
  182. data/roles/qb.gitignore/files/gitignore/Global/Redcar.gitignore +1 -0
  183. data/roles/qb.gitignore/files/gitignore/Global/Redis.gitignore +3 -0
  184. data/roles/qb.gitignore/files/gitignore/Global/SBT.gitignore +9 -0
  185. data/roles/qb.gitignore/files/gitignore/Global/SVN.gitignore +1 -0
  186. data/roles/qb.gitignore/files/gitignore/Global/SlickEdit.gitignore +11 -0
  187. data/roles/qb.gitignore/files/gitignore/Global/SublimeText.gitignore +14 -0
  188. data/roles/qb.gitignore/files/gitignore/Global/SynopsysVCS.gitignore +36 -0
  189. data/roles/qb.gitignore/files/gitignore/Global/Tags.gitignore +16 -0
  190. data/roles/qb.gitignore/files/gitignore/Global/TextMate.gitignore +3 -0
  191. data/roles/qb.gitignore/files/gitignore/Global/TortoiseGit.gitignore +2 -0
  192. data/roles/qb.gitignore/files/gitignore/Global/Vagrant.gitignore +1 -0
  193. data/roles/qb.gitignore/files/gitignore/Global/Vim.gitignore +10 -0
  194. data/roles/qb.gitignore/files/gitignore/Global/VirtualEnv.gitignore +12 -0
  195. data/roles/qb.gitignore/files/gitignore/Global/VisualStudioCode.gitignore +2 -0
  196. data/roles/qb.gitignore/files/gitignore/Global/WebMethods.gitignore +14 -0
  197. data/roles/qb.gitignore/files/gitignore/Global/Windows.gitignore +18 -0
  198. data/roles/qb.gitignore/files/gitignore/Global/Xcode.gitignore +23 -0
  199. data/roles/qb.gitignore/files/gitignore/Global/XilinxISE.gitignore +67 -0
  200. data/roles/qb.gitignore/files/gitignore/Go.gitignore +24 -0
  201. data/roles/qb.gitignore/files/gitignore/Gradle.gitignore +14 -0
  202. data/roles/qb.gitignore/files/gitignore/Grails.gitignore +33 -0
  203. data/roles/qb.gitignore/files/gitignore/Haskell.gitignore +17 -0
  204. data/roles/qb.gitignore/files/gitignore/IGORPro.gitignore +5 -0
  205. data/roles/qb.gitignore/files/gitignore/Idris.gitignore +2 -0
  206. data/roles/qb.gitignore/files/gitignore/Java.gitignore +12 -0
  207. data/roles/qb.gitignore/files/gitignore/Jboss.gitignore +19 -0
  208. data/roles/qb.gitignore/files/gitignore/Jekyll.gitignore +3 -0
  209. data/roles/qb.gitignore/files/gitignore/Joomla.gitignore +546 -0
  210. data/roles/qb.gitignore/files/gitignore/KiCad.gitignore +20 -0
  211. data/roles/qb.gitignore/files/gitignore/Kohana.gitignore +2 -0
  212. data/roles/qb.gitignore/files/gitignore/LICENSE +19 -0
  213. data/roles/qb.gitignore/files/gitignore/LabVIEW.gitignore +16 -0
  214. data/roles/qb.gitignore/files/gitignore/Laravel.gitignore +16 -0
  215. data/roles/qb.gitignore/files/gitignore/Leiningen.gitignore +12 -0
  216. data/roles/qb.gitignore/files/gitignore/LemonStand.gitignore +21 -0
  217. data/roles/qb.gitignore/files/gitignore/Lilypond.gitignore +6 -0
  218. data/roles/qb.gitignore/files/gitignore/Lithium.gitignore +2 -0
  219. data/roles/qb.gitignore/files/gitignore/Lua.gitignore +41 -0
  220. data/roles/qb.gitignore/files/gitignore/Magento.gitignore +104 -0
  221. data/roles/qb.gitignore/files/gitignore/Maven.gitignore +9 -0
  222. data/roles/qb.gitignore/files/gitignore/Mercury.gitignore +13 -0
  223. data/roles/qb.gitignore/files/gitignore/MetaProgrammingSystem.gitignore +16 -0
  224. data/roles/qb.gitignore/files/gitignore/Nanoc.gitignore +10 -0
  225. data/roles/qb.gitignore/files/gitignore/Nim.gitignore +1 -0
  226. data/roles/qb.gitignore/files/gitignore/Node.gitignore +34 -0
  227. data/roles/qb.gitignore/files/gitignore/OCaml.gitignore +20 -0
  228. data/roles/qb.gitignore/files/gitignore/Objective-C.gitignore +51 -0
  229. data/roles/qb.gitignore/files/gitignore/Opa.gitignore +13 -0
  230. data/roles/qb.gitignore/files/gitignore/OpenCart.gitignore +13 -0
  231. data/roles/qb.gitignore/files/gitignore/OracleForms.gitignore +8 -0
  232. data/roles/qb.gitignore/files/gitignore/Packer.gitignore +5 -0
  233. data/roles/qb.gitignore/files/gitignore/Perl.gitignore +20 -0
  234. data/roles/qb.gitignore/files/gitignore/Phalcon.gitignore +2 -0
  235. data/roles/qb.gitignore/files/gitignore/PlayFramework.gitignore +15 -0
  236. data/roles/qb.gitignore/files/gitignore/Plone.gitignore +18 -0
  237. data/roles/qb.gitignore/files/gitignore/Prestashop.gitignore +32 -0
  238. data/roles/qb.gitignore/files/gitignore/Processing.gitignore +7 -0
  239. data/roles/qb.gitignore/files/gitignore/Python.gitignore +85 -0
  240. data/roles/qb.gitignore/files/gitignore/Qooxdoo.gitignore +5 -0
  241. data/roles/qb.gitignore/files/gitignore/Qt.gitignore +38 -0
  242. data/roles/qb.gitignore/files/gitignore/R.gitignore +25 -0
  243. data/roles/qb.gitignore/files/gitignore/README.md +79 -0
  244. data/roles/qb.gitignore/files/gitignore/ROS.gitignore +47 -0
  245. data/roles/qb.gitignore/files/gitignore/Rails.gitignore +38 -0
  246. data/roles/qb.gitignore/files/gitignore/RhodesRhomobile.gitignore +9 -0
  247. data/roles/qb.gitignore/files/gitignore/Ruby.gitignore +47 -0
  248. data/roles/qb.gitignore/files/gitignore/Rust.gitignore +15 -0
  249. data/roles/qb.gitignore/files/gitignore/SCons.gitignore +2 -0
  250. data/roles/qb.gitignore/files/gitignore/Sass.gitignore +2 -0
  251. data/roles/qb.gitignore/files/gitignore/Scala.gitignore +17 -0
  252. data/roles/qb.gitignore/files/gitignore/Scheme.gitignore +7 -0
  253. data/roles/qb.gitignore/files/gitignore/Scrivener.gitignore +7 -0
  254. data/roles/qb.gitignore/files/gitignore/Sdcc.gitignore +8 -0
  255. data/roles/qb.gitignore/files/gitignore/SeamGen.gitignore +26 -0
  256. data/roles/qb.gitignore/files/gitignore/SketchUp.gitignore +1 -0
  257. data/roles/qb.gitignore/files/gitignore/Smalltalk.gitignore +18 -0
  258. data/roles/qb.gitignore/files/gitignore/Stella.gitignore +12 -0
  259. data/roles/qb.gitignore/files/gitignore/SugarCRM.gitignore +25 -0
  260. data/roles/qb.gitignore/files/gitignore/Swift.gitignore +63 -0
  261. data/roles/qb.gitignore/files/gitignore/Symfony.gitignore +43 -0
  262. data/roles/qb.gitignore/files/gitignore/SymphonyCMS.gitignore +6 -0
  263. data/roles/qb.gitignore/files/gitignore/TeX.gitignore +177 -0
  264. data/roles/qb.gitignore/files/gitignore/Terraform.gitignore +3 -0
  265. data/roles/qb.gitignore/files/gitignore/Textpattern.gitignore +11 -0
  266. data/roles/qb.gitignore/files/gitignore/TurboGears2.gitignore +20 -0
  267. data/roles/qb.gitignore/files/gitignore/Typo3.gitignore +20 -0
  268. data/roles/qb.gitignore/files/gitignore/Umbraco.gitignore +19 -0
  269. data/roles/qb.gitignore/files/gitignore/Unity.gitignore +30 -0
  270. data/roles/qb.gitignore/files/gitignore/UnrealEngine.gitignore +59 -0
  271. data/roles/qb.gitignore/files/gitignore/VVVV.gitignore +6 -0
  272. data/roles/qb.gitignore/files/gitignore/VisualStudio.gitignore +245 -0
  273. data/roles/qb.gitignore/files/gitignore/Waf.gitignore +4 -0
  274. data/roles/qb.gitignore/files/gitignore/WordPress.gitignore +18 -0
  275. data/roles/qb.gitignore/files/gitignore/Xojo.gitignore +11 -0
  276. data/roles/qb.gitignore/files/gitignore/Yeoman.gitignore +6 -0
  277. data/roles/qb.gitignore/files/gitignore/Yii.gitignore +6 -0
  278. data/roles/qb.gitignore/files/gitignore/ZendFramework.gitignore +25 -0
  279. data/roles/qb.gitignore/files/gitignore/Zephir.gitignore +26 -0
  280. data/roles/qb.gitignore/meta/qb +28 -0
  281. data/roles/qb.gitignore/tasks/main.yml +4 -15
  282. data/roles/qb.install_gem/meta/qb.yml +4 -0
  283. data/roles/qb.project/defaults/main.yml +3 -2
  284. data/roles/qb.project/files/ansible.cfg +3 -1
  285. data/roles/qb.project/meta/main.yml +1 -0
  286. data/roles/qb.project/meta/qb.yml +10 -2
  287. data/roles/qb.project/tasks/dev.yml +36 -0
  288. data/roles/qb.project/tasks/main.yml +9 -29
  289. data/roles/qb.project/tasks/setup.yml +24 -23
  290. data/roles/qb.project/templates/bootstrap.yml.j2 +20 -0
  291. data/roles/qb.project/templates/setup.yml.j2 +3 -1
  292. data/roles/qb.release_gem/defaults/main.yml +2 -0
  293. data/roles/qb.release_gem/meta/main.yml +7 -0
  294. data/roles/qb.release_gem/meta/qb.yml +21 -0
  295. data/roles/qb.release_gem/tasks/main.yml +84 -0
  296. metadata +280 -15
  297. data/requirements.yml +0 -7
  298. data/roles/qb.gitignore/.qb-options.yml +0 -3
  299. data/roles/qb.gitignore/meta/qb.yml +0 -8
  300. data/roles/qb.gitignore/vars/main.yml +0 -3
  301. data/roles/qb.meteor_react_component/defaults/main.yml +0 -8
  302. data/roles/qb.meteor_react_component/meta/qb.yml +0 -68
  303. data/roles/qb.meteor_react_component/tasks/main.yml +0 -44
  304. data/roles/qb.meteor_react_component/templates/component.jsx.j2 +0 -75
  305. data/roles/qb.meteor_react_component/templates/style.import.less.j2 +0 -4
  306. data/roles/qb.project/files/requirements.yml +0 -12
@@ -0,0 +1,8 @@
1
+ 111 222 333
2
+ !!! @@@ ###
3
+ # BEGIN ANSIBLE MANAGED BLOCK
4
+ aaa bbb ccc
5
+ AAA BBB CCC
6
+ # END ANSIBLE MANAGED BLOCK
7
+ 111 222 333
8
+ !!! @@@ ###
@@ -0,0 +1,8 @@
1
+ # BEGIN ANSIBLE MANAGED BLOCK
2
+ aaa bbb ccc
3
+ AAA BBB CCC
4
+ # END ANSIBLE MANAGED BLOCK
5
+ 111 222 333
6
+ !!! @@@ ###
7
+ 111 222 333
8
+ !!! @@@ ###
@@ -0,0 +1,8 @@
1
+ 111 222 333
2
+ !!! @@@ ###
3
+ 111 222 333
4
+ !!! @@@ ###
5
+ # BEGIN ANSIBLE MANAGED BLOCK
6
+ aaa bbb ccc
7
+ AAA BBB CCC
8
+ # END ANSIBLE MANAGED BLOCK
@@ -0,0 +1,8 @@
1
+ 111 222 333
2
+ !!! @@@ ###
3
+ 111 222 333
4
+ !!! @@@ ###
5
+ # BEGIN ANSIBLE MANAGED BLOCK
6
+ aaa bbb ccc
7
+ AAA BBB CCC
8
+ # END ANSIBLE MANAGED BLOCK
@@ -0,0 +1,8 @@
1
+ 111 222 333
2
+ # BEGIN ANSIBLE MANAGED BLOCK
3
+ aaa bbb ccc
4
+ AAA BBB CCC
5
+ # END ANSIBLE MANAGED BLOCK
6
+ !!! @@@ ###
7
+ 111 222 333
8
+ !!! @@@ ###
@@ -0,0 +1,8 @@
1
+ 111 222 333
2
+ # BEGIN ANSIBLE MANAGED BLOCK
3
+ aaa bbb ccc
4
+ AAA BBB CCC
5
+ # END ANSIBLE MANAGED BLOCK
6
+ !!! @@@ ###
7
+ 111 222 333
8
+ !!! @@@ ###
@@ -0,0 +1,11 @@
1
+ 111 222 333
2
+ !!! @@@ ###
3
+
4
+ ##############################################################################
5
+ # BEGIN MULTILINE SECTION
6
+ #
7
+ aaa bbb ccc
8
+ AAA BBB CCC
9
+ #
10
+ # END MULTILINE SECTION
11
+ ##############################################################################
@@ -0,0 +1,2 @@
1
+ 111 222 333
2
+ !!! @@@ ###
@@ -0,0 +1,12 @@
1
+ 111 222 333
2
+
3
+ ##############################################################################
4
+ # BEGIN MULTILINE SECTION
5
+ #
6
+ aaa bbb ccc
7
+ AAA BBB CCC
8
+ #
9
+ # END MULTILINE SECTION
10
+ ##############################################################################
11
+
12
+ !!! @@@ ###
@@ -0,0 +1,6 @@
1
+ <html><head><title>111 222 333</title></head><Body>
2
+ <!-- BEGIN ANSIBLE MANAGED BLOCK -->
3
+ <h2>aaa bbb ccc</h2>
4
+ <h2>AAA BBB CCC</h2>
5
+ <!-- END ANSIBLE MANAGED BLOCK -->
6
+ <p>!!! @@@ ###</p></body></html>
@@ -0,0 +1,5 @@
1
+ 111 222 333
2
+ !!! @@@ ###
3
+ # BEGIN ANSIBLE MANAGED BLOCK
4
+ aaa bbb ccc
5
+ # END ANSIBLE MANAGED BLOCK
@@ -0,0 +1,5 @@
1
+ 111 222 333
2
+ !!! @@@ ###
3
+ # BEGIN ANSIBLE MANAGED BLOCK
4
+ aaa bbb ccc
5
+ # END ANSIBLE MANAGED BLOCK
@@ -0,0 +1,2 @@
1
+ 111 222 333
2
+ !!! @@@ ###
@@ -0,0 +1,2 @@
1
+ 111 222 333
2
+ !!! @@@ ###
@@ -0,0 +1,6 @@
1
+ 111 222 333
2
+ # BEGIN ANSIBLE MANAGED BLOCK
3
+ xxx yyy zzz
4
+ XXX YYY ZZZ
5
+ # END ANSIBLE MANAGED BLOCK
6
+ !!! @@@ ###
@@ -0,0 +1,6 @@
1
+ 111 222 333
2
+ # BEGIN ANSIBLE MANAGED BLOCK
3
+ xxx yyy zzz
4
+ XXX YYY ZZZ
5
+ # END ANSIBLE MANAGED BLOCK
6
+ !!! @@@ ###
@@ -0,0 +1,2 @@
1
+ 111 222 333
2
+ !!! @@@ ###
@@ -0,0 +1,2 @@
1
+ 111 222 333
2
+ !!! @@@ ###
@@ -0,0 +1,2 @@
1
+ 111 222 333
2
+ !!! @@@ ###
@@ -0,0 +1,4 @@
1
+ 111 222 333
2
+ !!! @@@ ###
3
+ 111 222 333
4
+ !!! @@@ ###
@@ -0,0 +1,4 @@
1
+ 111 222 333
2
+ !!! @@@ ###
3
+ 111 222 333
4
+ !!! @@@ ###
@@ -0,0 +1,4 @@
1
+ 111 222 333
2
+ !!! @@@ ###
3
+ 111 222 333
4
+ !!! @@@ ###
@@ -0,0 +1,4 @@
1
+ 111 222 333
2
+ !!! @@@ ###
3
+ 111 222 333
4
+ !!! @@@ ###
@@ -0,0 +1,4 @@
1
+ 111 222 333
2
+ !!! @@@ ###
3
+ 111 222 333
4
+ !!! @@@ ###
@@ -0,0 +1,8 @@
1
+ 111 222 333
2
+ # BEGIN ANSIBLE MANAGED BLOCK
3
+ xxx yyy zzz
4
+ XXX YYY ZZZ
5
+ # END ANSIBLE MANAGED BLOCK
6
+ !!! @@@ ###
7
+ 111 222 333
8
+ !!! @@@ ###
@@ -0,0 +1,8 @@
1
+ 111 222 333
2
+ # BEGIN ANSIBLE MANAGED BLOCK
3
+ xxx yyy zzz
4
+ XXX YYY ZZZ
5
+ # END ANSIBLE MANAGED BLOCK
6
+ !!! @@@ ###
7
+ 111 222 333
8
+ !!! @@@ ###
@@ -0,0 +1,2 @@
1
+ 111 222 333
2
+ !!! @@@ ###
@@ -0,0 +1,11 @@
1
+ 111 222 333
2
+ !!! @@@ ###
3
+
4
+ ##############################################################################
5
+ # BEGIN MULTILINE SECTION
6
+ #
7
+ aaa bbb ccc
8
+ AAA BBB CCC
9
+ #
10
+ # END MULTILINE SECTION
11
+ ##############################################################################
@@ -0,0 +1,12 @@
1
+ 111 222 333
2
+
3
+ ##############################################################################
4
+ # BEGIN MULTILINE SECTION
5
+ #
6
+ xxx yyy zzz
7
+ XXX YYY ZZZ
8
+ #
9
+ # END MULTILINE SECTION
10
+ ##############################################################################
11
+
12
+ !!! @@@ ###
@@ -0,0 +1 @@
1
+ <html><head><title>111 222 333</title></head><Body><p>!!! @@@ ###</p></body></html>
@@ -0,0 +1,2 @@
1
+ 111 222 333
2
+ !!! @@@ ###
@@ -0,0 +1,6 @@
1
+ 111 222 333
2
+ # BEGIN ANSIBLE MANAGED BLOCK
3
+ xxx yyy zzz
4
+ XXX YYY ZZZ
5
+ # END ANSIBLE MANAGED BLOCK
6
+ !!! @@@ ###
@@ -0,0 +1,6 @@
1
+ 111 222 333
2
+ # BEGIN ANSIBLE MANAGED BLOCK
3
+ xxx yyy zzz
4
+ XXX YYY ZZZ
5
+ # END ANSIBLE MANAGED BLOCK
6
+ !!! @@@ ###
@@ -0,0 +1,6 @@
1
+ 111 222 333
2
+ # BEGIN ANSIBLE MANAGED BLOCK
3
+ xxx yyy zzz
4
+ XXX YYY ZZZ
5
+ # END ANSIBLE MANAGED BLOCK
6
+ !!! @@@ ###
@@ -0,0 +1 @@
1
+ localhost ansible_connection=local
@@ -0,0 +1,64 @@
1
+ #!/bin/bash
2
+
3
+ set -e
4
+
5
+ cd ${0%/*}
6
+
7
+ rm -rf testing
8
+ cp -R fixtures testing
9
+
10
+ run() {
11
+ p="$1"
12
+ base="${1%.yml}"
13
+ testing_dir="$PWD/testing/$base"
14
+ expected_dir="$PWD/expected/$base"
15
+ idlog="$PWD/testing/$base-id.log"
16
+ skipped="$testing_dir/SKIPPED"
17
+ echo "$p: Running ansible-playbook"
18
+ if ! ansible-playbook -v -i hosts -e testing_dir=$testing_dir $p; then
19
+ echo -n "$p: "
20
+ if test -e $skipped; then
21
+ cat $skipped
22
+ exit 2
23
+ else
24
+ echo "ansible-playbook failed"
25
+ exit 1
26
+ fi
27
+ fi
28
+ # exit if the first run doesn't pass
29
+ echo "$p: Checking results"
30
+ if ! diff -x "*~" -ruN $expected_dir $testing_dir; then
31
+ echo "$p: Unexpected changes detected"
32
+ exit 1
33
+ fi
34
+ echo "$p: Running ansible-playbook again"
35
+ ansible-playbook -v -i hosts -e testing_dir=$testing_dir $p | tee $idlog
36
+ if ! grep -q 'changed=0.*failed=0' $idlog; then
37
+ echo "$p: Idempotency missing"
38
+ exit 1
39
+ fi
40
+ echo "$p: Checking results"
41
+ if ! diff -x "*~" -ruN $expected_dir $testing_dir; then
42
+ echo "$p: Unexpected changes detected"
43
+ exit 1
44
+ fi
45
+ }
46
+
47
+ code=0
48
+
49
+ tests=${@-*.yml}
50
+
51
+ for i in $tests; do
52
+ echo
53
+ echo "$i: Starting..."
54
+ if ( run $i ); then
55
+ echo "$i: Passed"
56
+ elif test $? = 2; then
57
+ echo "$i: Skipped"
58
+ else
59
+ echo "$i: Failed"
60
+ code=1
61
+ fi
62
+ done
63
+
64
+ exit $code
@@ -0,0 +1,31 @@
1
+ - hosts: localhost
2
+ vars:
3
+ - testing_dir: "{{playbook_dir}}/testing"
4
+ roles:
5
+ - yaegashi.blockinfile
6
+ tasks:
7
+ - name: insert block
8
+ blockinfile: |
9
+ dest={{testing_dir}}/insert.txt backup=yes
10
+ content="aaa bbb ccc\nAAA BBB CCC"
11
+ - name: update block
12
+ blockinfile: |
13
+ dest={{testing_dir}}/update.txt backup=yes
14
+ content="aaa bbb ccc\nAAA BBB CCC"
15
+ - name: remove block
16
+ blockinfile: |
17
+ dest={{testing_dir}}/remove.txt backup=yes
18
+ content=""
19
+ - name: alternative marker
20
+ blockinfile: |
21
+ dest={{testing_dir}}/marker.txt backup=yes
22
+ marker="<!-- {mark} ANSIBLE MANAGED BLOCK -->"
23
+ content="<h2>aaa bbb ccc</h2>\n<h2>AAA BBB CCC</h2>"
24
+ - name: create a file, with options in a hash
25
+ blockinfile:
26
+ dest: "{{testing_dir}}/create.txt"
27
+ create: yes
28
+ content: |
29
+ iface eth0 inet static
30
+ address 192.168.0.1
31
+ netmask 255.255.255.0
@@ -0,0 +1,16 @@
1
+ - hosts: localhost
2
+ vars:
3
+ - testing_dir: "{{playbook_dir}}/testing"
4
+ roles:
5
+ - yaegashi.blockinfile
6
+ tasks:
7
+ - name: insert a block using block
8
+ blockinfile:
9
+ dest: "{{testing_dir}}/block.txt"
10
+ backup: yes
11
+ block: aaa bbb ccc
12
+ - name: insert a block using block
13
+ blockinfile:
14
+ dest: "{{testing_dir}}/content.txt"
15
+ backup: yes
16
+ content: aaa bbb ccc
@@ -0,0 +1,21 @@
1
+ - hosts: localhost
2
+ vars:
3
+ - testing_dir: "{{playbook_dir}}/testing"
4
+ roles:
5
+ - yaegashi.blockinfile
6
+ tasks:
7
+ - shell: echo "Detected Ansible prior to 1.8" > {{testing_dir}}/SKIPPED
8
+ && false
9
+ when: ansible_version is not defined
10
+ - name: update symlink file without follow
11
+ blockinfile: |
12
+ dest={{testing_dir}}/link0.txt backup=yes follow=no
13
+ content="aaa bbb ccc\nAAA BBB CCC"
14
+ - name: update symlink file with follow=no
15
+ blockinfile: |
16
+ dest={{testing_dir}}/link1.txt backup=yes follow=no
17
+ content="aaa bbb ccc\nAAA BBB CCC"
18
+ - name: update symlink file with follow=yes
19
+ blockinfile: |
20
+ dest={{testing_dir}}/link2.txt backup=yes follow=yes
21
+ content="aaa bbb ccc\nAAA BBB CCC"
@@ -0,0 +1,34 @@
1
+ - hosts: localhost
2
+ vars:
3
+ - testing_dir: "{{playbook_dir}}/testing"
4
+ roles:
5
+ - yaegashi.blockinfile
6
+ tasks:
7
+ - name: insert block after specific line
8
+ blockinfile: |
9
+ dest={{testing_dir}}/insertafter.txt backup=yes
10
+ content="aaa bbb ccc\nAAA BBB CCC" insertafter=222
11
+ - name: insert block before specific line
12
+ blockinfile: |
13
+ dest={{testing_dir}}/insertbefore.txt backup=yes
14
+ content="aaa bbb ccc\nAAA BBB CCC" insertbefore=222
15
+ - name: insert block at EOF
16
+ blockinfile: |
17
+ dest={{testing_dir}}/inserteof.txt backup=yes
18
+ content="aaa bbb ccc\nAAA BBB CCC" insertafter=EOF
19
+ - name: insert block at BOF
20
+ blockinfile: |
21
+ dest={{testing_dir}}/insertbof.txt backup=yes
22
+ content="aaa bbb ccc\nAAA BBB CCC" insertbefore=BOF
23
+ - name: insert block with unmatched regexp
24
+ blockinfile: |
25
+ dest={{testing_dir}}/insertunmatched.txt backup=yes
26
+ content="aaa bbb ccc\nAAA BBB CCC" insertafter=999
27
+ - name: update block with insertafter ignored
28
+ blockinfile: |
29
+ dest={{testing_dir}}/updateafter.txt backup=yes
30
+ content="aaa bbb ccc\nAAA BBB CCC" insertafter=222
31
+ - name: update block with insertbefore ignored
32
+ blockinfile: |
33
+ dest={{testing_dir}}/updatebefore.txt backup=yes
34
+ content="aaa bbb ccc\nAAA BBB CCC" insertbefore=222