Sha256: 3cbd081d8b2209721ba24d4c3b982aa6bd286db7f4555adc3ed6f84b3713bba9

Contents?: true

Size: 765 Bytes

Versions: 4

Compression:

Stored size: 765 Bytes

Contents

module SettingConcern
  extend ActiveSupport::Concern

  included do
    before_action :login_required
    before_action :find_fluentd
  end

  def show
    @setting = target_class.new(initial_params)
  end

  def finish
    @setting = target_class.new(setting_params)
    unless @setting.valid?
      return render "show"
    end

    @fluentd.agent.config_append @setting.to_config
    if @fluentd.agent.running?
      unless @fluentd.agent.restart
        @setting.errors.add(:base, @fluentd.agent.log_tail(1).first)
        return render "show"
      end
    end
    redirect_to daemon_setting_path(@fluentd)
  end

  private

  def setting_params
    params.require(target_class.to_s.underscore.gsub("/", "_")).permit(*target_class.const_get(:KEYS))
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
fluentd-ui-0.3.0 app/controllers/concerns/setting_concern.rb
fluentd-ui-0.2.0 app/controllers/concerns/setting_concern.rb
fluentd-ui-0.1.4 app/controllers/concerns/setting_concern.rb
fluentd-ui-0.1.3 app/controllers/concerns/setting_concern.rb