kiriya-honey
値が入っていると穏やかじゃなくなるgemをつくりました。
それ以外はその穏やかさが穏やかじゃなくなります。
to_gunmaを参考にさせていただきました。
=> http://soplana.hateblo.jp/entry/2012/06/01/234259
おしゃもじをgemに持ち替える
私の熱いbundleカツドウ bunカツ!始まります フフッヒ
bundle gem kiriya_honey # => gemの雛形作成
とりあえずgit
githubに登録していなければ、あらかじめこのあたりを参照して登録しましょう
http://morizyun.github.io/blog/ssh-key-bitbucket-github/
http://wp.yat-net.com/?p=3874
準備がととのったなら
git init # リポジトリ作成
git add . # 追加
git commit -m "init" # はじまりのコミット
git remote add origin git@github.com:yadoya/kiriya_honey.git # githubをリモートリポジトリに設定
git push -u origin master # githubに反映
はじめてgithubにpushできたのですごくうれしい
.gemspec編集
.gemspecにTODOが残っているとビルドできないので、TODOの部分を適当にいじっちゃいましょう
# coding: utf-8
lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'kiriya/honey/version'
Gem::Specification.new do |spec|
spec.name = "kiriya_honey"
spec.version = Kiriya::Honey::VERSION
spec.authors = ["yadoya"] # here!
spec.email = ["yadoya@email.com"] # here!
spec.summary = %q{kiriya_honey} # here!
spec.description = %q{kiriya_honey} # here!
spec.homepage = "https://github.com/yadoya/kiriya_honey" # here!
spec.license = "MIT"
spec.files = `git ls-files -z`.split("\x0")
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
spec.require_paths = ["lib"]
spec.add_development_dependency "bundler", "~> 1.6"
spec.add_development_dependency "rake"
end
穏やかじゃないメインの実装
kiriya_honeyはすべてのオブジェクトに対して穏やかじゃないわねすることを目的としたgemなのでObjectクラスを拡張します
# -*- coding: utf-8 -*-
class Object
def odayaka?
return "穏やかじゃないわね" unless self.nil?
return "この穏やかさ 穏やかじゃないわね。"
end
end
形ができたのでコミット
git commit -m "v0.0.1"
よーし、おじさんビルドしちゃうぞー
gem build kiriya_honey.gemspec
rake install # 権限がないかもしれないので思い思いにsudoを
そしてテストへ…
gem開発はreqire=>test=>require=>…ということになるという噂を聞いたのでrspecつかって楽しましょう
ので、spec_helperをつくります
mkdir spec
touch spec/spec_helper.rb
# -*- encoding: UTF-8 -*-
require File.expand_path(File.join('../', 'spec_helper'), File.dirname(__FILE__))
describe Object do
it "Ichigo should odayakajanai" do "Ichigo".odayaka?.should == "穏やかじゃないわね"; end
it "nil should yappari odayakajanai" do nil.odayaka?.should == "この穏やかさ 穏やかじゃないわね。" end
end
穏やかじゃない実装
何はともあれversionを
module KiriyaHoney
VERSION = "0.0.1"
end
テストをしましょう
rspec -c spec/extention/object_spec.rb
全部オッケーならオケオケオッケー
霧矢ハニーとご対面
まずはビルドしましょう
gem build kiriya_honey.gemspec
homepageないよってwarningされたけどないものはしょうがない
そして、霧矢ハニーをインストール
権限が無かったりすると怒られちゃうので、思い思いにsudoしたり
rake install
霧矢ハニーgemを試すためのrubyファイルをつくります
require 'kiriya_honey'
puts "Ichigo".odayaka? #=> 穏やかじゃないわね
puts nil.odayaka? #=> この穏やかさ 穏やかじゃないわね。
成功したー!!やったー!!!穏やかじゃないーーーー!!!
霧矢ハニー、世界へ…
世界に羽ばたく霧矢ハニーのためにrubygemsにアカウントを登録しておきましょう
=> http://rubygems.org/sign_up
準備がととのったなら
gem push pkg/kiriya_honey-0.0.1.gem
霧矢ハニーが世界に羽ばたいた姿をみてみましょう
=> https://rubygems.org/gems/kiriya_honey
うれしい
霧矢ハニー、そしてgithubへ…
霧矢ハニーはさらなるステージへ
git push origin master
アイカツ!駆動開発
=> 穏やかじゃないわね