LoginSignup
4
3

More than 5 years have passed since last update.

Ruby | gems gem で rubygems.org の gem の情報を取得する #ruby

Last updated at Posted at 2014-12-01

Ruby | gems gem で rubygems.org の gem の情報を取得する #ruby

概要

gems gem で rubygems.org の gem の情報を取得します。

インストール

gem install gems

Commands

command 処理内容
info(<gem_name>) 1件の gem の情報を取得
search(<gem_name>) 一致する gem のリストを取得
gems(<user_name>) 任意のユーザーの gem のリストを取得
push(<gem_name>) Rubygems.org に push する
yank(<gem_name>) Rubygems.org の gem を削除する
unyank Rubygems.org で最後に削除した gem を元にもどす
versions(<gem_name>) 特定の gem の全バージョンのリストを取得
total_downloads(<gem_name>) 対象 gem のダウンロード数を取得
most_downloaded_today 本日のダウンロード数トップ 50 の gem を取得
most_downloaded ダウンロード数トップ 50 の gem を取得
downloads Gem のバージョンごとのダウンロード数を配列で取得する
owners Gem のオーナーの メールアドレスをリスト取得する
add_owner 対象 gem にオーナーを追加する
remove_owner 対象 gem のオーナーを削除する
web_hooks あなたのアカウントの全ての WebHook を返却する
add_web_hook webhook を追加する.
remove_web_hook webhook を削除する.
fire_web_hook webhook をテスト用に発火する
latest 最近追加された gem を 50件取得
just_updated 最近更新された gem を 50件取得
configure Retrieve your API key using HTTP basic authentication.
dependencies Return an array of gem dependency details for all versions of all the given gems.

利用方法

※認証不要の機能のみ例示

Gems.info

require 'pp'
require 'gems'

# Return some basic information about rails.
pp Gems.info 'ruboty-megen'
  • 出力
{"name"=>"ruboty-megen",
 "downloads"=>364,
 "version"=>"1.0.1",
 "version_downloads"=>121,
 "platform"=>"ruby",
 "authors"=>"tbpgr",
 "info"=>"ruboty-megen generate ruboty README.md template.",
 "licenses"=>["MIT"],
 "project_uri"=>"http://rubygems.org/gems/ruboty-megen",
 "gem_uri"=>"http://rubygems.org/gems/ruboty-megen-1.0.1.gem",
 "homepage_uri"=>"https://github.com/tbpgr/ruboty-megen",
 "wiki_uri"=>nil,
 "documentation_uri"=>nil,
 "mailing_list_uri"=>nil,
 "source_code_uri"=>nil,
 "bug_tracker_uri"=>nil,
 "dependencies"=>
  {"development"=>
    [{"name"=>"bundler", "requirements"=>"~> 1.6"},
     {"name"=>"rake", "requirements"=>"~> 10.0"},
     {"name"=>"rspec", "requirements"=>">= 0"},
     {"name"=>"simplecov", "requirements"=>">= 0"}],
   "runtime"=>[{"name"=>"thor", "requirements"=>"~> 0.18.1"}]}}

back to commands

Gems.search

require 'pp'
require 'gems'

# Return some basic information about rails.
pp Gems.search('ruboty-').map { |e|e['name'] }
  • 出力
["ruboty-redis",
 "ruboty-twitter",
 "ruboty-lgtm",
 "ruboty-japan_weather",
 "ruboty-echo",
 "ruboty-scorekeeper",
 "ruboty-attendance",
 "ruboty-slot",
 "ruboty-yasy",
 "ruboty-hubot",
 "ruboty-ss",
 "ruboty-heroku_status",
 "ruboty-seppuku",
 "ruboty-sudden_death",
 "ruboty-kintai",
 "ruboty-replica",
 "ruboty-mstr",
 "ruboty-nullpo",
 "ruboty-free_image",
 "ruboty-qiita_scouter",
 "ruboty-deadline",
 "ruboty-yes",
 "ruboty-minecraft_status",
 "ruboty-trust_me",
 "ruboty-gcal",
 "ruboty-megen",
 "ruboty-reminder",
 "ruboty-response",
 "ruboty-tweetstream",
 "ruboty-evaluate"]

back to commands

Gems.gems

require 'pp'
require 'gems'

pp Gems.gems('tbpgr').take(2).map { |e|e['name']}
  • 出力
["ruboty-wareki", "ruboty-eto"]

back to commands

Gems.push

no sample

back to commands

Gems.yank

no sample

back to commands

Gems.unyank

no sample

back to commands

Gems.versions

require 'pp'
require 'gems'

pp Gems.gems('tbpgr').take(2).map { |e|e['name']}
  • 出力
["rspec_piccolo:0.0.8",
 "rspec_piccolo:0.0.7",
 "rspec_piccolo:0.0.6",
 "rspec_piccolo:0.0.5",
 "rspec_piccolo:0.0.4"]

back to commands

Gems.total_downloads

require 'pp'
require 'gems'

pp Gems.total_downloads('rspec_piccolo')
  • 出力
{:total_downloads=>3071, :version_downloads=>399}

back to commands

Gems.most_downloaded_today

require 'pp'
require 'gems'

pp Gems.most_downloaded_today.take(2).map { |e|"gem_id #{e[0]['rubygem_id']}:downloads #{e.last}"}
  • 出力
["gem_id 29916:downloads 6579", "gem_id 15055:downloads 5945"]

back to commands

Gems.most_downloaded

require 'pp'
require 'gems'

pp Gems.most_downloaded.take(2).map { |e|"gem_id #{e[0]['rubygem_id']}:downloads #{e.last}"}
  • 出力
["gem_id 15055:downloads 20852350", "gem_id 15558:downloads 16982527"]

back to commands

Gems.downloads

require 'pp'
require 'gems'

pp Gems.downloads('rspec_piccolo').take(4)
  • 出力
[["2014-09-03", 0], ["2014-09-04", 0], ["2014-09-05", 5], ["2014-09-06", 3]]

back to commands

Gems.owners

require 'pp'
require 'gems'

pp Gems.owners('rails')
  • 出力
[{"email"=>"yves.senn@gmail.com"},
 {"email"=>"godfreykfc@gmail.com"},
 {"email"=>"andyw@pixeltrix.co.uk"},
 {"email"=>"jeremy@bitsweat.net"},
 {"email"=>"david@loudthinking.com"},
 {"email"=>"michael@koziarski.com"},
 {"email"=>"fxn@hashref.com"},
 {"email"=>"jose.valim@gmail.com"},
 {"email"=>"aaron.patterson@gmail.com"},
 {"email"=>"santiago@wyeworks.com"},
 {"email"=>"carlosantoniodasilva@gmail.com"},
 {"email"=>"guilleiguaran@gmail.com"},
 {"email"=>"rafaelmfranca@gmail.com", "gittip_username"=>""}]

back to commands

Gems.add_owner

no sample

back to commands

Gems.remove_owner

no sample

back to commands

Gems.web_hooks

no sample

back to commands

Gems.add_web_hook

no sample

back to commands

Gems.remove_web_hook

no sample

back to commands

Gems.fire_web_hook

no sample

back to commands

Gems.latest

require 'pp'
require 'gems'

pp Gems.latest.take(2).map { |e|e['name'] }
  • 出力
["nifty-variants", "sass-material-colors"]

back to commands

Gems.just_updated

require 'pp'
require 'gems'

pp Gems.just_updated.take(2).map { |e|e['name'] }
  • 出力
["my_plugin", "my_plugin"]

back to commands

Gems.configure

require 'pp'
require 'gems'

# Retrieve your API key using HTTP basic authentication.
Gems.configure do |config|
  config.username = 'your email'
  config.password = 'your password'
end
pp Gems.api_key # => your api token

back to commands

Gems.dependencies

require 'pp'
require 'gems'

pp Gems.dependencies ['rspec_piccolo', 'ruboty-megen']
  • 出力
[{:name=>"rspec_piccolo",
  :number=>"0.0.1",
  :platform=>"ruby",
  :dependencies=>[["activesupport", "~> 4.0.1"]]},
 {:name=>"rspec_piccolo",
  :number=>"0.0.2",
  :platform=>"ruby",
  :dependencies=>[["activesupport", "~> 4.0.1"], ["thor", "~> 0.18.1"]]},
 {:name=>"rspec_piccolo",
  :number=>"0.0.3",
  :platform=>"ruby",
  :dependencies=>[["activesupport", "~> 4.0.1"], ["thor", "~> 0.18.1"]]},
 {:name=>"rspec_piccolo",
  :number=>"0.0.4",
  :platform=>"ruby",
  :dependencies=>[["activesupport", "~> 4.0.1"], ["thor", "~> 0.18.1"]]},
 {:name=>"rspec_piccolo",
  :number=>"0.0.5",
  :platform=>"ruby",
  :dependencies=>[["activesupport", "~> 4.0.1"], ["thor", "~> 0.18.1"]]},
 {:name=>"rspec_piccolo",
  :number=>"0.0.6",
  :platform=>"ruby",
  :dependencies=>[["activesupport", "~> 4.0.1"], ["thor", "~> 0.18.1"]]},
 {:name=>"rspec_piccolo",
  :number=>"0.0.7",
  :platform=>"ruby",
  :dependencies=>[["activesupport", "~> 4.0.1"], ["thor", "~> 0.18.1"]]},
 {:name=>"rspec_piccolo",
  :number=>"0.0.8",
  :platform=>"ruby",
  :dependencies=>
   [["activesupport", "~> 4.0.1"],
    ["thor", "~> 0.18.1"],
    ["tbpgr_utils", "~> 0.0.4"]]},
 {:name=>"ruboty-megen",
  :number=>"1.0.1",
  :platform=>"ruby",
  :dependencies=>[["thor", "~> 0.18.1"]]},
 {:name=>"ruboty-megen",
  :number=>"1.0.0",
  :platform=>"ruby",
  :dependencies=>[["thor", "~> 0.18.1"]]},
 {:name=>"ruboty-megen",
  :number=>"0.0.1",
  :platform=>"ruby",
  :dependencies=>[["thor", "~> 0.18.1"]]}]

back to commands

参照

gems GitHub
gems RubyGems
gems source

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3