Class: RailsOnboarding::ConfigurationValidator
- Inherits:
-
Object
- Object
- RailsOnboarding::ConfigurationValidator
- Defined in:
- lib/rails_onboarding/configuration_validator.rb
Overview
Validates RailsOnboarding configuration to ensure all settings are valid
Constant Summary collapse
- VALID_TRIGGERS =
[ :onboarding_step_completed, :onboarding_completed, :tooltip_shown, :tooltip_clicked, :custom ].freeze
- VALID_REDIRECT_TYPES =
[ Symbol, String, Proc ].freeze
- VALID_ONBOARDING_REQUIREMENTS =
[ :new_users, :all_users, Proc ].freeze
- VALID_API_AUTH_METHODS =
[ :token, :session, :custom ].freeze
- VALID_REVEAL_CONDITIONS =
[ :time_based, :action_based, :step_based, :milestone_based, :engagement_based ].freeze
- NAME_FORMAT =
/\A[a-z_][a-z0-9_]*\z/i
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
-
#errors ⇒ Object
readonly
Returns the value of attribute errors.
Instance Method Summary collapse
-
#initialize(config) ⇒ ConfigurationValidator
constructor
A new instance of ConfigurationValidator.
-
#valid? ⇒ Boolean
Validate without raising exceptions.
-
#validate! ⇒ Object
Validate all configuration options.
Constructor Details
#initialize(config) ⇒ ConfigurationValidator
Returns a new instance of ConfigurationValidator.
16 17 18 19 |
# File 'lib/rails_onboarding/configuration_validator.rb', line 16 def initialize(config) @config = config @errors = [] end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
14 15 16 |
# File 'lib/rails_onboarding/configuration_validator.rb', line 14 def config @config end |
#errors ⇒ Object (readonly)
Returns the value of attribute errors.
14 15 16 |
# File 'lib/rails_onboarding/configuration_validator.rb', line 14 def errors @errors end |
Instance Method Details
#valid? ⇒ Boolean
Validate without raising exceptions
40 41 42 43 44 45 |
# File 'lib/rails_onboarding/configuration_validator.rb', line 40 def valid? validate! true rescue ConfigurationError false end |
#validate! ⇒ Object
Validate all configuration options
23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/rails_onboarding/configuration_validator.rb', line 23 def validate! validate_types validate_steps validate_milestones validate_redirect_paths validate_feature_tooltips validate_ab_tests validate_personalized_flows validate_progressive_features validate_mailer_config raise ConfigurationError, unless errors.empty? end |