Upgrade to Pro — share decks privately, control downloads, hide ads and more …

自分のための code を書こう

自分のための code を書こう

元々小さなベンチャー企業でPHPな仕事をしてそこそこに満足していた自分が、Rubyを知ってじわじわと病みつきになっていき永和システムマネジメントに入社、日中のRubyのお仕事では飽きたらず時間さえあれば個人的にプログラミングをしてときどきgemを作って公開するようになった簡単な経緯と、そこでやっていることをお話します。

Hibariya Hi

May 31, 2012
Tweet

More Decks by Hibariya Hi

Other Decks in Programming

Transcript

  1. Markdownͷه๏ɺparser (Redcarpet) ςϯϓϨʔτ (Tilt) Ϗϧυπʔϧ (Thor) ϑΟʔυͷੜ੒ (Builder) ίʔυϋΠϥΠτ (Albino,

    Pygments.rb) ૬ର೔෇ͬΆ͍จࣈྻͷparse (Chronic) Ωϟογϡ (ActiveSupport) ڒ (Nokogiri)
  2. gem my_gem ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── README.md

    ├── Rakefile ├── bin # 実行可能なコマンドを置く ├── lib # ライブラリ本体 │ ├── my_gem │ │ └── version.rb # バージョンを変えるときはここ │ └── my_gem.rb ├── my_gem.gemspec # gemspec └── spec # test
  3. gemspec Gem::Specification.new do |gem| gem.authors = ["hibariya"] gem.email = ["[email protected]"]

    gem.description = %q{TODO: Write a gem description} gem.summary = %q{TODO: Write a gem summary} gem.homepage = "" gem.files = `git ls-files`.split($\) gem.executables = gem.files.grep(%r{^bin/}). map{ |f| File.basename(f) } gem.test_files = gem.files.grep(%r{^(test|spec|features)/}) gem.name = "my_gem" gem.require_paths = ["lib"] gem.version = MyGem::VERSION end
  4. ґଘؔ܎΍όʔδϣϯͷࢦఆ # Ruby の version gem.required_ruby_version = '>= 1.9.3' #

    実行時の依存関係 gem.add_runtime_dependency 'thor', ['>= 0.14.6'] # 開発時の依存関係 gem.add_development_dependency 'rspec', ['>= 2.9.0']
  5. ͋ͦͿͱ͖(ਪ঑) $ gem search -r pebbles- *** REMOTE GEMS ***

    pebbles-anti_hangover (0.1.0) pebbles-compgacha (0.1.0) pebbles-dajare (0.1.0) pebbles-fizzbuzz (0.1.1) pebbles-kenshiro (1.0.0) pebbles-rack-hanoi (0.1.0) pebbles-sl (0.9.1) pebbles-xmas (0.1.0) pebbles-zenra (0.1.1)