Sha256: 49348cae452f31feb88ef65e8b9c587ca8eca4976b6c7efcfeaeac4c1cf16baa

Contents?: true

Size: 1.11 KB

Versions: 90

Compression:

Stored size: 1.11 KB

Contents

module ThemeHelper
  def current_theme_object
    @current_theme_object ||= "BulletTrain::Themes::#{current_theme.to_s.classify}::Theme".constantize.new
  end

  def render(options = {}, locals = {}, &block)
    options = current_theme_object.resolved_partial_path_for(@lookup_context, options, locals) || options

    # This is where we try to just lean on Rails default behavior. If someone renders `shared/box` and also has a
    # `app/views/shared/_box.html.erb`, then no error will be thrown and we will have never interfered in the normal
    # Rails behavior.
    #
    # We also don't do anything special if someone renders `shared/box` and we've already previously resolved that
    # partial to be served from `themes/light/box`. In that case, we've already replaced `shared/box` with the
    # actual path of the partial, and Rails will do the right thing from this point.
    #
    # However, if one of those two situations isn't true, then this call here will throw an exception and we can
    # perform the appropriate magic to figure out where amongst the themes the partial should be rendering from.
    super
  end
end

Version data entries

90 entries across 90 versions & 1 rubygems

Version Path
bullet_train-themes-1.3.11 app/helpers/theme_helper.rb
bullet_train-themes-1.3.10 app/helpers/theme_helper.rb
bullet_train-themes-1.3.9 app/helpers/theme_helper.rb
bullet_train-themes-1.3.8 app/helpers/theme_helper.rb
bullet_train-themes-1.3.7 app/helpers/theme_helper.rb
bullet_train-themes-1.3.6 app/helpers/theme_helper.rb
bullet_train-themes-1.3.5 app/helpers/theme_helper.rb
bullet_train-themes-1.3.4 app/helpers/theme_helper.rb
bullet_train-themes-1.3.3 app/helpers/theme_helper.rb
bullet_train-themes-1.3.2 app/helpers/theme_helper.rb
bullet_train-themes-1.3.1 app/helpers/theme_helper.rb
bullet_train-themes-1.3.0 app/helpers/theme_helper.rb
bullet_train-themes-1.2.27 app/helpers/theme_helper.rb
bullet_train-themes-1.2.26 app/helpers/theme_helper.rb
bullet_train-themes-1.2.25 app/helpers/theme_helper.rb
bullet_train-themes-1.2.24 app/helpers/theme_helper.rb
bullet_train-themes-1.2.23 app/helpers/theme_helper.rb
bullet_train-themes-1.2.22 app/helpers/theme_helper.rb
bullet_train-themes-1.2.21 app/helpers/theme_helper.rb
bullet_train-themes-1.2.20 app/helpers/theme_helper.rb