自分のための code を書こう

自分のための code を書こう

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

E39aeab4407ea02102f75584618549a4?s=128

Hibariya Hi

May 31, 2012
Tweet

Transcript

  1. 21.

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

    Pygments.rb) ૬ର೔෇ͬΆ͍จࣈྻͷparse (Chronic) Ωϟογϡ (ActiveSupport) ڒ (Nokogiri)
  2. 27.
  3. 34.

    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
  4. 35.

    gemspec Gem::Specification.new do |gem| gem.authors = ["hibariya"] gem.email = ["celluloid.key@gmail.com"]

    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
  5. 36.

    ґଘؔ܎΍όʔδϣϯͷࢦఆ # 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']
  6. 47.

    ͋ͦͿͱ͖(ਪ঑) $ 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)
  7. 48.