my_help 0.4.5 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (455) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +2 -0
  3. data/.gitignore +29 -2
  4. data/.ipynb_checkpoints/README-checkpoint.ipynb +511 -0
  5. data/.ipynb_checkpoints/Untitled-checkpoint.ipynb +6 -0
  6. data/.ruby-version +1 -0
  7. data/Dockerfile.template +13 -0
  8. data/README.md +341 -256
  9. data/README.org +480 -0
  10. data/Rakefile +9 -31
  11. data/docs/.ipynb_checkpoints/README-checkpoint.ipynb +112 -0
  12. data/docs/.ipynb_checkpoints/Untitled-checkpoint.ipynb +219 -0
  13. data/docs/README.ipynb +112 -0
  14. data/docs/bob/README_en.ipynb +219 -0
  15. data/docs/bob/diff_against_org_mode.ipynb +119 -0
  16. data/docs/bob/emacs_help.ipynb +133 -0
  17. data/docs/bob/template_help.ipynb +136 -0
  18. data/{my_help_nasu → docs/nasu}/.gitignore +0 -0
  19. data/{my_help_nasu → docs/nasu}/Rakefile +91 -20
  20. data/docs/nasu/abstract.hiki +17 -0
  21. data/{my_help_nasu → docs/nasu}/code.hiki +25 -21
  22. data/docs/nasu/discussion.hiki +38 -0
  23. data/docs/nasu/features/add.feature +12 -0
  24. data/docs/nasu/features/all_help.feature +10 -0
  25. data/docs/nasu/features/backup_list.feature +10 -0
  26. data/docs/nasu/features/edit_help.feature +9 -0
  27. data/docs/nasu/features/my_todo.feature +16 -0
  28. data/docs/nasu/features/remove.feature +10 -0
  29. data/docs/nasu/features/sample_e.feature +6 -0
  30. data/docs/nasu/features/step_definitions/add_spec.rb +18 -0
  31. data/docs/nasu/features/step_definitions/all_help_spec.rb +18 -0
  32. data/docs/nasu/features/step_definitions/backup_list_spec.rb +18 -0
  33. data/docs/nasu/features/step_definitions/edit_help_spec.rb +19 -0
  34. data/docs/nasu/features/step_definitions/my_todo_spec.rb +25 -0
  35. data/docs/nasu/features/step_definitions/remove_spec.rb +18 -0
  36. data/docs/nasu/features/step_definitions/store_spec.rb +18 -0
  37. data/docs/nasu/features/step_definitions/to_hiki_spec.rb +18 -0
  38. data/docs/nasu/features/store.feature +10 -0
  39. data/docs/nasu/features/support/env.rb +2 -0
  40. data/docs/nasu/features/test.feature +10 -0
  41. data/docs/nasu/features/to_hiki.feature +10 -0
  42. data/{my_help_nasu → docs/nasu}/features.hiki +80 -70
  43. data/docs/nasu/figs/cucumber01.001.jpg +0 -0
  44. data/docs/nasu/figs/cucumber02.001.jpg +0 -0
  45. data/docs/nasu/figs/cucumber03.001.jpg +0 -0
  46. data/docs/nasu/figs/cucumber04.001.jpg +0 -0
  47. data/docs/nasu/figs/cucumber05.001.jpg +0 -0
  48. data/docs/nasu/figs/cucumber1.jpg +0 -0
  49. data/docs/nasu/figs/cucumber2.jpg +0 -0
  50. data/docs/nasu/figs/cucumber3.jpg +0 -0
  51. data/docs/nasu/figs/cucumber4.jpg +0 -0
  52. data/docs/nasu/figs/my_help_nasu.001.jpeg +0 -0
  53. data/docs/nasu/figs/my_help_nasu.002.jpeg +0 -0
  54. data/docs/nasu/figs/my_help_nasu.003.jpeg +0 -0
  55. data/docs/nasu/figs/my_help_nasu.004.jpeg +0 -0
  56. data/docs/nasu/figs/my_help_nasu.005.jpeg +0 -0
  57. data/docs/nasu/figs/my_help_nasu.006.jpeg +0 -0
  58. data/docs/nasu/figs/my_help_nasu.007.jpeg +0 -0
  59. data/docs/nasu/figs/my_help_nasu.008.jpeg +0 -0
  60. data/docs/nasu/figs/my_help_nasu.pdf +0 -0
  61. data/docs/nasu/figs/my_help_nasu.png +0 -0
  62. data/docs/nasu/figs/my_help_nasu1.001.jpg +0 -0
  63. data/docs/nasu/figs/rspec01.001.jpg +0 -0
  64. data/docs/nasu/figs/rspec1.jpg +0 -0
  65. data/docs/nasu/figs/rspec2.jpg +0 -0
  66. data/{my_help_nasu → docs/nasu}/head2.tex +0 -0
  67. data/{my_help_nasu → docs/nasu}/hiki_help.yml +0 -0
  68. data/{my_help_nasu → docs/nasu}/introduction.hiki +15 -16
  69. data/{my_help_nasu → docs/nasu}/key_bind_mi +0 -0
  70. data/docs/nasu/keynote/cucumber01.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
  71. data/docs/nasu/keynote/cucumber01.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
  72. data/docs/nasu/keynote/cucumber01.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
  73. data/docs/nasu/keynote/cucumber01.key/Data/mt10@2x-87.jpg +0 -0
  74. data/docs/nasu/keynote/cucumber01.key/Data/mt1@2x-78.jpg +0 -0
  75. data/docs/nasu/keynote/cucumber01.key/Data/mt2@2x-79.jpg +0 -0
  76. data/docs/nasu/keynote/cucumber01.key/Data/mt3@2x-80.jpg +0 -0
  77. data/docs/nasu/keynote/cucumber01.key/Data/mt4@2x-81.jpg +0 -0
  78. data/docs/nasu/keynote/cucumber01.key/Data/mt5@2x-82.jpg +0 -0
  79. data/docs/nasu/keynote/cucumber01.key/Data/mt6@2x-83.jpg +0 -0
  80. data/docs/nasu/keynote/cucumber01.key/Data/mt7@2x-84.jpg +0 -0
  81. data/docs/nasu/keynote/cucumber01.key/Data/mt8@2x-85.jpg +0 -0
  82. data/docs/nasu/keynote/cucumber01.key/Data/mt9@2x-86.jpg +0 -0
  83. data/docs/nasu/keynote/cucumber01.key/Data/pasted-image-89.png +0 -0
  84. data/docs/nasu/keynote/cucumber01.key/Data/pasted-image-small-90.png +0 -0
  85. data/docs/nasu/keynote/cucumber01.key/Data/st0-104.jpg +0 -0
  86. data/docs/nasu/keynote/cucumber01.key/Index.zip +0 -0
  87. data/docs/nasu/keynote/cucumber01.key/Metadata/BuildVersionHistory.plist +8 -0
  88. data/docs/nasu/keynote/cucumber01.key/Metadata/DocumentIdentifier +1 -0
  89. data/docs/nasu/keynote/cucumber01.key/Metadata/Properties.plist +0 -0
  90. data/docs/nasu/keynote/cucumber01.key/preview-micro.jpg +0 -0
  91. data/docs/nasu/keynote/cucumber01.key/preview-web.jpg +0 -0
  92. data/docs/nasu/keynote/cucumber01.key/preview.jpg +0 -0
  93. data/docs/nasu/keynote/cucumber02.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
  94. data/docs/nasu/keynote/cucumber02.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
  95. data/docs/nasu/keynote/cucumber02.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
  96. data/docs/nasu/keynote/cucumber02.key/Data/mt10@2x-87.jpg +0 -0
  97. data/docs/nasu/keynote/cucumber02.key/Data/mt1@2x-78.jpg +0 -0
  98. data/docs/nasu/keynote/cucumber02.key/Data/mt2@2x-79.jpg +0 -0
  99. data/docs/nasu/keynote/cucumber02.key/Data/mt3@2x-80.jpg +0 -0
  100. data/docs/nasu/keynote/cucumber02.key/Data/mt4@2x-81.jpg +0 -0
  101. data/docs/nasu/keynote/cucumber02.key/Data/mt5@2x-82.jpg +0 -0
  102. data/docs/nasu/keynote/cucumber02.key/Data/mt6@2x-83.jpg +0 -0
  103. data/docs/nasu/keynote/cucumber02.key/Data/mt7@2x-84.jpg +0 -0
  104. data/docs/nasu/keynote/cucumber02.key/Data/mt8@2x-85.jpg +0 -0
  105. data/docs/nasu/keynote/cucumber02.key/Data/mt9@2x-86.jpg +0 -0
  106. data/docs/nasu/keynote/cucumber02.key/Data/pasted-image-89.png +0 -0
  107. data/docs/nasu/keynote/cucumber02.key/Data/pasted-image-small-90.png +0 -0
  108. data/docs/nasu/keynote/cucumber02.key/Data/st0-96.jpg +0 -0
  109. data/docs/nasu/keynote/cucumber02.key/Index.zip +0 -0
  110. data/docs/nasu/keynote/cucumber02.key/Metadata/BuildVersionHistory.plist +8 -0
  111. data/docs/nasu/keynote/cucumber02.key/Metadata/DocumentIdentifier +1 -0
  112. data/docs/nasu/keynote/cucumber02.key/Metadata/Properties.plist +0 -0
  113. data/docs/nasu/keynote/cucumber02.key/preview-micro.jpg +0 -0
  114. data/docs/nasu/keynote/cucumber02.key/preview-web.jpg +0 -0
  115. data/docs/nasu/keynote/cucumber02.key/preview.jpg +0 -0
  116. data/docs/nasu/keynote/cucumber03.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
  117. data/docs/nasu/keynote/cucumber03.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
  118. data/docs/nasu/keynote/cucumber03.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
  119. data/docs/nasu/keynote/cucumber03.key/Data/mt10@2x-87.jpg +0 -0
  120. data/docs/nasu/keynote/cucumber03.key/Data/mt1@2x-78.jpg +0 -0
  121. data/docs/nasu/keynote/cucumber03.key/Data/mt2@2x-79.jpg +0 -0
  122. data/docs/nasu/keynote/cucumber03.key/Data/mt3@2x-80.jpg +0 -0
  123. data/docs/nasu/keynote/cucumber03.key/Data/mt4@2x-81.jpg +0 -0
  124. data/docs/nasu/keynote/cucumber03.key/Data/mt5@2x-82.jpg +0 -0
  125. data/docs/nasu/keynote/cucumber03.key/Data/mt6@2x-83.jpg +0 -0
  126. data/docs/nasu/keynote/cucumber03.key/Data/mt7@2x-84.jpg +0 -0
  127. data/docs/nasu/keynote/cucumber03.key/Data/mt8@2x-85.jpg +0 -0
  128. data/docs/nasu/keynote/cucumber03.key/Data/mt9@2x-86.jpg +0 -0
  129. data/docs/nasu/keynote/cucumber03.key/Data/pasted-image-89.png +0 -0
  130. data/docs/nasu/keynote/cucumber03.key/Data/pasted-image-small-90.png +0 -0
  131. data/docs/nasu/keynote/cucumber03.key/Data/st0-100.jpg +0 -0
  132. data/docs/nasu/keynote/cucumber03.key/Index.zip +0 -0
  133. data/docs/nasu/keynote/cucumber03.key/Metadata/BuildVersionHistory.plist +8 -0
  134. data/docs/nasu/keynote/cucumber03.key/Metadata/DocumentIdentifier +1 -0
  135. data/docs/nasu/keynote/cucumber03.key/Metadata/Properties.plist +0 -0
  136. data/docs/nasu/keynote/cucumber03.key/preview-micro.jpg +0 -0
  137. data/docs/nasu/keynote/cucumber03.key/preview-web.jpg +0 -0
  138. data/docs/nasu/keynote/cucumber03.key/preview.jpg +0 -0
  139. data/docs/nasu/keynote/cucumber04.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
  140. data/docs/nasu/keynote/cucumber04.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
  141. data/docs/nasu/keynote/cucumber04.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
  142. data/docs/nasu/keynote/cucumber04.key/Data/mt10@2x-87.jpg +0 -0
  143. data/docs/nasu/keynote/cucumber04.key/Data/mt1@2x-78.jpg +0 -0
  144. data/docs/nasu/keynote/cucumber04.key/Data/mt2@2x-79.jpg +0 -0
  145. data/docs/nasu/keynote/cucumber04.key/Data/mt3@2x-80.jpg +0 -0
  146. data/docs/nasu/keynote/cucumber04.key/Data/mt4@2x-81.jpg +0 -0
  147. data/docs/nasu/keynote/cucumber04.key/Data/mt5@2x-82.jpg +0 -0
  148. data/docs/nasu/keynote/cucumber04.key/Data/mt6@2x-83.jpg +0 -0
  149. data/docs/nasu/keynote/cucumber04.key/Data/mt7@2x-84.jpg +0 -0
  150. data/docs/nasu/keynote/cucumber04.key/Data/mt8@2x-85.jpg +0 -0
  151. data/docs/nasu/keynote/cucumber04.key/Data/mt9@2x-86.jpg +0 -0
  152. data/docs/nasu/keynote/cucumber04.key/Data/pasted-image-106.png +0 -0
  153. data/docs/nasu/keynote/cucumber04.key/Data/pasted-image-small-107.png +0 -0
  154. data/docs/nasu/keynote/cucumber04.key/Data/st0-115.jpg +0 -0
  155. data/docs/nasu/keynote/cucumber04.key/Index.zip +0 -0
  156. data/docs/nasu/keynote/cucumber04.key/Metadata/BuildVersionHistory.plist +8 -0
  157. data/docs/nasu/keynote/cucumber04.key/Metadata/DocumentIdentifier +1 -0
  158. data/docs/nasu/keynote/cucumber04.key/Metadata/Properties.plist +0 -0
  159. data/docs/nasu/keynote/cucumber04.key/preview-micro.jpg +0 -0
  160. data/docs/nasu/keynote/cucumber04.key/preview-web.jpg +0 -0
  161. data/docs/nasu/keynote/cucumber04.key/preview.jpg +0 -0
  162. data/docs/nasu/keynote/cucumber05.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
  163. data/docs/nasu/keynote/cucumber05.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
  164. data/docs/nasu/keynote/cucumber05.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
  165. data/docs/nasu/keynote/cucumber05.key/Data/mt10@2x-87.jpg +0 -0
  166. data/docs/nasu/keynote/cucumber05.key/Data/mt1@2x-78.jpg +0 -0
  167. data/docs/nasu/keynote/cucumber05.key/Data/mt2@2x-79.jpg +0 -0
  168. data/docs/nasu/keynote/cucumber05.key/Data/mt3@2x-80.jpg +0 -0
  169. data/docs/nasu/keynote/cucumber05.key/Data/mt4@2x-81.jpg +0 -0
  170. data/docs/nasu/keynote/cucumber05.key/Data/mt5@2x-82.jpg +0 -0
  171. data/docs/nasu/keynote/cucumber05.key/Data/mt6@2x-83.jpg +0 -0
  172. data/docs/nasu/keynote/cucumber05.key/Data/mt7@2x-84.jpg +0 -0
  173. data/docs/nasu/keynote/cucumber05.key/Data/mt8@2x-85.jpg +0 -0
  174. data/docs/nasu/keynote/cucumber05.key/Data/mt9@2x-86.jpg +0 -0
  175. data/docs/nasu/keynote/cucumber05.key/Data/pasted-image-89.png +0 -0
  176. data/docs/nasu/keynote/cucumber05.key/Data/pasted-image-small-90.png +0 -0
  177. data/docs/nasu/keynote/cucumber05.key/Data/st0-97.jpg +0 -0
  178. data/docs/nasu/keynote/cucumber05.key/Index.zip +0 -0
  179. data/docs/nasu/keynote/cucumber05.key/Metadata/BuildVersionHistory.plist +8 -0
  180. data/docs/nasu/keynote/cucumber05.key/Metadata/DocumentIdentifier +1 -0
  181. data/docs/nasu/keynote/cucumber05.key/Metadata/Properties.plist +0 -0
  182. data/docs/nasu/keynote/cucumber05.key/preview-micro.jpg +0 -0
  183. data/docs/nasu/keynote/cucumber05.key/preview-web.jpg +0 -0
  184. data/docs/nasu/keynote/cucumber05.key/preview.jpg +0 -0
  185. data/docs/nasu/keynote/my_help_nasu1.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
  186. data/docs/nasu/keynote/my_help_nasu1.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
  187. data/docs/nasu/keynote/my_help_nasu1.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
  188. data/docs/nasu/keynote/my_help_nasu1.key/Data/mt10@2x-87.jpg +0 -0
  189. data/docs/nasu/keynote/my_help_nasu1.key/Data/mt1@2x-78.jpg +0 -0
  190. data/docs/nasu/keynote/my_help_nasu1.key/Data/mt2@2x-79.jpg +0 -0
  191. data/docs/nasu/keynote/my_help_nasu1.key/Data/mt3@2x-80.jpg +0 -0
  192. data/docs/nasu/keynote/my_help_nasu1.key/Data/mt4@2x-81.jpg +0 -0
  193. data/docs/nasu/keynote/my_help_nasu1.key/Data/mt5@2x-82.jpg +0 -0
  194. data/docs/nasu/keynote/my_help_nasu1.key/Data/mt6@2x-83.jpg +0 -0
  195. data/docs/nasu/keynote/my_help_nasu1.key/Data/mt7@2x-84.jpg +0 -0
  196. data/docs/nasu/keynote/my_help_nasu1.key/Data/mt8@2x-85.jpg +0 -0
  197. data/docs/nasu/keynote/my_help_nasu1.key/Data/mt9@2x-86.jpg +0 -0
  198. data/docs/nasu/keynote/my_help_nasu1.key/Data/st0-299.jpg +0 -0
  199. data/docs/nasu/keynote/my_help_nasu1.key/Index.zip +0 -0
  200. data/docs/nasu/keynote/my_help_nasu1.key/Metadata/BuildVersionHistory.plist +8 -0
  201. data/docs/nasu/keynote/my_help_nasu1.key/Metadata/DocumentIdentifier +1 -0
  202. data/docs/nasu/keynote/my_help_nasu1.key/Metadata/Properties.plist +0 -0
  203. data/docs/nasu/keynote/my_help_nasu1.key/preview-micro.jpg +0 -0
  204. data/docs/nasu/keynote/my_help_nasu1.key/preview-web.jpg +0 -0
  205. data/docs/nasu/keynote/my_help_nasu1.key/preview.jpg +0 -0
  206. data/docs/nasu/keynote/rspec01.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
  207. data/docs/nasu/keynote/rspec01.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
  208. data/docs/nasu/keynote/rspec01.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
  209. data/docs/nasu/keynote/rspec01.key/Data/mt10@2x-87.jpg +0 -0
  210. data/docs/nasu/keynote/rspec01.key/Data/mt1@2x-78.jpg +0 -0
  211. data/docs/nasu/keynote/rspec01.key/Data/mt2@2x-79.jpg +0 -0
  212. data/docs/nasu/keynote/rspec01.key/Data/mt3@2x-80.jpg +0 -0
  213. data/docs/nasu/keynote/rspec01.key/Data/mt4@2x-81.jpg +0 -0
  214. data/docs/nasu/keynote/rspec01.key/Data/mt5@2x-82.jpg +0 -0
  215. data/docs/nasu/keynote/rspec01.key/Data/mt6@2x-83.jpg +0 -0
  216. data/docs/nasu/keynote/rspec01.key/Data/mt7@2x-84.jpg +0 -0
  217. data/docs/nasu/keynote/rspec01.key/Data/mt8@2x-85.jpg +0 -0
  218. data/docs/nasu/keynote/rspec01.key/Data/mt9@2x-86.jpg +0 -0
  219. data/docs/nasu/keynote/rspec01.key/Data/pasted-image-89.png +0 -0
  220. data/docs/nasu/keynote/rspec01.key/Data/pasted-image-small-90.png +0 -0
  221. data/docs/nasu/keynote/rspec01.key/Data/st0-96.jpg +0 -0
  222. data/docs/nasu/keynote/rspec01.key/Index.zip +0 -0
  223. data/docs/nasu/keynote/rspec01.key/Metadata/BuildVersionHistory.plist +8 -0
  224. data/docs/nasu/keynote/rspec01.key/Metadata/DocumentIdentifier +1 -0
  225. data/docs/nasu/keynote/rspec01.key/Metadata/Properties.plist +0 -0
  226. data/docs/nasu/keynote/rspec01.key/preview-micro.jpg +0 -0
  227. data/docs/nasu/keynote/rspec01.key/preview-web.jpg +0 -0
  228. data/docs/nasu/keynote/rspec01.key/preview.jpg +0 -0
  229. data/docs/nasu/latex_dir/abstract.tex +18 -0
  230. data/{my_help_nasu → docs/nasu}/latex_dir/code.tex +9 -21
  231. data/docs/nasu/latex_dir/discussion.aux +28 -0
  232. data/docs/nasu/latex_dir/discussion.tex +19 -0
  233. data/docs/nasu/latex_dir/features.aux +30 -0
  234. data/docs/nasu/latex_dir/features.tex +186 -0
  235. data/{my_help_nasu → docs/nasu}/latex_dir/head.tex +1 -1
  236. data/{my_help_nasu → docs/nasu}/latex_dir/introduction.aux +3 -3
  237. data/{my_help_nasu → docs/nasu}/latex_dir/introduction.tex +15 -16
  238. data/{my_help_nasu → docs/nasu}/latex_dir/jlisting.sty +0 -0
  239. data/{my_help_nasu/latex_dir/consideration.aux → docs/nasu/latex_dir/method.aux} +7 -8
  240. data/docs/nasu/latex_dir/method.tex +6 -0
  241. data/{my_help_nasu → docs/nasu}/latex_dir/method_bdd.aux +10 -7
  242. data/{my_help_nasu → docs/nasu}/latex_dir/method_bdd.tex +14 -5
  243. data/{my_help_nasu → docs/nasu}/latex_dir/method_cucumber.aux +10 -9
  244. data/{my_help_nasu → docs/nasu}/latex_dir/method_cucumber.tex +15 -18
  245. data/{my_help_nasu → docs/nasu}/latex_dir/method_usage.aux +11 -11
  246. data/{my_help_nasu → docs/nasu}/latex_dir/method_usage.tex +35 -29
  247. data/{my_help_nasu → docs/nasu}/latex_dir/my_help_nasu.aux +6 -5
  248. data/docs/nasu/latex_dir/my_help_nasu.log +363 -0
  249. data/docs/nasu/latex_dir/my_help_nasu.pdf +0 -0
  250. data/docs/nasu/latex_dir/my_help_nasu.synctex.gz +0 -0
  251. data/{my_help_nasu → docs/nasu}/latex_dir/my_help_nasu.tex +12 -18
  252. data/docs/nasu/latex_dir/my_help_nasu.toc +35 -0
  253. data/docs/nasu/latex_dir/new_code.aux +44 -0
  254. data/docs/nasu/latex_dir/new_code.tex +237 -0
  255. data/{my_help_nasu → docs/nasu}/latex_dir/overview.aux +2 -2
  256. data/{my_help_nasu/latex_dir → docs/nasu}/latex_dir/pre.tex +0 -0
  257. data/docs/nasu/method.hiki +5 -0
  258. data/{my_help_nasu → docs/nasu}/method_bdd.hiki +14 -8
  259. data/{my_help_nasu → docs/nasu}/method_cucumber.hiki +14 -17
  260. data/{my_help_nasu → docs/nasu}/method_usage.hiki +25 -24
  261. data/docs/nasu/my_help_nasu/my_help_nasu.001.bb +5 -0
  262. data/{my_help_nasu → docs/nasu}/my_help_nasu/my_help_nasu.001.jpeg +0 -0
  263. data/docs/nasu/my_help_nasu/my_help_nasu.002.bb +5 -0
  264. data/docs/nasu/my_help_nasu/my_help_nasu.002.jpeg +0 -0
  265. data/docs/nasu/my_help_nasu/my_help_nasu.003.bb +5 -0
  266. data/docs/nasu/my_help_nasu/my_help_nasu.003.jpeg +0 -0
  267. data/docs/nasu/my_help_nasu/my_help_nasu.004.bb +5 -0
  268. data/docs/nasu/my_help_nasu/my_help_nasu.004.jpeg +0 -0
  269. data/docs/nasu/my_help_nasu/my_help_nasu.005.bb +5 -0
  270. data/docs/nasu/my_help_nasu/my_help_nasu.005.jpeg +0 -0
  271. data/docs/nasu/my_help_nasu/my_help_nasu.006.bb +5 -0
  272. data/docs/nasu/my_help_nasu/my_help_nasu.006.jpeg +0 -0
  273. data/docs/nasu/my_help_nasu/my_help_nasu.007.bb +5 -0
  274. data/docs/nasu/my_help_nasu/my_help_nasu.007.jpeg +0 -0
  275. data/docs/nasu/my_help_nasu/my_help_nasu.008.bb +5 -0
  276. data/docs/nasu/my_help_nasu/my_help_nasu.008.jpeg +0 -0
  277. data/docs/nasu/my_help_nasu.hiki +28 -0
  278. data/docs/nasu/my_help_nasu.key +0 -0
  279. data/docs/nasu/my_help_nasu09.key +0 -0
  280. data/docs/nasu/my_help_nasu1/my_help_nasu1.001.jpg +0 -0
  281. data/docs/nasu/nasu_abst/abst_fig.bb +5 -0
  282. data/docs/nasu/nasu_abst/abst_fig.png +0 -0
  283. data/docs/nasu/nasu_abst/my_help_nasu.001.bb +5 -0
  284. data/docs/nasu/nasu_abst/my_help_nasu.001.jpg +0 -0
  285. data/docs/nasu/nasu_abst/my_help_nasu.001.png +0 -0
  286. data/docs/nasu/nasu_abst/nasu_abst.aux +10 -0
  287. data/docs/nasu/nasu_abst/nasu_abst.log +179 -0
  288. data/docs/nasu/nasu_abst/nasu_abst.pdf +0 -0
  289. data/docs/nasu/nasu_abst/nasu_abst.synctex.gz +0 -0
  290. data/docs/nasu/nasu_abst/nasu_abst.tex +63 -0
  291. data/docs/nasu/new_code.hiki +246 -0
  292. data/docs/nasu/spec/.rspec +2 -0
  293. data/docs/nasu/spec/my_help_spec.rb +75 -0
  294. data/docs/nasu/spec/my_todo/todo_spec.rb +15 -0
  295. data/docs/nasu/spec/spec_helper.rb +11 -0
  296. data/docs/nasu/spec/support/aruba.rb +1 -0
  297. data/docs/nasu/spec/thor_spec.rb +81 -0
  298. data/docs/nasu/test/my_help_test.rb +11 -0
  299. data/docs/nasu/test/test_helper.rb +4 -0
  300. data/{hikis → docs}/tmp.org +0 -0
  301. data/docs/yagi/bachelor_thesis/final/figs/opt_thor.jpeg +0 -0
  302. data/docs/yagi/bachelor_thesis/final/handout/handout.aux +14 -0
  303. data/{my_help_nasu/latex_dir/my_help_nasu.log → docs/yagi/bachelor_thesis/final/handout/handout.log} +46 -175
  304. data/docs/yagi/bachelor_thesis/final/handout/handout.pdf +0 -0
  305. data/docs/yagi/bachelor_thesis/final/handout/handout.synctex.gz +0 -0
  306. data/docs/yagi/bachelor_thesis/final/handout/handout.tex +123 -0
  307. data/docs/yagi/bachelor_thesis/final/mk_latex/thesis/thesis.aux +46 -0
  308. data/docs/yagi/bachelor_thesis/final/mk_latex/thesis/thesis.dvi +0 -0
  309. data/{lor → docs/yagi/bachelor_thesis/final/mk_latex/thesis/thesis.lof} +0 -0
  310. data/docs/yagi/bachelor_thesis/final/mk_latex/thesis/thesis.lot +0 -0
  311. data/docs/yagi/bachelor_thesis/final/mk_latex/thesis/thesis.synctex.gz +0 -0
  312. data/docs/yagi/bachelor_thesis/final/mk_latex/thesis/thesis.toc +0 -0
  313. data/docs/yagi/bachelor_thesis/final/thesis/figs/opt_thor.png +0 -0
  314. data/docs/yagi/bachelor_thesis/final/thesis/final_thesis.ipynb +449 -0
  315. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/latex/final_thesis.tex +718 -0
  316. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter1/chapter1.tex +8 -0
  317. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter2/chapter2.log +28 -0
  318. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter2/chapter2.tex +127 -0
  319. data/{my_help_nasu/latex_dir/method_cucumber.log → docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter3/chapter3.log} +11 -11
  320. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter3/chapter3.tex +328 -0
  321. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter4/chapter4.tex +13 -0
  322. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter5/chapter5.tex +5 -0
  323. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter6/chapter6.log +38 -0
  324. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter6/chapter6.tex +28 -0
  325. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/informations/informations.aux +1 -0
  326. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/informations/informations.log +55 -0
  327. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/informations/informations.tex +6 -0
  328. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/tmp/tmp.tex +1 -0
  329. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/.splits_location.tex +6 -0
  330. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.aux +114 -0
  331. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.lof +4 -0
  332. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.log +699 -0
  333. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.lot +5 -0
  334. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.out.ps +98 -0
  335. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.pdf +0 -0
  336. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.synctex.gz +0 -0
  337. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.tex +30 -0
  338. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.toc +22 -0
  339. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis_checked_180213_1433.pdf +0 -0
  340. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis_pieces/form00_style.tex +25 -0
  341. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis_pieces/tightlist_setting.tex +2 -0
  342. data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis_pieces/usepackage.tex +25 -0
  343. data/docs/yagi/bachelor_thesis/translation/awesome_chapter2.ipynb +84 -0
  344. data/docs/yagi/bachelor_thesis/translation/awesome_introduction.ipynb +328 -0
  345. data/docs/yagi/comparisons/.ipynb_checkpoints/Untitled-checkpoint.ipynb +6 -0
  346. data/docs/yagi/comparisons/.ipynb_checkpoints/comp-checkpoint.ipynb +230 -0
  347. data/docs/yagi/comparisons/comp.ipynb +178 -0
  348. data/docs/yagi/comparisons/hanami.rb +25 -0
  349. data/docs/yagi/comparisons/optparse.rb +21 -0
  350. data/docs/yagi/comparisons/thor.rb +11 -0
  351. data/docs/yagi/midterm_presentation/.ipynb_checkpoints/abst-checkpoint.ipynb +87 -0
  352. data/docs/yagi/midterm_presentation/abst.aux +16 -0
  353. data/docs/yagi/midterm_presentation/abst.ipynb +87 -0
  354. data/docs/yagi/midterm_presentation/abst.log +222 -0
  355. data/docs/yagi/midterm_presentation/abst.pdf +0 -0
  356. data/docs/yagi/midterm_presentation/abst.synctex.gz +0 -0
  357. data/docs/yagi/midterm_presentation/abst.tex +133 -0
  358. data/{my_help_nasu/latex_dir/jlisting.tex → docs/yagi/midterm_presentation/jlisting.sty} +0 -0
  359. data/docs/yagi/midterm_presentation/mid_keynote/mid_keynote.001.png +0 -0
  360. data/docs/yagi/midterm_presentation/mid_keynote/mid_keynote.002.png +0 -0
  361. data/docs/yagi/midterm_presentation/mid_keynote/mid_keynote.003.png +0 -0
  362. data/docs/yagi/midterm_presentation/mid_keynote/mid_keynote.004.png +0 -0
  363. data/docs/yagi/midterm_presentation/mid_keynote/mid_keynote.005.png +0 -0
  364. data/docs/yagi/midterm_presentation/mid_keynote.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
  365. data/docs/yagi/midterm_presentation/mid_keynote.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
  366. data/docs/yagi/midterm_presentation/mid_keynote.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
  367. data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt10@2x-92.jpg +0 -0
  368. data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt1@2x-83.jpg +0 -0
  369. data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt2@2x-84.jpg +0 -0
  370. data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt3@2x-85.jpg +0 -0
  371. data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt4@2x-86.jpg +0 -0
  372. data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt5@2x-87.jpg +0 -0
  373. data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt6@2x-88.jpg +0 -0
  374. data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt7@2x-89.jpg +0 -0
  375. data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt8@2x-90.jpg +0 -0
  376. data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt9@2x-91.jpg +0 -0
  377. data/docs/yagi/midterm_presentation/mid_keynote.key/Data/st0-438.jpg +0 -0
  378. data/docs/yagi/midterm_presentation/mid_keynote.key/Data/st1-598.jpg +0 -0
  379. data/docs/yagi/midterm_presentation/mid_keynote.key/Data/st2-648.jpg +0 -0
  380. data/docs/yagi/midterm_presentation/mid_keynote.key/Data/st3-652.jpg +0 -0
  381. data/docs/yagi/midterm_presentation/mid_keynote.key/Data/st4-671.jpg +0 -0
  382. data/docs/yagi/midterm_presentation/mid_keynote.key/Index.zip +0 -0
  383. data/docs/yagi/midterm_presentation/mid_keynote.key/Metadata/BuildVersionHistory.plist +8 -0
  384. data/docs/yagi/midterm_presentation/mid_keynote.key/Metadata/DocumentIdentifier +1 -0
  385. data/docs/yagi/midterm_presentation/mid_keynote.key/Metadata/Properties.plist +0 -0
  386. data/docs/yagi/midterm_presentation/mid_keynote.key/preview-micro.jpg +0 -0
  387. data/docs/yagi/midterm_presentation/mid_keynote.key/preview-web.jpg +0 -0
  388. data/docs/yagi/midterm_presentation/mid_keynote.key/preview.jpg +0 -0
  389. data/docs/yagi/thor_spec.ipynb +192 -0
  390. data/docs/yagi/thor_task.ipynb +98 -0
  391. data/exe/my_help +3 -1
  392. data/lib/my_help/org2yml.rb +46 -0
  393. data/lib/my_help/version.rb +1 -1
  394. data/lib/my_help/yml2org.rb +36 -0
  395. data/lib/my_help.rb +76 -30
  396. data/lib/my_help_thor.rb +170 -0
  397. data/lib/my_todo/my_todo.rb +5 -2
  398. data/lib/specific_help.rb +52 -25
  399. data/lib/{specific_help.rb~ → specific_help_bu.rb} +129 -89
  400. data/lib/specific_help_opt.rb +71 -0
  401. data/lib/specific_help_thor.rb +172 -0
  402. data/lib/templates/emacs_help.org +47 -0
  403. data/lib/templates/emacs_help_e.org +49 -0
  404. data/lib/templates/my_todo.org +11 -0
  405. data/lib/templates/template_help.org +8 -0
  406. data/make_docker.sh +5 -0
  407. data/my_help.gemspec +3 -2
  408. metadata +406 -92
  409. data/.DS_Store +0 -0
  410. data/CODE_OF_CONDUCT.md +0 -49
  411. data/README_en.md +0 -132
  412. data/exe/e_h +0 -4
  413. data/exe/emacs_help +0 -4
  414. data/exe/my_todo +0 -4
  415. data/hikis/README_en.hiki +0 -130
  416. data/hikis/README_ja.hiki +0 -316
  417. data/hikis/diff_against_org-mode.hiki +0 -34
  418. data/hikis/emacs_help.hiki +0 -47
  419. data/hikis/template_help.hiki +0 -51
  420. data/latexes/handout_pre.tex +0 -11
  421. data/lib/.emacs_help.rb.swp +0 -0
  422. data/lib/daddygongon/emacs_help.yml +0 -89
  423. data/lib/daddygongon/my_todo.yml +0 -31
  424. data/lib/daddygongon/template_help.yml +0 -33
  425. data/lib/emacs_help.rb~ +0 -137
  426. data/lib/my_todo/my_todo.rb~ +0 -7
  427. data/lib/todo.rb~ +0 -1
  428. data/my_help.wiki/Home.md +0 -330
  429. data/my_help.wiki/README_en.md +0 -132
  430. data/my_help.wiki/README_ja.md +0 -330
  431. data/my_help.wiki/emacs_help.md +0 -46
  432. data/my_help.wiki/template_help.md +0 -51
  433. data/my_help_nasu/.DS_Store +0 -0
  434. data/my_help_nasu/consideration.hiki +0 -8
  435. data/my_help_nasu/figs/my_help_nasu.001.jpeg +0 -0
  436. data/my_help_nasu/figs/my_help_nasu.001.jpg +0 -0
  437. data/my_help_nasu/figs/my_help_nasu1.001.jpg +0 -0
  438. data/my_help_nasu/latex_dir/.gitignore +0 -1
  439. data/my_help_nasu/latex_dir/Rakefile +0 -420
  440. data/my_help_nasu/latex_dir/code.aux +0 -25
  441. data/my_help_nasu/latex_dir/consideration.tex +0 -9
  442. data/my_help_nasu/latex_dir/features.aux +0 -31
  443. data/my_help_nasu/latex_dir/features.tex +0 -173
  444. data/my_help_nasu/latex_dir/hiki_help.yml +0 -53
  445. data/my_help_nasu/latex_dir/latex_dir/head.tex +0 -9
  446. data/my_help_nasu/latex_dir/latex_dir/jlisting.tex +0 -216
  447. data/my_help_nasu/latex_dir/my_help_nasu.pdf +0 -0
  448. data/my_help_nasu/latex_dir/my_help_nasu.synctex.gz +0 -0
  449. data/my_help_nasu/latex_dir/my_help_nasu.toc +0 -32
  450. data/my_help_nasu/latex_dir/overview.tex +0 -12
  451. data/my_help_nasu/latex_dir/pre.tex +0 -36
  452. data/my_help_nasu/my_help_nasu/.DS_Store +0 -0
  453. data/my_help_nasu/my_help_nasu.hiki +0 -32
  454. data/my_help_nasu/my_help_nasu.key +0 -0
  455. data/my_help_nasu/overview.hiki +0 -11
@@ -0,0 +1,237 @@
1
+
2
+ \section{ビヘイビア駆動開発の実践}
3
+ CucumberとRSpecを用いてBDDでmy\_helpのテスト開発を進めていきました.
4
+ ビヘイビア駆動開発のコツとして「焦点を合わせる」ことが強調されています.
5
+ ここでは,焦点を合わせたmy\_helpの中での一つの振る舞いである
6
+ 「todoの更新」を例として詳しく見ていきます.
7
+
8
+ \subsection{todoの更新マニュアル}
9
+ 最初に,todoを更新するときの手順を示します.
10
+
11
+ \begin{enumerate}
12
+ \item my\_todo --editを入力して~/.my\_help/my\_todo.ymlを開く
13
+ \item editorでtodoを書き込む(今週やることならweeklyというitemを作ってそこに書き込む)
14
+ \item 保存して~/.my\_help/my\_todo.ymlを閉じる
15
+ \end{enumerate}
16
+ この振る舞いがきちんとできているのかをBDDでテストを書いていきます.
17
+
18
+ \subsection{Cucumber}
19
+ 以下はtodoの更新を行うときのfeatureです.
20
+ まず,適当なディレクトリにfeaturesというディレクトリを作成します.
21
+ 次に先ほど作成した,featuresディレクトリにmy\_todo.featureを作成します.
22
+ \begin{lstlisting}[style=customCsh,basicstyle={\scriptsize\ttfamily}]
23
+ # language: ja
24
+
25
+ 機能: todoの更新を行う
26
+ 自分のするべきことを書き込むためにtodoを更新する
27
+
28
+ シナリオ: コマンドを入力してtodoを更新していく
29
+ 前提 todoを編集したい
30
+ もし "my_todo --edit"と入力する
31
+ ならば editが開かれる
32
+ かつ 自分のtodoを書き込む
33
+ \end{lstlisting}
34
+ 機能とは,このシステムの機能のことを記述します.ここでは,todoを更新するシステムですので,「todoの更新を行う」です.
35
+ 機能の下には,機能の補足説明を記述します.機能の補足説明では,ルールがないので自分がわかりやすいように,記述するのが常識です.
36
+ シナリオは,その名の通りtodoを更新する時のユーザの行動やシステム振る舞いを前提,もし,ならば,かつ,しかしに分類して記述します.
37
+
38
+ ここまでfeatureが記述できたら,次はcucumberコマンドを実行してみます.
39
+ コマンドは以下の通りです.
40
+ \begin{quote}\begin{verbatim}
41
+ nasu% cucumber features/my_todo.feature
42
+ \end{verbatim}\end{quote}
43
+ featuresディレクトリにあるmy\_todo.featureファイルをcucumberで実行するという意味です.
44
+
45
+ 実行すると図\ref{fig:003}のようになります.
46
+
47
+ \begin{figure}[htbp]\begin{center}
48
+ \includegraphics[width=12cm,bb= 0 0 937 753]{../figs/./my_help_nasu.003.jpeg}
49
+ \caption{step定義をする前のcucumberの実行結果.}
50
+ \label{fig:003}
51
+ \label{default}\end{center}\end{figure}
52
+ ここでは,1つのscenarioと4つのstepが失敗しています.
53
+ まだstep定義を記述していないので当たり前です.
54
+
55
+ 一度cucumberを実行したのには理由があります.
56
+ featureを書いた時点でcucumberを実行すると,ステップ定義の元となるコマンドを,cucumberが自動的に作成してくれるからです.
57
+
58
+ 以下がcucumberから出力されたステップ定義の元となる部分です.
59
+ \begin{lstlisting}[style=customCsh,basicstyle={\scriptsize\ttfamily}]
60
+ 前提(/^todoを編集したい$/) do
61
+
62
+ end
63
+
64
+ もし(/^"([^"]*)"と入力する$/) do |command|
65
+
66
+ end
67
+
68
+ ならば(/^editが開かれる$/) do
69
+
70
+ end
71
+
72
+ ならば(/^自分のtodoを書き込む$/) do
73
+
74
+ end
75
+ \end{lstlisting}
76
+ これをコピーして,featuresディレクトリの中でstep\_definitionsディレクトリを作成し,その中にmy\_todo\_spec.rbを作成し,そこに貼付けます.
77
+
78
+ ここでもう一度cucumberを実行してみると図\ref{fig:004}のように変化が出てきます.
79
+
80
+ \begin{figure}[htbp]\begin{center}
81
+ \includegraphics[width=12cm,bb= 0 0 937 753]{../figs/./my_help_nasu.004.jpeg}
82
+ \caption{defaultのstep定義を貼り付けた後のcucumberの実行結果.}
83
+ \label{fig:004}
84
+ \label{default}\end{center}\end{figure}
85
+ これは1つのシナリオがあり,1つがpendingであり,4つのstepの内1つがpendingで3つがskipしたことを表しています.
86
+ step\_definitionsのmy\_todo\_spec.rbのpending部分を書き換えて,step\_definitionsの記述を進めていきます.
87
+
88
+ まず,「前提」を見てみるとmy\_helpが何か振る舞いをすることはありません.
89
+ よって,このままにしておきます.
90
+ 「もし」もユーザが入力するコマンドであり,my\_helpが何か振る舞いをすることはないのでこのままにしておきます.
91
+ 次に,「ならば」を見てみるとmy\_helpがeditを開くという振る舞いをしています.
92
+ ステップ定義では,あれば良いと思うコードを記述するので私は下記のように記述しました.
93
+ \begin{lstlisting}[style=customCsh,basicstyle={\scriptsize\ttfamily}]
94
+ ならば(/^editが開かれる$/) do
95
+ Mytodo::Edit.new.open
96
+ end
97
+ \end{lstlisting}
98
+ pendingの部分が書けたので,もう一度cucumber features/my\_todo.featureを実行します.
99
+ すると,図\ref{fig:005}のような結果が返ってきました.
100
+
101
+ \begin{figure}[htbp]\begin{center}
102
+ \includegraphics[width=12cm,bb= 0 0 937 753]{../figs/./my_help_nasu.005.jpeg}
103
+ \caption{pendingのstep定義を書き込んだ後のcucumberの実行結果.}
104
+ \label{fig:005}
105
+ \label{default}\end{center}\end{figure}
106
+ Cucumberは,エラーが出たステップのすぐ後ろにエラーを表示してくれます.
107
+ ここでCucumberでエラーが出たので,この「ならば editが開かれる」のシナリオに注目してRSpecに進むことにします.
108
+
109
+ \subsection{RSpec}
110
+ 次にRSpecを使って実際にtodoを更新する振る舞いをするコード書いていきます.
111
+
112
+ そのための準備として,まずspecというディレクトリを作成し,my\_todoというサブディレクトリを追加します.
113
+ 次に,このサブディレクトリにtodo\_spec.rbというファイルを追加します.
114
+ この機能はmy\_help --editと入力されれば,~/.my\_help/my\_todo.ymlが開かれるので,その振る舞いをするコードを書きます.
115
+ まずtodo\_spec.rbは下記の通りです.
116
+ \begin{lstlisting}[style=customRuby,basicstyle={\scriptsize\ttfamily}]
117
+ require 'spec_helper'
118
+
119
+
120
+ module Mytodo
121
+ describe Todo do
122
+ describe "#open" do
123
+ it "open file my_todo.yml"
124
+ end
125
+ end
126
+ end
127
+
128
+ \end{lstlisting}
129
+ describe()メソッドは,RSpecのAPIにアクセスしてRSpec::Core::ExampleGroupのサブクラスを返します.
130
+ ExampleGroupクラスはオブジェクトに期待される振る舞いのサンプルを示すグループです.
131
+ it()メソッドはサンプルを作成します.
132
+
133
+ 完成したコードを下記の通りです.
134
+ \begin{lstlisting}[style=customRuby,basicstyle={\scriptsize\ttfamily}]
135
+ require 'spec_helper'
136
+
137
+
138
+ module Mytodo
139
+ describe Todo do
140
+ describe "#open" do
141
+ it "open file my_todo.yml" do
142
+ system("emacs ~/.my_help/my_todo.yml")
143
+ end
144
+ end
145
+ end
146
+ end
147
+
148
+ \end{lstlisting}
149
+ specディレクトリのmy\_todoディレクトリをrspecで実行すると図\ref{fig:006}結果がでました.
150
+ \verb|--color|を付け加えるとわかりやすく色づけをしてくれて,見やすくなります.
151
+
152
+ \begin{figure}[htbp]\begin{center}
153
+ \includegraphics[width=12cm,bb= 0 0 937 753]{../figs/./my_help_nasu.006.jpeg}
154
+ \caption{pendingのstep定義を書き込んだ後のcucumberの実行結果.}
155
+ \label{fig:006}
156
+ \label{default}\end{center}\end{figure}
157
+ 図\ref{fig:006}を見るとエラーが出てしまっているのがわかります.
158
+ \begin{quote}\begin{verbatim}
159
+ `<module:Mytodo>': uninitialized constant Mytodo::Edit (NameError)
160
+ \end{verbatim}\end{quote}
161
+ 上記のエラーを解決するために,specディレクトリの一つ上の構造のディレクトリにlibディレクトリを作成します.
162
+ その中にmy\_todoというディレクトリを作成し,my\_todo.rbを作成します.
163
+
164
+ 構造を表示すると以下のようになります.
165
+ \begin{quote}\begin{verbatim}
166
+ /Users/nasubi/my_help/lib/my_todo% ls
167
+ my_todo.rb
168
+ \end{verbatim}\end{quote}
169
+ my\_todo.rbに先ほどのエラーでMytodoというmoduleがないといわれているので,
170
+ ここで作成します.
171
+
172
+ /Users/nasubi/my\_help/lib/my\_todo/my\_todo.rbの中に以下のコードを記述します.
173
+ \begin{lstlisting}[style=customCsh,basicstyle={\scriptsize\ttfamily}]
174
+ module Mytodo
175
+ class Edit
176
+ def open
177
+
178
+ end
179
+ end
180
+ end
181
+ \end{lstlisting}
182
+ また,これをrequireしないといけないので,lib/todo.rbとして,以下を追加します.
183
+ \begin{quote}\begin{verbatim}
184
+ require 'my_todo/my_todo'
185
+ \end{verbatim}\end{quote}
186
+ これだけでは,rspecがlib/my\_todo/my\_todo.rbを読み込んでいないため,このスペックを実行するために,specディレクトリにspec\_helper.rbに以下を追加します.
187
+ \begin{lstlisting}[style=customCsh,basicstyle={\scriptsize\ttfamily}]
188
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
189
+ require 'todo'
190
+ \end{lstlisting}
191
+ これでもう一度rspecを実行してみると図\ref{fig:007}の結果が返ってきました.
192
+
193
+ \begin{figure}[htbp]\begin{center}
194
+ \includegraphics[width=12cm,bb= 0 0 937 753]{../figs/./my_help_nasu.007.jpeg}
195
+ \caption{redを修正してgreenになったrspecの実行結果}
196
+ \label{fig:007}
197
+ \label{default}\end{center}\end{figure}
198
+ 図\ref{fig:007}を見ると,エラーが消えて成功しているのがわかります.
199
+ これで「ならば editが開かれる」のシナリオのRSpec部分が成功しました.
200
+ Red, Greenと進めたので次はRefactoringをするのですが,ここではあまり必要のないので省略します.
201
+ RSpecが終わったので,Cucumberに戻ります.
202
+
203
+ 先ほどlibディレクトリでlib/my\_todo/my\_todo.rbを作成したので,cucumberでも読み込むために,以下を作成します.
204
+ \begin{quote}\begin{verbatim}
205
+ /Users/nasubi/my_help/features/support/env.rb
206
+ \end{verbatim}\end{quote}
207
+ env.rbの中は以下の通りです.
208
+ \begin{lstlisting}[style=customRuby,basicstyle={\scriptsize\ttfamily}]
209
+ $LOAD_PATH.unshift File.expand_path('../../../lib', __FILE__)
210
+ require 'todo'
211
+ \end{lstlisting}
212
+ これでcucumberもlib/の中身を読み取ってくれます.
213
+
214
+ もう一度cucumberを実行してみると,図\ref{fig:008}の結果が返ってきました.
215
+
216
+ \begin{figure}[htbp]\begin{center}
217
+ \includegraphics[width=12cm,bb= 0 0 937 753]{../figs/./my_help_nasu.008.jpeg}
218
+ \caption{libの中身を読み込むようにしたcucumberの実行結果.}
219
+ \label{fig:008}
220
+ \label{default}\end{center}\end{figure}
221
+ エラーが消えています.
222
+
223
+ これでBDDが成功しました.
224
+ 残りの「自分のtodoを書き込む」もmy\_helpが何か振る舞いをするわけではないので,「コマンドを入力してtodoを更新する」シナリオ全てのテスト開発が終わりました.
225
+ このようにBDDでmy\_helpのテスト開発を行っていきました.
226
+
227
+ \subsection{.rspec options}
228
+ 図\ref{fig:006}の時に述べたように,[rspec spec --color]で実行すると成功すればGreenで表示され,失敗すればRedで表示されます.
229
+ 結果に色がついていると見やすく,どのような結果が出ているかが一目瞭然です.
230
+ しかし,毎回[--color]のコマンドを打ち込むのが面倒になってきます.
231
+ そこで,カレントディレクトリに.rspecを用意し,
232
+ \begin{quote}\begin{verbatim}
233
+ --format documentation
234
+ --color
235
+ \end{verbatim}\end{quote}
236
+ のようにすることで,rspecで実行するときにこのファイルを読み込み,[--color]を入力しなくても実行されます.
237
+
@@ -1,6 +1,6 @@
1
1
  \relax
2
2
  \@setckpt{overview}{
3
- \setcounter{page}{5}
3
+ \setcounter{page}{4}
4
4
  \setcounter{equation}{0}
5
5
  \setcounter{enumi}{0}
6
6
  \setcounter{enumii}{0}
@@ -16,6 +16,6 @@
16
16
  \setcounter{subparagraph}{0}
17
17
  \setcounter{figure}{0}
18
18
  \setcounter{table}{0}
19
- \setcounter{lstnumber}{1}
20
19
  \setcounter{lstlisting}{0}
20
+ \setcounter{lstnumber}{1}
21
21
  }
@@ -0,0 +1,5 @@
1
+ ここでは、本研究で使用するcucumberの特徴について詳述する.
2
+ cucumberはビヘイビア駆動開発(bdd)を実現するフレームワークである.
3
+ まずはbddの現れた背景や現状を示した後、Cucumberの記述の具体例を示して,
4
+ その特徴を詳述する.
5
+ さらに,本研究の対象となるmy_helpの振る舞いを使用法とともに示す.
@@ -1,24 +1,30 @@
1
1
  {{toc}}
2
+ !先行研究,方法
3
+ ここでは、本研究で使用するCucumberの特徴について詳述します.
4
+ Cucumberはビヘイビア駆動開発(BDD)を実現するフレームワークです.
5
+ まずはbddの現れた背景や現状を示した後、Cucumberの記述の具体例を示して,
6
+ その特徴を詳述します.
7
+ さらに,本研究の対象となるmy_helpの振る舞いを使用法とともに示します.
2
8
 
3
- !RSpecとBDDについて
9
+ !!RSpecとBDDについて
4
10
 
5
11
  ビヘイビア駆動開発(Behaviour-Driven Development : BDD)は,テスト駆動開発(Test-Driven Development : TDD)の工程への理解を深め,それをうまく説明しようとして始まりました.TDDの持つ単語のイメージが構造のテストを中心とするべしというのに対して,BDDはソフトの振る舞いに中心をおきなさいという意図があります.この違いが,初めに考えるべきテストの性質を変化させ,構造ではなく振る舞いを中心にテストを構築するという意識をもたせてくれます.
6
12
 
7
13
  さらに,ソフトの中で,オブジェクト同士がコミュニケーションをとるように,実世界において開発チームやテストチーム,あるいはドキュメントチーム間のコミュニケーションの取り方をシステムで提供しようというのがBDDのフレームワークです.CucumberとRSpecはこれを実現する一つのシステムとして提供されています.
8
14
 
9
- RSpecとCucumberの関係を図に示しました.これは,RSpec本から書き写した図です[1, pp.9].RSpecでテストを書くと一つ一つのfunctionあるいはmethodレベルでRed, Green, Refactoringを行うべしという意図があります.一方で,もっと大きな枠組み,つまりシステムレベルでもこれらのステップは必要です.ところが,それをRSpecで書くのには無理があります.このレベルのテスト記述をしやすくするのが,Cucumberです.そこでもRed, Green, Refactoringが必要で,そこでサイクルが回ることを意図しています.
15
+ RSpecとCucumberの関係を図{{ref(fig:001)}}に示しました.これは,The RSpec Book[1]から書き写した図です[1, pp.9].RSpecでテストを書くと一つ一つのfunctionあるいはmethodレベルでRed, Green, Refactoringを行うべしという意図があります.一方で,もっと大きな枠組み,つまりシステムレベルでもこれらのステップは必要です.ところが,それをRSpecで書くのには無理があります.このレベルのテスト記述をしやすくするのが,Cucumberです.そこでもRed, Green, Refactoringが必要で,そこでサイクルが回ることを意図しています.
10
16
 
11
- !!!caption:RSpecとCucumberのRed-Green-Refactoringサイクル間の関係.
12
- {{attach_view(my_help_nasu.001.jpg,my_help_nasu)}}
17
+ !!!caption:(fig:001)RSpecとCucumberのRed-Green-Refactoringサイクル間の関係.
18
+ {{attach_view(my_help_nasu.001.jpeg,my_help_nasu)}}
13
19
 
14
20
  BDDの基本的な考え方は次の通りまとめられています.
15
21
  ""BDDの目的は,ソフトウェアが使われる状況を説明するための言語を単純化することで,ソフトウェア開発チームのコミュニケーションを後押しすることです.つまり,あるコンテキストで(Given),あるイベントが発生すると(When),ある結果が期待されます(Then).BDDにおけるGiven, When, Thenの3つの単語は,アプリケーションやオブジェクトを,それらの振る舞いに関係なく表現するために使われる単純な単語です.ビジネスアナリスト,テスト担当者,開発者は皆,それらをすぐに理解します.これらの単語はCucumberの言語に直接埋め込まれています[1, pp.3-6].
16
22
 
17
- 手順を書き直すと次の通りです.
23
+ 手順を書き直すと図{{ref(fig:002)}}の通りです.
18
24
 
19
- !!!caption:RSpecとCucumberの手順.
20
- {{attach_view(my_help_nasu1.001.jpg,my_help_nasu)}}
25
+ !!!caption:(fig:002)RSpecとCucumberの手順.
26
+ {{attach_view(my_help_nasu.002.jpeg,my_help_nasu)}}
21
27
 
22
- まずCucumberで一つのシナリオに焦点を当てて,その振る舞いを記述するfeatureを書きます.一つずつつぶしていくのがこつです.一つのfeatureが書けたら、次に,それぞれfeatureを実現するステップに分けて仕様を決めて行きます.これはTDDのred green refactoringの前に行う作業,「仕様をきめる」に対応しています.このプロセスが終了したら,RSpecに行きます.
28
+ まずCucumberで一つのシナリオに焦点を当てて,その振る舞いを記述するfeatureを書きます.一つずつつぶしていくのがこつです.一つのfeatureが書けたら、次に,それぞれfeatureを実現するステップに分けて仕様を決めて行きます.これはTDDのred green refactoringの前に行う作業,「仕様を決める」に対応しています.このプロセスが終了したら,RSpecに行きます.
23
29
  RSpecでは実際にテストコードを書き,ここでもred, green, refactoringを行います.
24
30
  RSpecが成功したら,Cucumberのrefactoringを行います.
@@ -7,6 +7,7 @@ Cucumberが提供するBDDの内容をまとめると
7
7
 
8
8
  !!features
9
9
  Cucumberでは先の引用にある通り、振る舞いをシナリオとしてまず記述します.
10
+ シナリオとは,一つひとつの振る舞いを,主にGiven(前提), Then(もし), When(ならば)に分けてfeaturesを記述します.
10
11
  次に,英語のfeaturesのひな形を示します.
11
12
  <<< ruby
12
13
  % cat ./featrues/sample_e.feature
@@ -25,19 +26,13 @@ Scenario: Description of scenario
25
26
  # language: ja
26
27
 
27
28
  機能: todoの更新を行う
28
- todoは更新していくものであり,新しく書いたり終わったものを消したいので
29
- バックアップをとって,過去のtodoを残しておく
29
+ 自分のするべきことを書き込むためにtodoを更新する
30
30
 
31
31
  シナリオ: コマンドを入力してtodoを更新していく
32
- 前提 todoを編集したい
33
- もし "my_todo --edit"と入力する
32
+ 前提 todoを編集したい
33
+ もし "my_todo --edit"と入力する
34
34
  ならば editが開かれる
35
- かつ 自分のtodoを書き込む
36
-
37
- シナリオ: コマンドを入力してバックアップをとる
38
- 前提 todoの編集が終わった
39
- もし "my_todo --store [item]"と入力する
40
- ならば itemのバックアップを取る
35
+ かつ 自分のtodoを書き込む
41
36
  >>>
42
37
  このようにFeature, Scenario, Given, Then, Whenなどのcucumberが解釈する大文字で始まる
43
38
  keywordsに対して,それぞれ機能,シナリオ,前提,もし,ならばなどの単語があてられています.
@@ -46,8 +41,9 @@ keywordsに対して,それぞれ機能,シナリオ,前提,もし,な
46
41
 
47
42
  featureファイルで用意されているkeywordは
48
43
  cucumber --i18n LANG
49
- によって表示される.LANG=ja, enに対しては下記の通りになっています.
44
+ によって表示される.LANG=ja, enに対しては表{{ref(table:one)}}の通りになっています.
50
45
 
46
+ !!!caption: (table:one)featureファイルで用意されているkeywordの日本語(ja),英語(en)の対応表.
51
47
  || keyword || ja(japanese) || en(english)
52
48
  ||^ feature||^ "フィーチャ", "機能" ||"Feature", "Business Need",
53
49
  ||"Ability" ||
@@ -69,7 +65,7 @@ featureファイルで用意されているkeywordは
69
65
  || but (code) || "しかし", "但し","ただし" || "But" ||
70
66
 
71
67
  !!Cucumber,RSpecインストール
72
- まずrspecをgemでinstallする.
68
+ まずrspecをgemでinstallします.
73
69
  #gem install rspec --version 2.0.0
74
70
  #rspec --help
75
71
  と入力して
@@ -77,7 +73,8 @@ featureファイルで用意されているkeywordは
77
73
  /Users/nasubi/nasu% rspec --help
78
74
  Usage: rspec [options] [files or directories]
79
75
  >>>
80
- のような表示がされていればinstallができている.次に,cucumberをinstallする
76
+ のような表示がされていればinstallができています.
77
+ 次に,cucumberをinstallします.
81
78
  #gem install cucumber --version 0.9.2
82
79
  #cucumber --help
83
80
  と入力して
@@ -85,10 +82,10 @@ Usage: rspec [options] [files or directories]
85
82
  cucumber --help
86
83
  Usage: cucumber [options] [ [FILE|DIR|URL][:LINE[:LINE]*] ]+
87
84
  >>>
88
- のような表示がされていればinstallできている.
85
+ のような表示がされていればinstallできています.
89
86
 
90
87
  !!ディレクトリー構造と使用手順
91
- cucumberはRubygemsの提供する基本directory構造での作業を前提としています.
88
+ CucumberはRubygemsの提供する基本directory構造での作業を前提としています.
92
89
  その構造を表示すると次のようになります.
93
90
  <<<
94
91
  bob% tree .
@@ -117,7 +114,7 @@ bob% tree .
117
114
 
118
115
  カレントディレクトリ(.)の中にfeaturesというサブディレクトリを作成します.
119
116
  そのfeaturesの中に書きたいシナリオを書いた,hogehoge.featureを作成します.
120
- featureの具体例は上記に示してします.
117
+ featureの具体例は上記に示しています.
121
118
 
122
119
  次にシェルを開いて,カレントディレクトリで,
123
120
  cucumber features hogehoge.feature
@@ -159,7 +156,7 @@ Cucumberはシナリオの最初のステップを読み取り,そのステッ
159
156
 
160
157
  これはfeaturesディレクトリの下にstep_definitionsディレクトリーにあることになっています.
161
158
  このシナリオを成功させるには,Cucumberが読み込めるファイルにステップ定義を保存する必要があります[1, pp15.].
162
- その内容は次の通りcucumberから自動生成されます.
159
+ その内容は次の通りCucumberから自動生成されます.
163
160
 
164
161
  <<< ruby
165
162
 
@@ -1,39 +1,44 @@
1
1
  {{toc}}
2
2
  !my_helpについて
3
- !!使用法
4
3
  my_helpは本研究室の西谷が開発したものです.
4
+ my_helpとはユーザメモソフトであり,CUIスキルの習得を助けてくれます.
5
+ tarminal上で簡単に提示させることができるため,プログラミングに集中することができるといった特徴があります.
6
+ また,自分の見やすいように初心者でも簡単に編集することができ,すぐに参照できるメモとしても使うことができます.
5
7
 
6
- 以下はmy_helpのREADMEです[2].
8
+ !!my_helpの開発動機と特徴
9
+ 以下はmy_helpのREADMEからの抜粋です[2].
7
10
 
8
- CUI(CLI)ヘルプのUsage出力を真似て,user独自のhelpを作成・提供するgem.
11
+ !!! 概要
12
+ my_help - CUI(CLI)ヘルプのUsage出力を真似て,user独自のhelpを作成・提供するgem.
9
13
 
10
- # 問題点
14
+ !!! 開発動機
11
15
  CUIやshell, 何かのプログラミング言語などを習得しようとする初心者は,
12
16
  commandや文法を覚えるのに苦労します.少しのkey(とっかかり)があると
13
17
  思い出すんですが,うろ覚えでは間違えて路頭に迷います.問題点は,
14
- - manは基本的に英語
15
- - manualでは重たい
16
- - いつもおなじことをwebで検索して
17
- - 同じとこ見ている
18
- - memoしても,どこへ置いたか忘れる
18
+ * manは基本的に英語
19
+ * manualでは重たい
20
+ * いつもおなじことをwebで検索して
21
+ * 同じとこ見ている
22
+ * memoしても,どこへ置いたか忘れる
19
23
 
20
24
  などです.
21
25
 
22
- # 特徴
26
+ !!! 特徴
23
27
  これらをgem環境として提供しようというのが,このgemの目的です.
24
28
  仕様としては,
25
- - userが自分にあったmanを作成
26
- - 雛形を提供
27
- - おなじformat, looks, 操作, 階層構造
28
- - すぐに手が届く
29
- - それらを追加・修正・削除できる
29
+ * userが自分にあったmanを作成
30
+ * 雛形を提供
31
+ ** おなじformat, looks, 操作, 階層構造
32
+ * すぐに手が届く
33
+ * それらを追加・修正・削除できる
30
34
 
31
35
  hikiでやろうとしていることの半分くらいはこのあたりのことなの
32
36
  かもしれません.memoソフトでは,検索が必要となりますが,my_helpは
33
37
  key(記憶のとっかかり)を提供することが目的です.
34
38
 
39
+
35
40
  !!my_helpのインストール
36
- !!githubに行ってdaddygongonのmy_helpをforkする
41
+ githubに行ってdaddygongonのmy_helpをforkします.
37
42
  #git clone git@github.com:daddygongon/my_help.git
38
43
  #cd my_help
39
44
  #rake to_yml
@@ -44,8 +49,8 @@ key(記憶のとっかかり)を提供することが目的です.
44
49
  #rake add_yml
45
50
 
46
51
  !!my_helpの更新
52
+ git hubを用いてmy_helpを新しくします.
47
53
 
48
- !!!gitを用いてmy_helpを新しくする.
49
54
  #git remote -vをする(remoteの確認).
50
55
  #(upstreamがなければ)git remote add upstream git@github.com:gitname/my_help.git
51
56
  #git add -A
@@ -53,17 +58,13 @@ key(記憶のとっかかり)を提供することが目的です.
53
58
  #git push upstream master(ここで自分のmy_helpをupstreamに送っとく)
54
59
  #git pull origin master(新しいmy_helpを取ってくる)
55
60
 
56
- !!!次にとってきた.ymlを~/.my_helpにcpする.
61
+ 次にとってきた.ymlを~/.my_helpにcpする.
57
62
  #cd my_helpでmy_helpに移動.
58
63
  #cp hogehoge.yml ~/.my_help
59
64
 
60
65
  それを動かすために
61
66
  (sudo)bundle exec ruby exe/my_help -mをする.
62
-
63
- ここで過去にsudoをした人はpermissionがrootになっているので,sudoをつけないとerrorが出る.
64
-
67
+ ここで過去にsudoをした人はpermissionがrootになっているので,sudoをつけないとerrorが出ます.
65
68
  (sudoで実行していたら権限がrootに移行される)
66
-
67
- 新しいターミナルを開いて動くかチェックする.
68
-
69
+ #新しいターミナルを開いて動くかチェックする.
69
70
 
@@ -0,0 +1,5 @@
1
+ %%Title: ./my_help_nasu.001.jpeg
2
+ %%Creator: extractbb 20110311
3
+ %%BoundingBox: 0 0 737 553
4
+ %%CreationDate: Mon Feb 13 11:26:11 2017
5
+
@@ -0,0 +1,5 @@
1
+ %%Title: ./my_help_nasu.002.jpeg
2
+ %%Creator: extractbb 20110311
3
+ %%BoundingBox: 0 0 737 553
4
+ %%CreationDate: Mon Feb 13 11:26:11 2017
5
+
@@ -0,0 +1,5 @@
1
+ %%Title: ./my_help_nasu.003.jpeg
2
+ %%Creator: extractbb 20110311
3
+ %%BoundingBox: 0 0 737 553
4
+ %%CreationDate: Mon Feb 13 11:26:11 2017
5
+
@@ -0,0 +1,5 @@
1
+ %%Title: ./my_help_nasu.004.jpeg
2
+ %%Creator: extractbb 20110311
3
+ %%BoundingBox: 0 0 737 553
4
+ %%CreationDate: Mon Feb 13 11:26:11 2017
5
+
@@ -0,0 +1,5 @@
1
+ %%Title: ./my_help_nasu.005.jpeg
2
+ %%Creator: extractbb 20110311
3
+ %%BoundingBox: 0 0 737 553
4
+ %%CreationDate: Mon Feb 13 11:26:11 2017
5
+
@@ -0,0 +1,5 @@
1
+ %%Title: ./my_help_nasu.006.jpeg
2
+ %%Creator: extractbb 20110311
3
+ %%BoundingBox: 0 0 737 553
4
+ %%CreationDate: Mon Feb 13 11:26:11 2017
5
+
@@ -0,0 +1,5 @@
1
+ %%Title: ./my_help_nasu.007.jpeg
2
+ %%Creator: extractbb 20110311
3
+ %%BoundingBox: 0 0 737 553
4
+ %%CreationDate: Mon Feb 13 11:26:11 2017
5
+
@@ -0,0 +1,5 @@
1
+ %%Title: ./my_help_nasu.008.jpeg
2
+ %%Creator: extractbb 20110311
3
+ %%BoundingBox: 0 0 737 553
4
+ %%CreationDate: Mon Feb 13 11:26:11 2017
5
+
@@ -0,0 +1,28 @@
1
+ {{toc}}
2
+
3
+ !title:ユーザメモソフトmy_helpのビヘイビアテスト開発
4
+ !author:2535 那須比呂貴
5
+
6
+
7
+ ![[概要|my_help_nasu_overview]]
8
+
9
+ ![[序論|my_help_nasu_introduction]]
10
+
11
+ ![[先行研究,方法|my_help_nasu_method_bdd]]
12
+ !![[my_help_nasu_method_cucumber]]
13
+ !![[my_help_nasu_method_usage]]
14
+
15
+ ![[本論|my_help_nasu_new_code]]
16
+ !![[my_help_nasu_features]]
17
+ ![[結論,考察|my_help_nasu_discussion]]
18
+
19
+
20
+ !謝辞
21
+ 本研究を進めるにあたり,様々なご指導を頂きました西谷滋人教授先生に深く感謝いたします.
22
+ また,本研究の進行に伴い,様々な助力,知識の供給を頂きました西谷研究室の同輩,先輩方に心から感謝の意を示します.
23
+ 本当にありがとうございました.
24
+
25
+ !reference:
26
+ :RSpecBook: "The RSpec Book", David Chelimsky, Dave Astels, Zach Dennis, 訳, 株式会社クイーブ, 監修, 角谷信太郎, 豊田裕司 (翔泳社, 2012).
27
+ :README: my_help README, Shigeto R. Nishitani, [[http://www.rubydoc.info/gems/my_help/0.4.3]] 2017/2/11アクセス.
28
+ :Qiita: rake specにrspecのオプションを渡す, Qiita, [[http://qiita.com/snaka/items/e0808f9cfbad87c49b4e]] 2017/2/13アクセス.
Binary file
Binary file
@@ -0,0 +1,5 @@
1
+ %%Title: abst_fig.png
2
+ %%Creator: extractbb 20160307
3
+ %%BoundingBox: 0 0 394 443
4
+ %%CreationDate: Thu Feb 16 11:10:26 2017
5
+
Binary file
@@ -0,0 +1,5 @@
1
+ %%Title: my_help_nasu.001.jpg
2
+ %%Creator: extractbb 20160307
3
+ %%BoundingBox: 0 0 737 553
4
+ %%CreationDate: Thu Feb 16 11:08:20 2017
5
+
@@ -0,0 +1,10 @@
1
+ \relax
2
+ \citation{RSpecBook}
3
+ \bibcite{RSpecBook}{1}
4
+ \@writefile{toc}{\contentsline {section}{\numberline {1}目的}{1}}
5
+ \@writefile{toc}{\contentsline {section}{\numberline {2}方法}{1}}
6
+ \@writefile{toc}{\contentsline {paragraph}{BDD}{1}}
7
+ \@writefile{toc}{\contentsline {paragraph}{CucumberとRSpec}{1}}
8
+ \@writefile{toc}{\contentsline {section}{\numberline {3}ビヘイビアテスト駆動開発の実践}{1}}
9
+ \@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces RSpecとCucumberのRed-Green-Refactoringサイクル間の関係.}}{1}}
10
+ \@writefile{toc}{\contentsline {section}{\numberline {4}まとめ}{1}}