-
Notifications
You must be signed in to change notification settings - Fork 2
/
utils.rb
41 lines (37 loc) · 1.49 KB
/
utils.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# -*- coding: utf-8 -*-
module Plugin::Mikustore
module Utils
extend Utils
# _slug_ のプラグインがインストールされていればそのバージョンを返す。
# されていなければnilを返す。
# されているがバージョンがない場合は空文字を返す。
# ==== Args
# [slug] スラッグ
# [unspecified_case] バージョン番号がない場合の戻り値(デフォルト:"")
# [notfound_case] プラグインがインストールされていない場合
# ==== Return
# インストールされているプラグインのバージョン
def installed_version(slug, unspecified_case="", notfound_case=nil)
if(Plugin.plugin_list.include?(slug))
plugin = Plugin.__send__(:create, slug)
if defined? plugin.spec[:version]
return plugin.spec[:version]
else
return unspecified_case
end
else
return notfound_case
end
end
# インストール済みのプラグインに最新版があるかどうかを返す
# ==== Args
# [slug] プラグインスラッグ
# [upstream_version] 最新版
# ==== Return
# アップグレード可能なバージョンがあれば真
def update_exist?(slug, upstream_version)
installed_version = Plugin::Mikustore::Utils.installed_version(slug.to_sym, nil, nil)
installed_version and upstream_version and installed_version.split(".") < upstream_version.split(".")
end
end
end