diff --git a/app/workers/fluentd_ui_update_check.rb b/app/workers/fluentd_ui_update_check.rb new file mode 100644 index 0000000..633e6c9 --- /dev/null +++ b/app/workers/fluentd_ui_update_check.rb @@ -0,0 +1,15 @@ +class FluentdUiUpdateCheck + include SuckerPunch::Job + + def perform + pl = Plugin.new(gem_name: "fluentd-ui") + if pl.gem_versions # NOTE: fluentd-ui is not released yet, so `pl.latest_version` will fail for now + FluentdUI.latest_version = pl.latest_version + end + later(3600) # will be checked every hour + end + + def later(sec) + after(sec) { perform } + end +end diff --git a/lib/fluentd-ui.rb b/lib/fluentd-ui.rb index ead308a..6cab74a 100644 --- a/lib/fluentd-ui.rb +++ b/lib/fluentd-ui.rb @@ -1,2 +1,12 @@ module FluentdUI + def self.latest_version=(version) + @latest = version + end + + def self.update_available? + return unless @latest + latest = Gem::Version.new(@latest) + current = Gem::Version.new(::FluentdUI::VERSION) + latest > current + end end