Module: ReactOnRails::ProUtils

Defined in:
lib/react_on_rails/pro_utils.rb

Constant Summary collapse

PRO_ONLY_OPTIONS =
%i[immediate_hydration].freeze

Class Method Summary collapse

Class Method Details

.disable_pro_render_options_if_not_licensed(raw_options) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/react_on_rails/pro_utils.rb', line 13

def self.disable_pro_render_options_if_not_licensed(raw_options)
  if support_pro_features?
    return {
      raw_options: raw_options,
      explicitly_disabled_pro_options: []
    }
  end

  raw_options_after_disable = raw_options.dup

  explicitly_disabled_pro_options = PRO_ONLY_OPTIONS.select do |option|
    # Use global configuration if it's not overridden in the options
    next ReactOnRails.configuration.send(option) if raw_options[option].nil?

    raw_options[option]
  end
  explicitly_disabled_pro_options.each { |option| raw_options_after_disable[option] = false }

  {
    raw_options: raw_options_after_disable,
    explicitly_disabled_pro_options: explicitly_disabled_pro_options
  }
end

.support_pro_features?Boolean

Checks if React on Rails Pro features are available

Returns:

  • (Boolean)

    true if Pro is installed and licensed, false otherwise



9
10
11
# File 'lib/react_on_rails/pro_utils.rb', line 9

def self.support_pro_features?
  ReactOnRails::Utils.react_on_rails_pro?
end