Help us understand the problem. What is going on with this article?

はじめてのgem作成 -アイカツ!駆動開発-

More than 5 years have passed since last update.

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の部分を適当にいじっちゃいましょう

kiriya_honey.gemspec
# 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クラスを拡張します

lib/extention/object.rb
# -*- 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
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を

lib/kiriya_honey/version.rb
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ファイルをつくります

welcome_kiriya_honey.rb
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

アイカツ!駆動開発

=> 穏やかじゃないわね

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away