Module: RailsSettingsUi

Defined in:
lib/rails-settings-ui.rb,
lib/rails-settings-ui/engine.rb,
lib/rails-settings-ui/version.rb,
lib/rails-settings-ui/type_converter.rb,
lib/rails-settings-ui/value_types/base.rb,
lib/rails-settings-ui/value_types/hash.rb,
lib/rails-settings-ui/value_types/array.rb,
lib/rails-settings-ui/value_types/float.rb,
lib/rails-settings-ui/value_types/fixnum.rb,
lib/rails-settings-ui/value_types/string.rb,
lib/rails-settings-ui/value_types/symbol.rb,
lib/rails-settings-ui/value_types/boolean.rb,
lib/rails-settings-ui/value_types/duration.rb,
lib/rails-settings-ui/settings_form_coercible.rb,
lib/rails-settings-ui/settings_form_validator.rb,
lib/generators/rails_settings_ui/install_generator.rb,
app/controllers/rails_settings_ui/application_controller.rb

Defined Under Namespace

Modules: CustomPredicates, Generators, RouteDelegator, SettingsHelper, Types, ValueTypes Classes: ApplicationController, Engine, NotCoercibleError, SettingsController, SettingsFormCoercible, SettingsFormValidator, SettingsSchema, TypeConverter, UnknownDefaultValueType

Constant Summary collapse

VERSION =
'1.4.0'

Class Method Summary collapse

Class Method Details

.default_settingsObject



52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/rails-settings-ui.rb', line 52

def default_settings
  rsc_version = Gem.loaded_specs['rails-settings-cached'].version.to_s

  if rsc_version >= '2.7.0'
    defined_fields = RailsSettingsUi.settings_klass.public_send(:all).defined_fields
    settings = defined_fields.each_with_object({}) { |s, hsh| hsh[s[:key]] = s[:default] }.with_indifferent_access
    settings.reject { |name, _description| ignored_settings.include?(name.to_sym) }
  else
    settings = RailsSettings::Default.instance.with_indifferent_access
    settings.reject { |name, _description| ignored_settings.include?(name.to_sym) }
  end
end

.inline_engine_routes!Object



35
36
37
# File 'lib/rails-settings-ui.rb', line 35

def inline_engine_routes!
  ::RailsSettingsUi::ApplicationController.helper ::RailsSettingsUi::RouteDelegator
end

.inline_main_app_routes!Object



30
31
32
33
# File 'lib/rails-settings-ui.rb', line 30

def inline_main_app_routes!
  warn("[DEPRECATION] inline_main_app_routes! is deprecated. Please use inline_engine_routes! instead.")
  inline_engine_routes!
end

.setting_config(name) ⇒ Object



47
48
49
50
# File 'lib/rails-settings-ui.rb', line 47

def setting_config(name)
  defined_fields = RailsSettingsUi.settings_klass.public_send(:all).defined_fields
  defined_fields.find { |s| s[:key] == name }
end

.settings_klassObject



43
44
45
# File 'lib/rails-settings-ui.rb', line 43

def settings_klass
  settings_class.constantize
end

.setup {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:



39
40
41
# File 'lib/rails-settings-ui.rb', line 39

def setup
  yield self
end