my_help 0.4.5 → 0.5.0
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.
- checksums.yaml +4 -4
- data/.dockerignore +2 -0
- data/.gitignore +29 -2
- data/.ipynb_checkpoints/README-checkpoint.ipynb +511 -0
- data/.ipynb_checkpoints/Untitled-checkpoint.ipynb +6 -0
- data/.ruby-version +1 -0
- data/Dockerfile.template +13 -0
- data/README.md +341 -256
- data/README.org +480 -0
- data/Rakefile +9 -31
- data/docs/.ipynb_checkpoints/README-checkpoint.ipynb +112 -0
- data/docs/.ipynb_checkpoints/Untitled-checkpoint.ipynb +219 -0
- data/docs/README.ipynb +112 -0
- data/docs/bob/README_en.ipynb +219 -0
- data/docs/bob/diff_against_org_mode.ipynb +119 -0
- data/docs/bob/emacs_help.ipynb +133 -0
- data/docs/bob/template_help.ipynb +136 -0
- data/{my_help_nasu → docs/nasu}/.gitignore +0 -0
- data/{my_help_nasu → docs/nasu}/Rakefile +91 -20
- data/docs/nasu/abstract.hiki +17 -0
- data/{my_help_nasu → docs/nasu}/code.hiki +25 -21
- data/docs/nasu/discussion.hiki +38 -0
- data/docs/nasu/features/add.feature +12 -0
- data/docs/nasu/features/all_help.feature +10 -0
- data/docs/nasu/features/backup_list.feature +10 -0
- data/docs/nasu/features/edit_help.feature +9 -0
- data/docs/nasu/features/my_todo.feature +16 -0
- data/docs/nasu/features/remove.feature +10 -0
- data/docs/nasu/features/sample_e.feature +6 -0
- data/docs/nasu/features/step_definitions/add_spec.rb +18 -0
- data/docs/nasu/features/step_definitions/all_help_spec.rb +18 -0
- data/docs/nasu/features/step_definitions/backup_list_spec.rb +18 -0
- data/docs/nasu/features/step_definitions/edit_help_spec.rb +19 -0
- data/docs/nasu/features/step_definitions/my_todo_spec.rb +25 -0
- data/docs/nasu/features/step_definitions/remove_spec.rb +18 -0
- data/docs/nasu/features/step_definitions/store_spec.rb +18 -0
- data/docs/nasu/features/step_definitions/to_hiki_spec.rb +18 -0
- data/docs/nasu/features/store.feature +10 -0
- data/docs/nasu/features/support/env.rb +2 -0
- data/docs/nasu/features/test.feature +10 -0
- data/docs/nasu/features/to_hiki.feature +10 -0
- data/{my_help_nasu → docs/nasu}/features.hiki +80 -70
- data/docs/nasu/figs/cucumber01.001.jpg +0 -0
- data/docs/nasu/figs/cucumber02.001.jpg +0 -0
- data/docs/nasu/figs/cucumber03.001.jpg +0 -0
- data/docs/nasu/figs/cucumber04.001.jpg +0 -0
- data/docs/nasu/figs/cucumber05.001.jpg +0 -0
- data/docs/nasu/figs/cucumber1.jpg +0 -0
- data/docs/nasu/figs/cucumber2.jpg +0 -0
- data/docs/nasu/figs/cucumber3.jpg +0 -0
- data/docs/nasu/figs/cucumber4.jpg +0 -0
- data/docs/nasu/figs/my_help_nasu.001.jpeg +0 -0
- data/docs/nasu/figs/my_help_nasu.002.jpeg +0 -0
- data/docs/nasu/figs/my_help_nasu.003.jpeg +0 -0
- data/docs/nasu/figs/my_help_nasu.004.jpeg +0 -0
- data/docs/nasu/figs/my_help_nasu.005.jpeg +0 -0
- data/docs/nasu/figs/my_help_nasu.006.jpeg +0 -0
- data/docs/nasu/figs/my_help_nasu.007.jpeg +0 -0
- data/docs/nasu/figs/my_help_nasu.008.jpeg +0 -0
- data/docs/nasu/figs/my_help_nasu.pdf +0 -0
- data/docs/nasu/figs/my_help_nasu.png +0 -0
- data/docs/nasu/figs/my_help_nasu1.001.jpg +0 -0
- data/docs/nasu/figs/rspec01.001.jpg +0 -0
- data/docs/nasu/figs/rspec1.jpg +0 -0
- data/docs/nasu/figs/rspec2.jpg +0 -0
- data/{my_help_nasu → docs/nasu}/head2.tex +0 -0
- data/{my_help_nasu → docs/nasu}/hiki_help.yml +0 -0
- data/{my_help_nasu → docs/nasu}/introduction.hiki +15 -16
- data/{my_help_nasu → docs/nasu}/key_bind_mi +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt10@2x-87.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt1@2x-78.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt2@2x-79.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt3@2x-80.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt4@2x-81.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt5@2x-82.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt6@2x-83.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt7@2x-84.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt8@2x-85.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt9@2x-86.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/pasted-image-89.png +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/pasted-image-small-90.png +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/st0-104.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Index.zip +0 -0
- data/docs/nasu/keynote/cucumber01.key/Metadata/BuildVersionHistory.plist +8 -0
- data/docs/nasu/keynote/cucumber01.key/Metadata/DocumentIdentifier +1 -0
- data/docs/nasu/keynote/cucumber01.key/Metadata/Properties.plist +0 -0
- data/docs/nasu/keynote/cucumber01.key/preview-micro.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/preview-web.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/preview.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt10@2x-87.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt1@2x-78.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt2@2x-79.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt3@2x-80.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt4@2x-81.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt5@2x-82.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt6@2x-83.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt7@2x-84.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt8@2x-85.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt9@2x-86.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/pasted-image-89.png +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/pasted-image-small-90.png +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/st0-96.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Index.zip +0 -0
- data/docs/nasu/keynote/cucumber02.key/Metadata/BuildVersionHistory.plist +8 -0
- data/docs/nasu/keynote/cucumber02.key/Metadata/DocumentIdentifier +1 -0
- data/docs/nasu/keynote/cucumber02.key/Metadata/Properties.plist +0 -0
- data/docs/nasu/keynote/cucumber02.key/preview-micro.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/preview-web.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/preview.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt10@2x-87.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt1@2x-78.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt2@2x-79.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt3@2x-80.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt4@2x-81.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt5@2x-82.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt6@2x-83.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt7@2x-84.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt8@2x-85.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt9@2x-86.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/pasted-image-89.png +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/pasted-image-small-90.png +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/st0-100.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Index.zip +0 -0
- data/docs/nasu/keynote/cucumber03.key/Metadata/BuildVersionHistory.plist +8 -0
- data/docs/nasu/keynote/cucumber03.key/Metadata/DocumentIdentifier +1 -0
- data/docs/nasu/keynote/cucumber03.key/Metadata/Properties.plist +0 -0
- data/docs/nasu/keynote/cucumber03.key/preview-micro.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/preview-web.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/preview.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt10@2x-87.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt1@2x-78.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt2@2x-79.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt3@2x-80.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt4@2x-81.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt5@2x-82.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt6@2x-83.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt7@2x-84.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt8@2x-85.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt9@2x-86.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/pasted-image-106.png +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/pasted-image-small-107.png +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/st0-115.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Index.zip +0 -0
- data/docs/nasu/keynote/cucumber04.key/Metadata/BuildVersionHistory.plist +8 -0
- data/docs/nasu/keynote/cucumber04.key/Metadata/DocumentIdentifier +1 -0
- data/docs/nasu/keynote/cucumber04.key/Metadata/Properties.plist +0 -0
- data/docs/nasu/keynote/cucumber04.key/preview-micro.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/preview-web.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/preview.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt10@2x-87.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt1@2x-78.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt2@2x-79.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt3@2x-80.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt4@2x-81.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt5@2x-82.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt6@2x-83.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt7@2x-84.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt8@2x-85.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt9@2x-86.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/pasted-image-89.png +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/pasted-image-small-90.png +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/st0-97.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Index.zip +0 -0
- data/docs/nasu/keynote/cucumber05.key/Metadata/BuildVersionHistory.plist +8 -0
- data/docs/nasu/keynote/cucumber05.key/Metadata/DocumentIdentifier +1 -0
- data/docs/nasu/keynote/cucumber05.key/Metadata/Properties.plist +0 -0
- data/docs/nasu/keynote/cucumber05.key/preview-micro.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/preview-web.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/preview.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt10@2x-87.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt1@2x-78.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt2@2x-79.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt3@2x-80.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt4@2x-81.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt5@2x-82.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt6@2x-83.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt7@2x-84.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt8@2x-85.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt9@2x-86.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/st0-299.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Index.zip +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Metadata/BuildVersionHistory.plist +8 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Metadata/DocumentIdentifier +1 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Metadata/Properties.plist +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/preview-micro.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/preview-web.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/preview.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt10@2x-87.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt1@2x-78.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt2@2x-79.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt3@2x-80.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt4@2x-81.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt5@2x-82.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt6@2x-83.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt7@2x-84.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt8@2x-85.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt9@2x-86.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/pasted-image-89.png +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/pasted-image-small-90.png +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/st0-96.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Index.zip +0 -0
- data/docs/nasu/keynote/rspec01.key/Metadata/BuildVersionHistory.plist +8 -0
- data/docs/nasu/keynote/rspec01.key/Metadata/DocumentIdentifier +1 -0
- data/docs/nasu/keynote/rspec01.key/Metadata/Properties.plist +0 -0
- data/docs/nasu/keynote/rspec01.key/preview-micro.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/preview-web.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/preview.jpg +0 -0
- data/docs/nasu/latex_dir/abstract.tex +18 -0
- data/{my_help_nasu → docs/nasu}/latex_dir/code.tex +9 -21
- data/docs/nasu/latex_dir/discussion.aux +28 -0
- data/docs/nasu/latex_dir/discussion.tex +19 -0
- data/docs/nasu/latex_dir/features.aux +30 -0
- data/docs/nasu/latex_dir/features.tex +186 -0
- data/{my_help_nasu → docs/nasu}/latex_dir/head.tex +1 -1
- data/{my_help_nasu → docs/nasu}/latex_dir/introduction.aux +3 -3
- data/{my_help_nasu → docs/nasu}/latex_dir/introduction.tex +15 -16
- data/{my_help_nasu → docs/nasu}/latex_dir/jlisting.sty +0 -0
- data/{my_help_nasu/latex_dir/consideration.aux → docs/nasu/latex_dir/method.aux} +7 -8
- data/docs/nasu/latex_dir/method.tex +6 -0
- data/{my_help_nasu → docs/nasu}/latex_dir/method_bdd.aux +10 -7
- data/{my_help_nasu → docs/nasu}/latex_dir/method_bdd.tex +14 -5
- data/{my_help_nasu → docs/nasu}/latex_dir/method_cucumber.aux +10 -9
- data/{my_help_nasu → docs/nasu}/latex_dir/method_cucumber.tex +15 -18
- data/{my_help_nasu → docs/nasu}/latex_dir/method_usage.aux +11 -11
- data/{my_help_nasu → docs/nasu}/latex_dir/method_usage.tex +35 -29
- data/{my_help_nasu → docs/nasu}/latex_dir/my_help_nasu.aux +6 -5
- data/docs/nasu/latex_dir/my_help_nasu.log +363 -0
- data/docs/nasu/latex_dir/my_help_nasu.pdf +0 -0
- data/docs/nasu/latex_dir/my_help_nasu.synctex.gz +0 -0
- data/{my_help_nasu → docs/nasu}/latex_dir/my_help_nasu.tex +12 -18
- data/docs/nasu/latex_dir/my_help_nasu.toc +35 -0
- data/docs/nasu/latex_dir/new_code.aux +44 -0
- data/docs/nasu/latex_dir/new_code.tex +237 -0
- data/{my_help_nasu → docs/nasu}/latex_dir/overview.aux +2 -2
- data/{my_help_nasu/latex_dir → docs/nasu}/latex_dir/pre.tex +0 -0
- data/docs/nasu/method.hiki +5 -0
- data/{my_help_nasu → docs/nasu}/method_bdd.hiki +14 -8
- data/{my_help_nasu → docs/nasu}/method_cucumber.hiki +14 -17
- data/{my_help_nasu → docs/nasu}/method_usage.hiki +25 -24
- data/docs/nasu/my_help_nasu/my_help_nasu.001.bb +5 -0
- data/{my_help_nasu → docs/nasu}/my_help_nasu/my_help_nasu.001.jpeg +0 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.002.bb +5 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.002.jpeg +0 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.003.bb +5 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.003.jpeg +0 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.004.bb +5 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.004.jpeg +0 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.005.bb +5 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.005.jpeg +0 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.006.bb +5 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.006.jpeg +0 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.007.bb +5 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.007.jpeg +0 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.008.bb +5 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.008.jpeg +0 -0
- data/docs/nasu/my_help_nasu.hiki +28 -0
- data/docs/nasu/my_help_nasu.key +0 -0
- data/docs/nasu/my_help_nasu09.key +0 -0
- data/docs/nasu/my_help_nasu1/my_help_nasu1.001.jpg +0 -0
- data/docs/nasu/nasu_abst/abst_fig.bb +5 -0
- data/docs/nasu/nasu_abst/abst_fig.png +0 -0
- data/docs/nasu/nasu_abst/my_help_nasu.001.bb +5 -0
- data/docs/nasu/nasu_abst/my_help_nasu.001.jpg +0 -0
- data/docs/nasu/nasu_abst/my_help_nasu.001.png +0 -0
- data/docs/nasu/nasu_abst/nasu_abst.aux +10 -0
- data/docs/nasu/nasu_abst/nasu_abst.log +179 -0
- data/docs/nasu/nasu_abst/nasu_abst.pdf +0 -0
- data/docs/nasu/nasu_abst/nasu_abst.synctex.gz +0 -0
- data/docs/nasu/nasu_abst/nasu_abst.tex +63 -0
- data/docs/nasu/new_code.hiki +246 -0
- data/docs/nasu/spec/.rspec +2 -0
- data/docs/nasu/spec/my_help_spec.rb +75 -0
- data/docs/nasu/spec/my_todo/todo_spec.rb +15 -0
- data/docs/nasu/spec/spec_helper.rb +11 -0
- data/docs/nasu/spec/support/aruba.rb +1 -0
- data/docs/nasu/spec/thor_spec.rb +81 -0
- data/docs/nasu/test/my_help_test.rb +11 -0
- data/docs/nasu/test/test_helper.rb +4 -0
- data/{hikis → docs}/tmp.org +0 -0
- data/docs/yagi/bachelor_thesis/final/figs/opt_thor.jpeg +0 -0
- data/docs/yagi/bachelor_thesis/final/handout/handout.aux +14 -0
- data/{my_help_nasu/latex_dir/my_help_nasu.log → docs/yagi/bachelor_thesis/final/handout/handout.log} +46 -175
- data/docs/yagi/bachelor_thesis/final/handout/handout.pdf +0 -0
- data/docs/yagi/bachelor_thesis/final/handout/handout.synctex.gz +0 -0
- data/docs/yagi/bachelor_thesis/final/handout/handout.tex +123 -0
- data/docs/yagi/bachelor_thesis/final/mk_latex/thesis/thesis.aux +46 -0
- data/docs/yagi/bachelor_thesis/final/mk_latex/thesis/thesis.dvi +0 -0
- data/{lor → docs/yagi/bachelor_thesis/final/mk_latex/thesis/thesis.lof} +0 -0
- data/docs/yagi/bachelor_thesis/final/mk_latex/thesis/thesis.lot +0 -0
- data/docs/yagi/bachelor_thesis/final/mk_latex/thesis/thesis.synctex.gz +0 -0
- data/docs/yagi/bachelor_thesis/final/mk_latex/thesis/thesis.toc +0 -0
- data/docs/yagi/bachelor_thesis/final/thesis/figs/opt_thor.png +0 -0
- data/docs/yagi/bachelor_thesis/final/thesis/final_thesis.ipynb +449 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/latex/final_thesis.tex +718 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter1/chapter1.tex +8 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter2/chapter2.log +28 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter2/chapter2.tex +127 -0
- data/{my_help_nasu/latex_dir/method_cucumber.log → docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter3/chapter3.log} +11 -11
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter3/chapter3.tex +328 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter4/chapter4.tex +13 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter5/chapter5.tex +5 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter6/chapter6.log +38 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter6/chapter6.tex +28 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/informations/informations.aux +1 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/informations/informations.log +55 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/informations/informations.tex +6 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/tmp/tmp.tex +1 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/.splits_location.tex +6 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.aux +114 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.lof +4 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.log +699 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.lot +5 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.out.ps +98 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.pdf +0 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.synctex.gz +0 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.tex +30 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.toc +22 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis_checked_180213_1433.pdf +0 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis_pieces/form00_style.tex +25 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis_pieces/tightlist_setting.tex +2 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis_pieces/usepackage.tex +25 -0
- data/docs/yagi/bachelor_thesis/translation/awesome_chapter2.ipynb +84 -0
- data/docs/yagi/bachelor_thesis/translation/awesome_introduction.ipynb +328 -0
- data/docs/yagi/comparisons/.ipynb_checkpoints/Untitled-checkpoint.ipynb +6 -0
- data/docs/yagi/comparisons/.ipynb_checkpoints/comp-checkpoint.ipynb +230 -0
- data/docs/yagi/comparisons/comp.ipynb +178 -0
- data/docs/yagi/comparisons/hanami.rb +25 -0
- data/docs/yagi/comparisons/optparse.rb +21 -0
- data/docs/yagi/comparisons/thor.rb +11 -0
- data/docs/yagi/midterm_presentation/.ipynb_checkpoints/abst-checkpoint.ipynb +87 -0
- data/docs/yagi/midterm_presentation/abst.aux +16 -0
- data/docs/yagi/midterm_presentation/abst.ipynb +87 -0
- data/docs/yagi/midterm_presentation/abst.log +222 -0
- data/docs/yagi/midterm_presentation/abst.pdf +0 -0
- data/docs/yagi/midterm_presentation/abst.synctex.gz +0 -0
- data/docs/yagi/midterm_presentation/abst.tex +133 -0
- data/{my_help_nasu/latex_dir/jlisting.tex → docs/yagi/midterm_presentation/jlisting.sty} +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote/mid_keynote.001.png +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote/mid_keynote.002.png +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote/mid_keynote.003.png +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote/mid_keynote.004.png +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote/mid_keynote.005.png +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt10@2x-92.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt1@2x-83.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt2@2x-84.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt3@2x-85.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt4@2x-86.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt5@2x-87.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt6@2x-88.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt7@2x-89.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt8@2x-90.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt9@2x-91.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/st0-438.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/st1-598.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/st2-648.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/st3-652.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/st4-671.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Index.zip +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Metadata/BuildVersionHistory.plist +8 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Metadata/DocumentIdentifier +1 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Metadata/Properties.plist +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/preview-micro.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/preview-web.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/preview.jpg +0 -0
- data/docs/yagi/thor_spec.ipynb +192 -0
- data/docs/yagi/thor_task.ipynb +98 -0
- data/exe/my_help +3 -1
- data/lib/my_help/org2yml.rb +46 -0
- data/lib/my_help/version.rb +1 -1
- data/lib/my_help/yml2org.rb +36 -0
- data/lib/my_help.rb +76 -30
- data/lib/my_help_thor.rb +170 -0
- data/lib/my_todo/my_todo.rb +5 -2
- data/lib/specific_help.rb +52 -25
- data/lib/{specific_help.rb~ → specific_help_bu.rb} +129 -89
- data/lib/specific_help_opt.rb +71 -0
- data/lib/specific_help_thor.rb +172 -0
- data/lib/templates/emacs_help.org +47 -0
- data/lib/templates/emacs_help_e.org +49 -0
- data/lib/templates/my_todo.org +11 -0
- data/lib/templates/template_help.org +8 -0
- data/make_docker.sh +5 -0
- data/my_help.gemspec +3 -2
- metadata +406 -92
- data/.DS_Store +0 -0
- data/CODE_OF_CONDUCT.md +0 -49
- data/README_en.md +0 -132
- data/exe/e_h +0 -4
- data/exe/emacs_help +0 -4
- data/exe/my_todo +0 -4
- data/hikis/README_en.hiki +0 -130
- data/hikis/README_ja.hiki +0 -316
- data/hikis/diff_against_org-mode.hiki +0 -34
- data/hikis/emacs_help.hiki +0 -47
- data/hikis/template_help.hiki +0 -51
- data/latexes/handout_pre.tex +0 -11
- data/lib/.emacs_help.rb.swp +0 -0
- data/lib/daddygongon/emacs_help.yml +0 -89
- data/lib/daddygongon/my_todo.yml +0 -31
- data/lib/daddygongon/template_help.yml +0 -33
- data/lib/emacs_help.rb~ +0 -137
- data/lib/my_todo/my_todo.rb~ +0 -7
- data/lib/todo.rb~ +0 -1
- data/my_help.wiki/Home.md +0 -330
- data/my_help.wiki/README_en.md +0 -132
- data/my_help.wiki/README_ja.md +0 -330
- data/my_help.wiki/emacs_help.md +0 -46
- data/my_help.wiki/template_help.md +0 -51
- data/my_help_nasu/.DS_Store +0 -0
- data/my_help_nasu/consideration.hiki +0 -8
- data/my_help_nasu/figs/my_help_nasu.001.jpeg +0 -0
- data/my_help_nasu/figs/my_help_nasu.001.jpg +0 -0
- data/my_help_nasu/figs/my_help_nasu1.001.jpg +0 -0
- data/my_help_nasu/latex_dir/.gitignore +0 -1
- data/my_help_nasu/latex_dir/Rakefile +0 -420
- data/my_help_nasu/latex_dir/code.aux +0 -25
- data/my_help_nasu/latex_dir/consideration.tex +0 -9
- data/my_help_nasu/latex_dir/features.aux +0 -31
- data/my_help_nasu/latex_dir/features.tex +0 -173
- data/my_help_nasu/latex_dir/hiki_help.yml +0 -53
- data/my_help_nasu/latex_dir/latex_dir/head.tex +0 -9
- data/my_help_nasu/latex_dir/latex_dir/jlisting.tex +0 -216
- data/my_help_nasu/latex_dir/my_help_nasu.pdf +0 -0
- data/my_help_nasu/latex_dir/my_help_nasu.synctex.gz +0 -0
- data/my_help_nasu/latex_dir/my_help_nasu.toc +0 -32
- data/my_help_nasu/latex_dir/overview.tex +0 -12
- data/my_help_nasu/latex_dir/pre.tex +0 -36
- data/my_help_nasu/my_help_nasu/.DS_Store +0 -0
- data/my_help_nasu/my_help_nasu.hiki +0 -32
- data/my_help_nasu/my_help_nasu.key +0 -0
- data/my_help_nasu/overview.hiki +0 -11
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
|
|
2
|
+
\subsection{featuresでの記述とその意味}
|
|
3
|
+
featuresでの記述は,コマンドの振る舞いを説明する自然な記述です.
|
|
4
|
+
その様子をspecific\_helpが用意しているデフォルトのコマンドについて説明します.
|
|
5
|
+
specific\_helpとは,ユーザが作成するそれぞれのヘルプです.
|
|
6
|
+
speific\_helpの--helpを表示させると,
|
|
7
|
+
\begin{lstlisting}[style=customCsh,basicstyle={\scriptsize\ttfamily}]
|
|
8
|
+
--edit edit help contentsを開く
|
|
9
|
+
--to_hiki hikiのformatに変更する
|
|
10
|
+
--all すべてのhelp画面を表示させる
|
|
11
|
+
--store [item] store [item] でback upをとる
|
|
12
|
+
--remove [item] remove [item] back upしてるlistを消去する
|
|
13
|
+
--add [item] add new [item]で新しいhelpを作る
|
|
14
|
+
--backup_list [val] back upしているlistを表示させる
|
|
15
|
+
\end{lstlisting}
|
|
16
|
+
が得られます.
|
|
17
|
+
これらの項目について順に詳細な振る舞いとそれを記述するシナリオを検討していきます.
|
|
18
|
+
|
|
19
|
+
\subsubsection{--add [item]}
|
|
20
|
+
このコマンドは新しいitemをspecific\_helpに追加します.
|
|
21
|
+
提供される機能をシナリオの先頭に内容をかいつまんでこの振る舞いが記述されています.
|
|
22
|
+
実装では,ヘルプの内容は~/.my\_help/emacs\_help.ymlに元dataがあります.
|
|
23
|
+
\begin{lstlisting}[style=customRuby,basicstyle={\scriptsize\ttfamily}]
|
|
24
|
+
nasu% cat add.feature
|
|
25
|
+
#language: ja
|
|
26
|
+
|
|
27
|
+
#--add [item]
|
|
28
|
+
機能: 新しいitemをspecific_helpに追加する
|
|
29
|
+
specific_helpとは,ユーザが作成するそれぞれのヘルプである
|
|
30
|
+
新しいhelp画面を追加したい
|
|
31
|
+
|
|
32
|
+
シナリオ: コマンドを入力してspecific_helpにitemを追加する
|
|
33
|
+
前提 新たなhelpコマンドを追加したい
|
|
34
|
+
もし emacs_help --add[item]を入力する
|
|
35
|
+
ならば ~/.my_help/emacs_help.ymlに新しいitemが自動的に追加される
|
|
36
|
+
|
|
37
|
+
\end{lstlisting}
|
|
38
|
+
\subsubsection{--all}
|
|
39
|
+
このコマンドはspecific\_helpにあるhelpを一度に全て表示させます.
|
|
40
|
+
するとspecific\_helpにあるitemを全て表示します.
|
|
41
|
+
実装では,元データが~/.my\_help/emacs\_help.ymlにあるので,それを全て表示します.
|
|
42
|
+
\begin{lstlisting}[style=customRuby,basicstyle={\scriptsize\ttfamily}]
|
|
43
|
+
nasu% cat all_help.feature
|
|
44
|
+
#language: ja
|
|
45
|
+
|
|
46
|
+
#--all
|
|
47
|
+
機能: 全てのhelp画面を見る
|
|
48
|
+
複数のhelp画面を一度に見たい時に便利である
|
|
49
|
+
|
|
50
|
+
シナリオ: コマンドを入力してすべてのhelpを見る
|
|
51
|
+
前提 複数のhelp画面を表示したい
|
|
52
|
+
もし emacs_help --allと入力する
|
|
53
|
+
ならば すべてのhelp画面が表示される
|
|
54
|
+
\end{lstlisting}
|
|
55
|
+
\subsubsection{--backup\_list}
|
|
56
|
+
このコマンドは過去にバックアップをとったことのあるitemを表示させます.
|
|
57
|
+
自分がどのitemをバックアップしたのかの確認ができます.
|
|
58
|
+
また,そのitemのバックアップをとった時間も表示されるので,いつバックアップをとったのかの確認もできます.
|
|
59
|
+
\begin{lstlisting}[style=customRuby,basicstyle={\scriptsize\ttfamily}]
|
|
60
|
+
nasu% cat backup_list.feature
|
|
61
|
+
#language: ja
|
|
62
|
+
|
|
63
|
+
#--backup_list
|
|
64
|
+
機能: 過去にバックアップしてあるitemのリストを表示させる
|
|
65
|
+
何をバックアップしたかの確認をしたい
|
|
66
|
+
|
|
67
|
+
シナリオ: コマンドを入力してバックアップのリストを見る
|
|
68
|
+
前提 バックアップのリストを見たい
|
|
69
|
+
もし emacs_help --backup_listを入力する
|
|
70
|
+
ならば バックアップしているitemのリストが表示される
|
|
71
|
+
|
|
72
|
+
\end{lstlisting}
|
|
73
|
+
\subsubsection{--edit}
|
|
74
|
+
このコマンドはspecific\_helpのitemの編集ができます.
|
|
75
|
+
実装では,元データのある~/.my\_help/emacs\_help.ymlがemacsで開かれ,自分で編集ができます.
|
|
76
|
+
編集作業が終了したら,emacsで開かれているので, [C-x C-s]で保存,[C-x C-c]でeditを閉じます.
|
|
77
|
+
\begin{lstlisting}[style=customRuby,basicstyle={\scriptsize\ttfamily}]
|
|
78
|
+
nasu% cat edit_help.feature
|
|
79
|
+
# language: ja
|
|
80
|
+
#--edit
|
|
81
|
+
機能: helpコマンドの追加や削除,編集をするためのeiditを開く
|
|
82
|
+
emacs_helpと入力したときに出てくるhelpのコマンドの追加や削除,編集ができる
|
|
83
|
+
|
|
84
|
+
シナリオ: コマンドを入力してeditを開く
|
|
85
|
+
前提 emacs_helpのコマンドの編集がしたい
|
|
86
|
+
もし emacs_help --editと入力する
|
|
87
|
+
ならば ~/.my_help/emacs_help.ymlがemacsで開かれる
|
|
88
|
+
\end{lstlisting}
|
|
89
|
+
\subsubsection{--remove [item]}
|
|
90
|
+
このコマンドは新しいitemをspecific\_helpから削除します.
|
|
91
|
+
提供される機能をシナリオの先頭に内容をかいつまんでこの振る舞いが記述されています.
|
|
92
|
+
実装では,ヘルプの内容は~/.my\_help/emacs\_help.ymlに元dataがあります.
|
|
93
|
+
\begin{lstlisting}[style=customRuby,basicstyle={\scriptsize\ttfamily}]
|
|
94
|
+
nasu% cat remove.feature
|
|
95
|
+
#language: ja
|
|
96
|
+
|
|
97
|
+
#--remove [item]
|
|
98
|
+
機能: specific_helpのitemを消す
|
|
99
|
+
いらなくなったitemを消したいときに使う
|
|
100
|
+
|
|
101
|
+
シナリオ: コマンドを入力してitemを消す
|
|
102
|
+
前提 いらないitemを消したい
|
|
103
|
+
もし emacs_help remove [item]
|
|
104
|
+
ならば ~/.my_help/emacs_help.ymlからitemが消える
|
|
105
|
+
|
|
106
|
+
\end{lstlisting}
|
|
107
|
+
\subsubsection{--store [item]}
|
|
108
|
+
このコマンドはspecific\_helpのitemのバックアップをとります.
|
|
109
|
+
少しhelpを新しくしたいが,過去のhelpを残しておけば安心できます.
|
|
110
|
+
~/.my\_helpディレクトリーの中に,同じ名前の先頭に'.'をつけたファイルに追記されていきます.
|
|
111
|
+
\begin{quote}\begin{verbatim}
|
|
112
|
+
-rw-r--r-- 1 bob 501 3231 2 10 17:11 my_todo.yml
|
|
113
|
+
-rw-r--r-- 1 bob 501 31925 2 3 19:49 .my_todo.yml
|
|
114
|
+
\end{verbatim}\end{quote}
|
|
115
|
+
などとしてます.
|
|
116
|
+
\begin{lstlisting}[style=customRuby,basicstyle={\scriptsize\ttfamily}]
|
|
117
|
+
nasu% cat store.feature
|
|
118
|
+
#language: ja
|
|
119
|
+
|
|
120
|
+
#--store [item]
|
|
121
|
+
機能: itemのバックアップを取る
|
|
122
|
+
バックアップとして残したいitemがあるときに使う
|
|
123
|
+
|
|
124
|
+
シナリオ: コマンドを入力してitemのバックアップをとる
|
|
125
|
+
前提 バックアップをとっておきたい
|
|
126
|
+
もし emacs_help --store [item]と入力する
|
|
127
|
+
ならば 入力したitemのバックアップが作られる
|
|
128
|
+
\end{lstlisting}
|
|
129
|
+
\subsubsection{--to\_hiki}
|
|
130
|
+
このコマンドはformatをhikiに変更します.
|
|
131
|
+
\begin{quote}\begin{verbatim}
|
|
132
|
+
:カーソル移動:cursor
|
|
133
|
+
*C-f, move Forwrard, 前or右へ
|
|
134
|
+
*C-b, move Backwrard, 後or左へ
|
|
135
|
+
*C-a, go Ahead of line, 行頭へ
|
|
136
|
+
*C-e, go End of line, 行末へ
|
|
137
|
+
*C-n, move Next line, 次行へ
|
|
138
|
+
*C-p, move Previous line, 前行へ
|
|
139
|
+
\end{verbatim}\end{quote}
|
|
140
|
+
などとhiki記法で出力されます.これをhikiの本文中に入れると
|
|
141
|
+
\begin{description}
|
|
142
|
+
\item[カーソル移動] cursor
|
|
143
|
+
|
|
144
|
+
\end{description}
|
|
145
|
+
\begin{itemize}
|
|
146
|
+
\item C-f, move Forwrard, 前or右へ
|
|
147
|
+
\item C-b, move Backwrard, 後or左へ
|
|
148
|
+
\item C-a, go Ahead of line, 行頭へ
|
|
149
|
+
\item C-e, go End of line, 行末へ
|
|
150
|
+
\item C-n, move Next line, 次行へ
|
|
151
|
+
\item C-p, move Previous line, 前行へ
|
|
152
|
+
\end{itemize}
|
|
153
|
+
などとweb上で表示されます.
|
|
154
|
+
\begin{lstlisting}[style=customRuby,basicstyle={\scriptsize\ttfamily}]
|
|
155
|
+
nasu% cat to_hiki.feature
|
|
156
|
+
# language: ja
|
|
157
|
+
|
|
158
|
+
#--to_hiki
|
|
159
|
+
機能:formatをhikiモードに変更する
|
|
160
|
+
一つ一つエディタで開いて変更するのがめんどくさい時に有益である
|
|
161
|
+
|
|
162
|
+
シナリオ: コマンドを入力してformatをhikiモードに変える
|
|
163
|
+
前提 hikiモードに変更したい
|
|
164
|
+
もし emacs_help --to_hikiと入力する
|
|
165
|
+
ならば formatがhikiモードに変更される
|
|
166
|
+
\end{lstlisting}
|
|
167
|
+
\subsubsection{todoの更新}
|
|
168
|
+
まず,todoを書き込むために,editを開くために,my\_todo --editと入力します.
|
|
169
|
+
--editコマンドは上記で説明した動きをします.
|
|
170
|
+
しかし,ここでは元データは~/.my\_help/todo\_help.ymlです.
|
|
171
|
+
editが開かれたら,todoを書き込みます.(今週やることならweeklyというitemを作ってそこに書き込む)
|
|
172
|
+
保存方法や,editの閉じ方はemacsと同じ操作方法です.
|
|
173
|
+
\begin{lstlisting}[style=customRuby,basicstyle={\scriptsize\ttfamily}]
|
|
174
|
+
nasu% my_todo.feature
|
|
175
|
+
# language: ja
|
|
176
|
+
|
|
177
|
+
機能: todoの更新を行う
|
|
178
|
+
自分のするべきことを書き込むためにtodoを更新する
|
|
179
|
+
|
|
180
|
+
シナリオ: コマンドを入力してtodoを更新していく
|
|
181
|
+
前提 todoを編集したい
|
|
182
|
+
もし "my_todo --edit"と入力する
|
|
183
|
+
ならば editが開かれる
|
|
184
|
+
かつ 自分のtodoを書き込む
|
|
185
|
+
|
|
186
|
+
\end{lstlisting}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
\relax
|
|
2
|
-
\@writefile{toc}{\contentsline {section}{\numberline {1}序論}{
|
|
2
|
+
\@writefile{toc}{\contentsline {section}{\numberline {1}序論}{4}}
|
|
3
3
|
\@setckpt{introduction}{
|
|
4
|
-
\setcounter{page}{
|
|
4
|
+
\setcounter{page}{5}
|
|
5
5
|
\setcounter{equation}{0}
|
|
6
6
|
\setcounter{enumi}{0}
|
|
7
7
|
\setcounter{enumii}{0}
|
|
@@ -17,6 +17,6 @@
|
|
|
17
17
|
\setcounter{subparagraph}{0}
|
|
18
18
|
\setcounter{figure}{0}
|
|
19
19
|
\setcounter{table}{0}
|
|
20
|
-
\setcounter{lstnumber}{1}
|
|
21
20
|
\setcounter{lstlisting}{0}
|
|
21
|
+
\setcounter{lstnumber}{1}
|
|
22
22
|
}
|
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
\section{序論}
|
|
2
|
-
プログラム開発では,統合開発環境がいくつも用意されているが,多くの現場では,terminal
|
|
3
|
-
ところが,プログラミング初心者はterminal上でのcharacter user interface(CUI)
|
|
4
|
-
プログラミングのレベルが上がるに従って,
|
|
5
|
-
shell commandやfile directory操作, process制御にCUIを使うことが常識となる.
|
|
2
|
+
プログラム開発では,統合開発環境がいくつも用意されているが,多くの現場では,terminal上での開発が一般的です.
|
|
3
|
+
ところが,プログラミング初心者はterminal上でのcharacter user interface(CUI)を苦手としています.
|
|
4
|
+
プログラミングのレベルが上がるに従って,shell commandやfile directory操作, process制御にCUIを使うことが常識です.
|
|
6
5
|
|
|
7
|
-
この不可欠なCUIスキルの習得を助けるソフトとして,ユーザメモソフトmy\_helpがruby gems
|
|
8
|
-
このcommand line interface(CLI)で動作するソフトは,helpをterminal
|
|
9
|
-
|
|
6
|
+
この不可欠なCUIスキルの習得を助けるソフトとして,ユーザメモソフトmy\_helpがruby gemsに置かれています.
|
|
7
|
+
このcommand line interface(CLI)で動作するソフトは,helpをterminal上で簡単に提示するものです.
|
|
8
|
+
また,初心者が自ら編集することによって,すぐに参照できるメモとしての機能を提供しています.
|
|
10
9
|
これによって,terminal上でちょっとした調べ物ができるため,作業や思考が中断することなく
|
|
11
|
-
|
|
10
|
+
プログラム開発に集中できること,さらに初心者のスキル習得が加速することが期待できます.
|
|
12
11
|
|
|
13
|
-
しかし,Ruby gems
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
しかし,Ruby gemsとして提供されているこのソフトは,動作はしますがテストが用意されていません.
|
|
13
|
+
熟練した開発者は,テストを見ることで仕様を理解するのが常識です.
|
|
14
|
+
今後ソフトを進化させるために共同開発を進めていくには,仕様や動作の標準となるテスト記述が不可欠となります.
|
|
16
15
|
|
|
17
|
-
そこで,本研究では,ユーザメモソフトであるmy\_help
|
|
18
|
-
|
|
19
|
-
Behavior Driven Development
|
|
16
|
+
そこで,本研究では,ユーザメモソフトであるmy\_helpのテストを開発することを目的とします.
|
|
17
|
+
本研究では、テスト駆動開発の中でも,ソフトの振る舞いを記述します.
|
|
18
|
+
ビヘイビア駆動開発(Behavior Driven Development:BDD)に基づいてテストを記述していきます.
|
|
20
19
|
Rubyにおいて、BDD環境を提供する標準的なフレームワークであるCucumberとRSpecを用いて,
|
|
21
|
-
my\_help
|
|
22
|
-
Cucumber
|
|
20
|
+
my\_helpがどのような振る舞いをするのかを記述します.
|
|
21
|
+
Cucumberは自然言語で振る舞いを記述することができるため,開発者やユーザにとって,わかりやすく振る舞いを確認することができます.
|
|
23
22
|
|
|
File without changes
|
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
\relax
|
|
2
|
-
\@
|
|
3
|
-
|
|
4
|
-
\setcounter{page}{28}
|
|
2
|
+
\@setckpt{method}{
|
|
3
|
+
\setcounter{page}{7}
|
|
5
4
|
\setcounter{equation}{0}
|
|
6
|
-
\setcounter{enumi}{
|
|
5
|
+
\setcounter{enumi}{0}
|
|
7
6
|
\setcounter{enumii}{0}
|
|
8
7
|
\setcounter{enumiii}{0}
|
|
9
8
|
\setcounter{enumiv}{0}
|
|
10
9
|
\setcounter{footnote}{0}
|
|
11
10
|
\setcounter{mpfootnote}{0}
|
|
12
11
|
\setcounter{part}{0}
|
|
13
|
-
\setcounter{section}{
|
|
12
|
+
\setcounter{section}{2}
|
|
14
13
|
\setcounter{subsection}{0}
|
|
15
14
|
\setcounter{subsubsection}{0}
|
|
16
15
|
\setcounter{paragraph}{0}
|
|
17
16
|
\setcounter{subparagraph}{0}
|
|
18
|
-
\setcounter{figure}{
|
|
19
|
-
\setcounter{table}{
|
|
20
|
-
\setcounter{lstnumber}{17}
|
|
17
|
+
\setcounter{figure}{0}
|
|
18
|
+
\setcounter{table}{0}
|
|
21
19
|
\setcounter{lstlisting}{0}
|
|
20
|
+
\setcounter{lstnumber}{1}
|
|
22
21
|
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
\relax
|
|
2
|
-
\@writefile{toc}{\contentsline {
|
|
3
|
-
\@writefile{
|
|
4
|
-
\
|
|
5
|
-
|
|
6
|
-
\newlabel{default}{{
|
|
2
|
+
\@writefile{toc}{\contentsline {section}{\numberline {2}先行研究,方法}{5}}
|
|
3
|
+
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}RSpecとBDDについて}{5}}
|
|
4
|
+
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces RSpecとCucumberのRed-Green-Refactoringサイクル間の関係.}}{6}}
|
|
5
|
+
\newlabel{fig:001}{{1}{6}}
|
|
6
|
+
\newlabel{default}{{1}{6}}
|
|
7
|
+
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces RSpecとCucumberの手順.}}{7}}
|
|
8
|
+
\newlabel{fig:002}{{2}{7}}
|
|
9
|
+
\newlabel{default}{{2}{7}}
|
|
7
10
|
\@setckpt{method_bdd}{
|
|
8
|
-
\setcounter{page}{
|
|
11
|
+
\setcounter{page}{8}
|
|
9
12
|
\setcounter{equation}{0}
|
|
10
13
|
\setcounter{enumi}{0}
|
|
11
14
|
\setcounter{enumii}{0}
|
|
@@ -21,6 +24,6 @@
|
|
|
21
24
|
\setcounter{subparagraph}{0}
|
|
22
25
|
\setcounter{figure}{2}
|
|
23
26
|
\setcounter{table}{0}
|
|
24
|
-
\setcounter{lstnumber}{1}
|
|
25
27
|
\setcounter{lstlisting}{0}
|
|
28
|
+
\setcounter{lstnumber}{1}
|
|
26
29
|
}
|
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
|
|
2
|
+
\section{先行研究,方法}
|
|
3
|
+
ここでは、本研究で使用するCucumberの特徴について詳述します.
|
|
4
|
+
Cucumberはビヘイビア駆動開発(BDD)を実現するフレームワークです.
|
|
5
|
+
まずはbddの現れた背景や現状を示した後、Cucumberの記述の具体例を示して,
|
|
6
|
+
その特徴を詳述します.
|
|
7
|
+
さらに,本研究の対象となるmy\_helpの振る舞いを使用法とともに示します.
|
|
8
|
+
|
|
2
9
|
\subsection{RSpecとBDDについて}
|
|
3
10
|
ビヘイビア駆動開発(Behaviour-Driven Development : BDD)は,テスト駆動開発(Test-Driven Development : TDD)の工程への理解を深め,それをうまく説明しようとして始まりました.TDDの持つ単語のイメージが構造のテストを中心とするべしというのに対して,BDDはソフトの振る舞いに中心をおきなさいという意図があります.この違いが,初めに考えるべきテストの性質を変化させ,構造ではなく振る舞いを中心にテストを構築するという意識をもたせてくれます.
|
|
4
11
|
|
|
5
12
|
さらに,ソフトの中で,オブジェクト同士がコミュニケーションをとるように,実世界において開発チームやテストチーム,あるいはドキュメントチーム間のコミュニケーションの取り方をシステムで提供しようというのがBDDのフレームワークです.CucumberとRSpecはこれを実現する一つのシステムとして提供されています.
|
|
6
13
|
|
|
7
|
-
RSpecとCucumber
|
|
14
|
+
RSpecとCucumberの関係を図\ref{fig:001}に示しました.これは,The RSpec Book[1]から書き写した図です[1, pp.9].RSpecでテストを書くと一つ一つのfunctionあるいはmethodレベルでRed, Green, Refactoringを行うべしという意図があります.一方で,もっと大きな枠組み,つまりシステムレベルでもこれらのステップは必要です.ところが,それをRSpecで書くのには無理があります.このレベルのテスト記述をしやすくするのが,Cucumberです.そこでもRed, Green, Refactoringが必要で,そこでサイクルが回ることを意図しています.
|
|
8
15
|
|
|
9
16
|
\begin{figure}[htbp]\begin{center}
|
|
10
|
-
\includegraphics[width=
|
|
17
|
+
\includegraphics[width=12cm,bb= 0 0 937 753]{../figs/./my_help_nasu.001.jpeg}
|
|
11
18
|
\caption{RSpecとCucumberのRed-Green-Refactoringサイクル間の関係.}
|
|
19
|
+
\label{fig:001}
|
|
12
20
|
\label{default}\end{center}\end{figure}
|
|
13
21
|
BDDの基本的な考え方は次の通りまとめられています.
|
|
14
22
|
|
|
@@ -16,13 +24,14 @@ BDDの基本的な考え方は次の通りまとめられています.
|
|
|
16
24
|
BDDの目的は,ソフトウェアが使われる状況を説明するための言語を単純化することで,ソフトウェア開発チームのコミュニケーションを後押しすることです.つまり,あるコンテキストで(Given),あるイベントが発生すると(When),ある結果が期待されます(Then).BDDにおけるGiven, When, Thenの3つの単語は,アプリケーションやオブジェクトを,それらの振る舞いに関係なく表現するために使われる単純な単語です.ビジネスアナリスト,テスト担当者,開発者は皆,それらをすぐに理解します.これらの単語はCucumberの言語に直接埋め込まれています[1, pp.3-6].
|
|
17
25
|
|
|
18
26
|
\end{quotation}
|
|
19
|
-
|
|
27
|
+
手順を書き直すと図\ref{fig:002}の通りです.
|
|
20
28
|
|
|
21
29
|
\begin{figure}[htbp]\begin{center}
|
|
22
|
-
\includegraphics[width=
|
|
30
|
+
\includegraphics[width=12cm,bb= 0 0 937 753]{../figs/./my_help_nasu.002.jpeg}
|
|
23
31
|
\caption{RSpecとCucumberの手順.}
|
|
32
|
+
\label{fig:002}
|
|
24
33
|
\label{default}\end{center}\end{figure}
|
|
25
|
-
まずCucumberで一つのシナリオに焦点を当てて,その振る舞いを記述するfeatureを書きます.一つずつつぶしていくのがこつです.一つのfeatureが書けたら、次に,それぞれfeatureを実現するステップに分けて仕様を決めて行きます.これはTDDのred green refactoring
|
|
34
|
+
まずCucumberで一つのシナリオに焦点を当てて,その振る舞いを記述するfeatureを書きます.一つずつつぶしていくのがこつです.一つのfeatureが書けたら、次に,それぞれfeatureを実現するステップに分けて仕様を決めて行きます.これはTDDのred green refactoringの前に行う作業,「仕様を決める」に対応しています.このプロセスが終了したら,RSpecに行きます.
|
|
26
35
|
RSpecでは実際にテストコードを書き,ここでもred, green, refactoringを行います.
|
|
27
36
|
RSpecが成功したら,Cucumberのrefactoringを行います.
|
|
28
37
|
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
\relax
|
|
2
|
-
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Cucumberについて}{
|
|
3
|
-
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.1}概要}{
|
|
4
|
-
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.2}features}{
|
|
5
|
-
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.3}Cucumber,RSpecインストール}{
|
|
6
|
-
\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces }}{
|
|
7
|
-
\newlabel{
|
|
8
|
-
|
|
2
|
+
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Cucumberについて}{8}}
|
|
3
|
+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.1}概要}{8}}
|
|
4
|
+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.2}features}{8}}
|
|
5
|
+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.3}Cucumber,RSpecインストール}{9}}
|
|
6
|
+
\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces featureファイルで用意されているkeywordの日本語(ja),英語(en)の対応表.}}{10}}
|
|
7
|
+
\newlabel{table:one}{{1}{10}}
|
|
8
|
+
\newlabel{default}{{1}{10}}
|
|
9
|
+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.4}ディレクトリー構造と使用手順}{10}}
|
|
9
10
|
\@setckpt{method_cucumber}{
|
|
10
|
-
\setcounter{page}{
|
|
11
|
+
\setcounter{page}{13}
|
|
11
12
|
\setcounter{equation}{0}
|
|
12
13
|
\setcounter{enumi}{2}
|
|
13
14
|
\setcounter{enumii}{0}
|
|
@@ -23,6 +24,6 @@
|
|
|
23
24
|
\setcounter{subparagraph}{0}
|
|
24
25
|
\setcounter{figure}{2}
|
|
25
26
|
\setcounter{table}{1}
|
|
26
|
-
\setcounter{lstnumber}{17}
|
|
27
27
|
\setcounter{lstlisting}{0}
|
|
28
|
+
\setcounter{lstnumber}{17}
|
|
28
29
|
}
|
|
@@ -11,6 +11,7 @@ BDDはフルスタックのアジャイル開発技法です.BDDはATDP(Accept
|
|
|
11
11
|
|
|
12
12
|
\subsubsection{features}
|
|
13
13
|
Cucumberでは先の引用にある通り、振る舞いをシナリオとしてまず記述します.
|
|
14
|
+
シナリオとは,一つひとつの振る舞いを,主にGiven(前提), Then(もし), When(ならば)に分けてfeaturesを記述します.
|
|
14
15
|
次に,英語のfeaturesのひな形を示します.
|
|
15
16
|
\begin{lstlisting}[style=customRuby,basicstyle={\scriptsize\ttfamily}]
|
|
16
17
|
% cat ./featrues/sample_e.feature
|
|
@@ -30,19 +31,13 @@ Scenario: Description of scenario
|
|
|
30
31
|
# language: ja
|
|
31
32
|
|
|
32
33
|
機能: todoの更新を行う
|
|
33
|
-
todo
|
|
34
|
-
バックアップをとって,過去のtodoを残しておく
|
|
34
|
+
自分のするべきことを書き込むためにtodoを更新する
|
|
35
35
|
|
|
36
36
|
シナリオ: コマンドを入力してtodoを更新していく
|
|
37
|
-
前提
|
|
38
|
-
もし
|
|
37
|
+
前提 todoを編集したい
|
|
38
|
+
もし "my_todo --edit"と入力する
|
|
39
39
|
ならば editが開かれる
|
|
40
|
-
かつ
|
|
41
|
-
|
|
42
|
-
シナリオ: コマンドを入力してバックアップをとる
|
|
43
|
-
前提 todoの編集が終わった
|
|
44
|
-
もし "my_todo --store [item]"と入力する
|
|
45
|
-
ならば itemのバックアップを取る
|
|
40
|
+
かつ 自分のtodoを書き込む
|
|
46
41
|
\end{lstlisting}
|
|
47
42
|
このようにFeature, Scenario, Given, Then, Whenなどのcucumberが解釈する大文字で始まる
|
|
48
43
|
keywordsに対して,それぞれ機能,シナリオ,前提,もし,ならばなどの単語があてられています.
|
|
@@ -53,10 +48,11 @@ featureファイルで用意されているkeywordは
|
|
|
53
48
|
\begin{quote}\begin{verbatim}
|
|
54
49
|
cucumber --i18n LANG
|
|
55
50
|
\end{verbatim}\end{quote}
|
|
56
|
-
によって表示される.LANG=ja, en
|
|
51
|
+
によって表示される.LANG=ja, enに対しては表\ref{table:one}の通りになっています.
|
|
57
52
|
|
|
58
53
|
\begin{table}[htbp]\begin{center}
|
|
59
|
-
\caption{}
|
|
54
|
+
\caption{featureファイルで用意されているkeywordの日本語(ja),英語(en)の対応表.}
|
|
55
|
+
\label{table:one}
|
|
60
56
|
\begin{tabular}{llll}
|
|
61
57
|
\hline
|
|
62
58
|
keyword &ja(japanese) &en(english) \\ \hline
|
|
@@ -85,7 +81,7 @@ but (code) &"しかし", "但し","ただし" &"But" \\
|
|
|
85
81
|
%for inserting separate lines, use \hline, \cline{2-3} etc.
|
|
86
82
|
|
|
87
83
|
\subsubsection{Cucumber,RSpecインストール}
|
|
88
|
-
まずrspecをgemでinstall
|
|
84
|
+
まずrspecをgemでinstallします.
|
|
89
85
|
|
|
90
86
|
\begin{enumerate}
|
|
91
87
|
\item gem install rspec --version 2.0.0
|
|
@@ -96,7 +92,8 @@ but (code) &"しかし", "但し","ただし" &"But" \\
|
|
|
96
92
|
/Users/nasubi/nasu% rspec --help
|
|
97
93
|
Usage: rspec [options] [files or directories]
|
|
98
94
|
\end{lstlisting}
|
|
99
|
-
のような表示がされていればinstall
|
|
95
|
+
のような表示がされていればinstallができています.
|
|
96
|
+
次に,cucumberをinstallします.
|
|
100
97
|
|
|
101
98
|
\begin{enumerate}
|
|
102
99
|
\item gem install cucumber --version 0.9.2
|
|
@@ -107,10 +104,10 @@ Usage: rspec [options] [files or directories]
|
|
|
107
104
|
cucumber --help
|
|
108
105
|
Usage: cucumber [options] [ [FILE|DIR|URL][:LINE[:LINE]*] ]+
|
|
109
106
|
\end{lstlisting}
|
|
110
|
-
のような表示がされていればinstall
|
|
107
|
+
のような表示がされていればinstallできています.
|
|
111
108
|
|
|
112
109
|
\subsubsection{ディレクトリー構造と使用手順}
|
|
113
|
-
|
|
110
|
+
CucumberはRubygemsの提供する基本directory構造での作業を前提としています.
|
|
114
111
|
その構造を表示すると次のようになります.
|
|
115
112
|
\begin{quote}\begin{verbatim}
|
|
116
113
|
bob% tree .
|
|
@@ -138,7 +135,7 @@ bob% tree .
|
|
|
138
135
|
\end{verbatim}\end{quote}
|
|
139
136
|
カレントディレクトリ(.)の中にfeaturesというサブディレクトリを作成します.
|
|
140
137
|
そのfeaturesの中に書きたいシナリオを書いた,hogehoge.featureを作成します.
|
|
141
|
-
feature
|
|
138
|
+
featureの具体例は上記に示しています.
|
|
142
139
|
|
|
143
140
|
次にシェルを開いて,カレントディレクトリで,
|
|
144
141
|
\begin{quote}\begin{verbatim}
|
|
@@ -181,7 +178,7 @@ Cucumberはシナリオの最初のステップを読み取り,そのステッ
|
|
|
181
178
|
|
|
182
179
|
これはfeaturesディレクトリの下にstep\_definitionsディレクトリーにあることになっています.
|
|
183
180
|
このシナリオを成功させるには,Cucumberが読み込めるファイルにステップ定義を保存する必要があります[1, pp15.].
|
|
184
|
-
その内容は次の通り
|
|
181
|
+
その内容は次の通りCucumberから自動生成されます.
|
|
185
182
|
\begin{lstlisting}[style=customRuby,basicstyle={\scriptsize\ttfamily}]
|
|
186
183
|
|
|
187
184
|
Given(/^I want to explain scenario$/) do
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
\relax
|
|
2
|
-
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}my\_helpについて}{
|
|
3
|
-
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1}
|
|
4
|
-
\@writefile{toc}{\contentsline {
|
|
5
|
-
\@writefile{toc}{\contentsline {
|
|
6
|
-
\@writefile{toc}{\contentsline {
|
|
7
|
-
\@writefile{toc}{\contentsline {
|
|
8
|
-
\@writefile{toc}{\contentsline {
|
|
2
|
+
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}my\_helpについて}{13}}
|
|
3
|
+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1}my\_helpの開発動機と特徴}{13}}
|
|
4
|
+
\@writefile{toc}{\contentsline {paragraph}{概要}{13}}
|
|
5
|
+
\@writefile{toc}{\contentsline {paragraph}{開発動機}{13}}
|
|
6
|
+
\@writefile{toc}{\contentsline {paragraph}{特徴}{13}}
|
|
7
|
+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.2}my\_helpのインストール}{14}}
|
|
8
|
+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.3}my\_helpの更新}{14}}
|
|
9
9
|
\@setckpt{method_usage}{
|
|
10
|
-
\setcounter{page}{
|
|
10
|
+
\setcounter{page}{16}
|
|
11
11
|
\setcounter{equation}{0}
|
|
12
|
-
\setcounter{enumi}{
|
|
12
|
+
\setcounter{enumi}{1}
|
|
13
13
|
\setcounter{enumii}{0}
|
|
14
14
|
\setcounter{enumiii}{0}
|
|
15
15
|
\setcounter{enumiv}{0}
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
\setcounter{part}{0}
|
|
19
19
|
\setcounter{section}{2}
|
|
20
20
|
\setcounter{subsection}{3}
|
|
21
|
-
\setcounter{subsubsection}{
|
|
21
|
+
\setcounter{subsubsection}{3}
|
|
22
22
|
\setcounter{paragraph}{0}
|
|
23
23
|
\setcounter{subparagraph}{0}
|
|
24
24
|
\setcounter{figure}{2}
|
|
25
25
|
\setcounter{table}{1}
|
|
26
|
-
\setcounter{lstnumber}{17}
|
|
27
26
|
\setcounter{lstlisting}{0}
|
|
27
|
+
\setcounter{lstnumber}{17}
|
|
28
28
|
}
|
|
@@ -1,45 +1,50 @@
|
|
|
1
1
|
|
|
2
2
|
\subsection{my\_helpについて}
|
|
3
|
-
\subsubsection{使用法}
|
|
4
3
|
my\_helpは本研究室の西谷が開発したものです.
|
|
4
|
+
my\_helpとはユーザメモソフトであり,CUIスキルの習得を助けてくれます.
|
|
5
|
+
tarminal上で簡単に提示させることができるため,プログラミングに集中することができるといった特徴があります.
|
|
6
|
+
また,自分の見やすいように初心者でも簡単に編集することができ,すぐに参照できるメモとしても使うことができます.
|
|
5
7
|
|
|
6
|
-
|
|
8
|
+
\subsubsection{my\_helpの開発動機と特徴}
|
|
9
|
+
以下はmy\_helpのREADMEからの抜粋です[2].
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
\paragraph{概要}
|
|
12
|
+
my\_help - CUI(CLI)ヘルプのUsage出力を真似て,user独自のhelpを作成・提供するgem.
|
|
9
13
|
|
|
10
|
-
\
|
|
11
|
-
\item 問題点
|
|
12
|
-
\end{enumerate}
|
|
14
|
+
\paragraph{開発動機}
|
|
13
15
|
CUIやshell, 何かのプログラミング言語などを習得しようとする初心者は,
|
|
14
16
|
commandや文法を覚えるのに苦労します.少しのkey(とっかかり)があると
|
|
15
17
|
思い出すんですが,うろ覚えでは間違えて路頭に迷います.問題点は,
|
|
16
|
-
- manは基本的に英語
|
|
17
|
-
- manualでは重たい
|
|
18
|
-
- いつもおなじことをwebで検索して
|
|
19
|
-
- 同じとこ見ている
|
|
20
|
-
- memoしても,どこへ置いたか忘れる
|
|
21
18
|
|
|
19
|
+
\begin{itemize}
|
|
20
|
+
\item manは基本的に英語
|
|
21
|
+
\item manualでは重たい
|
|
22
|
+
\item いつもおなじことをwebで検索して
|
|
23
|
+
\item 同じとこ見ている
|
|
24
|
+
\item memoしても,どこへ置いたか忘れる
|
|
25
|
+
\end{itemize}
|
|
22
26
|
などです.
|
|
23
27
|
|
|
24
|
-
\
|
|
25
|
-
\item 特徴
|
|
26
|
-
\end{enumerate}
|
|
28
|
+
\paragraph{特徴}
|
|
27
29
|
これらをgem環境として提供しようというのが,このgemの目的です.
|
|
28
30
|
仕様としては,
|
|
29
|
-
- userが自分にあったmanを作成
|
|
30
|
-
- 雛形を提供
|
|
31
|
-
\begin{quote}\begin{verbatim}
|
|
32
|
-
- おなじformat, looks, 操作, 階層構造
|
|
33
|
-
\end{verbatim}\end{quote}
|
|
34
|
-
- すぐに手が届く
|
|
35
|
-
- それらを追加・修正・削除できる
|
|
36
31
|
|
|
32
|
+
\begin{itemize}
|
|
33
|
+
\item userが自分にあったmanを作成
|
|
34
|
+
\item 雛形を提供
|
|
35
|
+
\begin{itemize}
|
|
36
|
+
\item おなじformat, looks, 操作, 階層構造
|
|
37
|
+
\end{itemize}
|
|
38
|
+
\item すぐに手が届く
|
|
39
|
+
\item それらを追加・修正・削除できる
|
|
40
|
+
\end{itemize}
|
|
37
41
|
hikiでやろうとしていることの半分くらいはこのあたりのことなの
|
|
38
42
|
かもしれません.memoソフトでは,検索が必要となりますが,my\_helpは
|
|
39
43
|
key(記憶のとっかかり)を提供することが目的です.
|
|
40
44
|
|
|
41
45
|
\subsubsection{my\_helpのインストール}
|
|
42
|
-
|
|
46
|
+
githubに行ってdaddygongonのmy\_helpをforkします.
|
|
47
|
+
|
|
43
48
|
\begin{enumerate}
|
|
44
49
|
\item git clone git@github.com:daddygongon/my\_help.git
|
|
45
50
|
\item cd my\_help
|
|
@@ -51,7 +56,8 @@ key(記憶のとっかかり)を提供することが目的です.
|
|
|
51
56
|
\item rake add\_yml
|
|
52
57
|
\end{enumerate}
|
|
53
58
|
\subsubsection{my\_helpの更新}
|
|
54
|
-
|
|
59
|
+
git hubを用いてmy\_helpを新しくします.
|
|
60
|
+
|
|
55
61
|
\begin{enumerate}
|
|
56
62
|
\item git remote -vをする(remoteの確認).
|
|
57
63
|
\item (upstreamがなければ)git remote add upstream git@github.com:gitname/my\_help.git
|
|
@@ -60,17 +66,17 @@ key(記憶のとっかかり)を提供することが目的です.
|
|
|
60
66
|
\item git push upstream master(ここで自分のmy\_helpをupstreamに送っとく)
|
|
61
67
|
\item git pull origin master(新しいmy\_helpを取ってくる)
|
|
62
68
|
\end{enumerate}
|
|
63
|
-
|
|
69
|
+
次にとってきた.ymlを~/.my\_helpにcpする.
|
|
70
|
+
|
|
64
71
|
\begin{enumerate}
|
|
65
72
|
\item cd my\_helpでmy\_helpに移動.
|
|
66
73
|
\item cp hogehoge.yml ~/.my\_help
|
|
67
74
|
\end{enumerate}
|
|
68
75
|
それを動かすために
|
|
69
76
|
(sudo)bundle exec ruby exe/my\_help -mをする.
|
|
70
|
-
|
|
71
|
-
ここで過去にsudoをした人はpermissionがrootになっているので,sudoをつけないとerrorが出る.
|
|
72
|
-
|
|
77
|
+
ここで過去にsudoをした人はpermissionがrootになっているので,sudoをつけないとerrorが出ます.
|
|
73
78
|
(sudoで実行していたら権限がrootに移行される)
|
|
74
79
|
|
|
75
|
-
|
|
76
|
-
|
|
80
|
+
\begin{enumerate}
|
|
81
|
+
\item 新しいターミナルを開いて動くかチェックする.
|
|
82
|
+
\end{enumerate}
|