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/post.rb,
lib/product_tours/configuration.rb,
lib/product_tours/video_metadata.rb,
lib/product_tours/video_resolver.rb,
app/helpers/product_tours/posts_helper.rb,
app/helpers/product_tours/widget_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/posts_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/concerns/product_tours/request_context.rb,
lib/generators/product_tours/install/install_generator.rb

Defined Under Namespace

Modules: ContentSecurityPolicy, Generators, PostsHelper, RequestContext, Seeds, Widget, WidgetHelper Classes: ApplicationController, ApplicationRecord, Configuration, DashboardController, Engine, Error, MediaController, Post, PostsController, ToursController, UnresolvedTriggerError, VideoMetadata, VideoResolver, WidgetsController

Constant Summary collapse

VERSION =
'0.2.2'

Class Method Summary collapse

Class Method Details

.admin?(request) ⇒ Boolean

Returns:

  • (Boolean)


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

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.



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

def base_controller
  config.base_controller_class.to_s.constantize
end

.configObject



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

def config
  @config ||= Configuration.new
end

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

Yields:



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

def configure
  yield config
end

.enabled?(request) ⇒ Boolean

Returns:

  • (Boolean)


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

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

.locale(_request = nil) ⇒ Object



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

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