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"}]}}
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"]
Gems.gems
require 'pp'
require 'gems'
pp Gems.gems('tbpgr').take(2).map { |e|e['name']}
- 出力
["ruboty-wareki", "ruboty-eto"]
Gems.push
no sample
Gems.yank
no sample
Gems.unyank
no sample
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"]
Gems.total_downloads
require 'pp'
require 'gems'
pp Gems.total_downloads('rspec_piccolo')
- 出力
{:total_downloads=>3071, :version_downloads=>399}
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"]
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"]
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]]
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"=>""}]
Gems.add_owner
no sample
Gems.remove_owner
no sample
Gems.web_hooks
no sample
Gems.add_web_hook
no sample
Gems.remove_web_hook
no sample
Gems.fire_web_hook
no sample
Gems.latest
require 'pp'
require 'gems'
pp Gems.latest.take(2).map { |e|e['name'] }
- 出力
["nifty-variants", "sass-material-colors"]
Gems.just_updated
require 'pp'
require 'gems'
pp Gems.just_updated.take(2).map { |e|e['name'] }
- 出力
["my_plugin", "my_plugin"]
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
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"]]}]