Module: ProductTours

Defined in:
lib/product_tours.rb,
lib/product_tours/seeds.rb,
lib/product_tours/engine.rb,
lib/product_tours/errors.rb,
lib/product_tours/widget.rb,
lib/product_tours/version.rb,
app/models/product_tours/tour.rb,
lib/product_tours/configuration.rb,
lib/product_tours/widget_helper.rb,
lib/product_tours/video_metadata.rb,
lib/product_tours/video_resolver.rb,
app/helpers/product_tours/tours_helper.rb,
lib/product_tours/content_security_policy.rb,
app/models/product_tours/application_record.rb,
app/controllers/product_tours/media_controller.rb,
app/controllers/product_tours/tours_controller.rb,
lib/generators/product_tours/migration_helpers.rb,
app/controllers/product_tours/widgets_controller.rb,
app/controllers/product_tours/dashboard_controller.rb,
app/controllers/product_tours/application_controller.rb,
app/controllers/product_tours/interactions_controller.rb,
app/controllers/concerns/product_tours/request_context.rb,
lib/generators/product_tours/install/install_generator.rb

Defined Under Namespace

Modules: ContentSecurityPolicy, Generators, RequestContext, Seeds, ToursHelper, Widget, WidgetHelper Classes: ApplicationController, ApplicationRecord, Configuration, DashboardController, Engine, Error, InteractionsController, MediaController, Tour, ToursController, UnresolvedTriggerError, VideoMetadata, VideoResolver, WidgetsController

Constant Summary collapse

VERSION =
'1.0.0'

Class Method Summary collapse

Class Method Details

.admin?(request) ⇒ Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/product_tours.rb', line 36

def admin?(request)
  !!config.authorize_admin.call(request)
end

.base_controllerObject

The class ProductTours::DashboardController inherits from. Resolved on every call rather than memoized, so a host that reassigns base_controller_class in a reloadable initializer is not pinned to a stale, unloaded constant.



32
33
34
# File 'lib/product_tours.rb', line 32

def base_controller
  config.base_controller_class.to_s.constantize
end

.configObject



16
17
18
# File 'lib/product_tours.rb', line 16

def config
  @config ||= Configuration.new
end

.configure {|config| ... } ⇒ Object

Yields:



20
21
22
# File 'lib/product_tours.rb', line 20

def configure
  yield config
end

.enabled?(request) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/product_tours.rb', line 24

def enabled?(request)
  !!config.enabled.call(request)
end

.locale(_request = nil) ⇒ Object



40
41
42
# File 'lib/product_tours.rb', line 40

def locale(_request = nil)
  I18n.locale.to_s.presence || I18n.default_locale.to_s
end