Sha256: a6b768d72d64c4b8c682f4af702ab70be20f0ba4eb09a1efa9082c2e15fa99f0

Contents?: true

Size: 651 Bytes

Versions: 5

Compression:

Stored size: 651 Bytes

Contents

# frozen_string_literal: true

require_dependency 'redmine_plugins_helper/available'

module RedminePluginsHelper
  class Settings
    class << self
      def default(plugin, default)
        return unless ::RedminePluginsHelper::Available.settings?

        p = plugin_current_setting_value(plugin)
        default.each do |k, v|
          p[k.to_s] = v unless p.key?(k)
        end
        ::Setting.send("plugin_#{plugin}=", p)
      end

      private

      def plugin_current_setting_value(plugin)
        p = ::Setting.send("plugin_#{plugin}")
        p = {} unless p.is_a?(::Hash)
        p.with_indifferent_access
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
redmine_plugins_helper-0.15.3 lib/redmine_plugins_helper/settings.rb
redmine_plugins_helper-0.15.2 lib/redmine_plugins_helper/settings.rb
redmine_plugins_helper-0.15.1 lib/redmine_plugins_helper/settings.rb
redmine_plugins_helper-0.15.0 lib/redmine_plugins_helper/settings.rb
redmine_plugins_helper-0.14.0 lib/redmine_plugins_helper/settings.rb