Module: RailsOnboarding

Defined in:
lib/rails_onboarding/controller_helpers.rb,
lib/rails_onboarding.rb,
lib/rails_onboarding/engine.rb,
lib/rails_onboarding/caching.rb,
lib/rails_onboarding/current.rb,
lib/rails_onboarding/version.rb,
lib/rails_onboarding/api_mode.rb,
lib/rails_onboarding/backfill.rb,
lib/rails_onboarding/skip_logic.rb,
app/models/rails_onboarding/flow.rb,
lib/rails_onboarding/cdn_support.rb,
lib/rails_onboarding/deprecation.rb,
lib/rails_onboarding/lazy_loading.rb,
lib/rails_onboarding/multi_tenant.rb,
lib/rails_onboarding/configuration.rb,
lib/rails_onboarding/error_recovery.rb,
lib/rails_onboarding/background_jobs.rb,
lib/rails_onboarding/session_manager.rb,
app/models/rails_onboarding/analytics.rb,
lib/rails_onboarding/responsive_helper.rb,
lib/rails_onboarding/devise_integration.rb,
app/helpers/rails_onboarding/i18n_helper.rb,
lib/rails_onboarding/configuration/steps.rb,
lib/rails_onboarding/turbo_compatibility.rb,
app/jobs/rails_onboarding/application_job.rb,
lib/rails_onboarding/configuration_errors.rb,
app/models/rails_onboarding/analytics_event.rb,
lib/rails_onboarding/configuration/tooltips.rb,
lib/rails_onboarding/requirements_validator.rb,
lib/rails_onboarding/configuration/analytics.rb,
lib/rails_onboarding/configuration/templates.rb,
lib/rails_onboarding/configuration_validator.rb,
app/helpers/rails_onboarding/templates_helper.rb,
lib/rails_onboarding/configuration/ab_testing.rb,
lib/rails_onboarding/configuration/milestones.rb,
app/mailers/rails_onboarding/onboarding_mailer.rb,
app/models/rails_onboarding/application_record.rb,
app/helpers/rails_onboarding/application_helper.rb,
app/mailers/rails_onboarding/application_mailer.rb,
app/services/rails_onboarding/milestone_service.rb,
lib/rails_onboarding/configuration/integrations.rb,
app/models/concerns/rails_onboarding/ab_testable.rb,
app/models/concerns/rails_onboarding/onboardable.rb,
lib/generators/rails_onboarding/update_generator.rb,
lib/rails_onboarding/configuration/rate_limiting.rb,
lib/generators/rails_onboarding/install_generator.rb,
lib/rails_onboarding/configuration/personalization.rb,
app/helpers/rails_onboarding/personalization_helper.rb,
app/models/concerns/rails_onboarding/personalizable.rb,
app/controllers/rails_onboarding/ab_tests_controller.rb,
app/controllers/rails_onboarding/tooltips_controller.rb,
app/controllers/rails_onboarding/templates_controller.rb,
app/controllers/rails_onboarding/admin/base_controller.rb,
app/controllers/rails_onboarding/milestones_controller.rb,
app/controllers/rails_onboarding/onboarding_controller.rb,
app/controllers/rails_onboarding/admin/flows_controller.rb,
app/controllers/rails_onboarding/admin/users_controller.rb,
app/controllers/rails_onboarding/application_controller.rb,
app/controllers/concerns/rails_onboarding/rate_limitable.rb,
app/controllers/rails_onboarding/test_sessions_controller.rb,
lib/rails_onboarding/configuration/progressive_disclosure.rb,
app/controllers/rails_onboarding/admin/ab_tests_controller.rb,
app/controllers/rails_onboarding/admin/dashboard_controller.rb,
app/models/concerns/rails_onboarding/progressive_disclosure.rb,
app/controllers/concerns/rails_onboarding/admin_authorization.rb,
app/controllers/rails_onboarding/progressive_features_controller.rb

Overview

Test-only controller for setting session in integration tests

Defined Under Namespace

Modules: AbTestable, Admin, AdminAuthorization, ApiMode, ApplicationHelper, Backfill, BackgroundJobs, Caching, CdnSupport, ControllerHelpers, Deprecation, DeviseControllerExtension, DeviseIntegration, Generators, I18nHelper, LazyLoading, Onboardable, Personalizable, PersonalizationHelper, ProgressiveDisclosure, RateLimitable, ResponsiveHelper, TemplatesHelper, TurboCompatibility Classes: AbTestsController, Analytics, AnalyticsEvent, ApiController, ApplicationController, ApplicationJob, ApplicationMailer, ApplicationRecord, Configuration, ConfigurationError, ConfigurationValidator, Current, DeviseRailtie, Engine, Error, ErrorRecovery, Flow, InvalidMilestoneError, InvalidRedirectPathError, InvalidStepError, InvalidTypeError, MilestoneAchievementJob, MilestoneService, MilestonesController, MissingRequiredOptionError, MultiTenant, OnboardingAnalyticsJob, OnboardingController, OnboardingMailer, OnboardingMailerJob, OnboardingNotificationJob, OrganizationConfig, ProgressiveFeaturesController, RequirementsValidator, SessionManager, SkipLogic, TemplatesController, TestSessionsController, TooltipsController, TurboRailtie

Constant Summary collapse

VERSION =
"0.6.1"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject

Returns the value of attribute configuration.



30
31
32
# File 'lib/rails_onboarding.rb', line 30

def configuration
  @configuration
end

Class Method Details

.action_mailer_available?Boolean

Check if ActionMailer is available

Returns:

  • (Boolean)


159
160
161
# File 'lib/rails_onboarding/background_jobs.rb', line 159

def self.action_mailer_available?
  defined?(::ActionMailer::Base)
end

.action_mailer_configured?Boolean

Check if ActionMailer is properly configured

Returns:

  • (Boolean)


164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
# File 'lib/rails_onboarding/background_jobs.rb', line 164

def self.action_mailer_configured?
  return false unless action_mailer_available?

  # Check if delivery method is configured (not :test in production)
  if Rails.env.production?
    return false if ::ActionMailer::Base.delivery_method == :test
  end

  # Check if SMTP settings are present when using SMTP
  if ::ActionMailer::Base.delivery_method == :smtp
    smtp_settings = ::ActionMailer::Base.smtp_settings
    return false if smtp_settings.nil? || smtp_settings.empty?
  end

  true
rescue => e
  Rails.logger.warn "RailsOnboarding: Error checking ActionMailer configuration: #{e.message}"
  false
end

.active_job_available?Boolean

Check if ActiveJob is available

Returns:

  • (Boolean)


154
155
156
# File 'lib/rails_onboarding/background_jobs.rb', line 154

def self.active_job_available?
  defined?(::ActiveJob::Base)
end

.configure {|configuration| ... } ⇒ Object

Yields:



33
34
35
36
# File 'lib/rails_onboarding.rb', line 33

def self.configure
  self.configuration ||= Configuration.new
  yield(configuration)
end

.reset_configuration!Object



38
39
40
# File 'lib/rails_onboarding.rb', line 38

def self.reset_configuration!
  self.configuration = Configuration.new
end