Sha256: 48a15998089f52fb471b51edde55749bc8f3769da563658d5e5c9d810a884b12

Contents?: true

Size: 835 Bytes

Versions: 3

Compression:

Stored size: 835 Bytes

Contents

# Aerogel::Helpers are registered both as Sinatra extensions and Sinatra helpers,
# so any helper is available both at application and request scope level.
#
module Aerogel::Helpers

  def self.registered(app)
    # load helpers
    Aerogel.get_resource_list( :app, "helpers/**/*.rb" ).each do |filename|
      Aerogel.require_into( Aerogel::Helpers, filename )
    end
    app.helpers Aerogel::Helpers

    # register reloader
    setup_reloader(app) if Aerogel.config.aerogel.reloader?
  end

private

  # Sets up reloader for helpers.
  #
  def self.setup_reloader(app)
    app.use Aerogel::Reloader, ->{ Aerogel.get_resource_list( :app, "helpers/**/*.rb" ) }, group: :helpers do |files|
      files.each do |filename|
        Aerogel.require_into( Aerogel::Helpers, filename )
      end
    end
  end

end # module Aerogel::Helpers

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
aerogel-core-1.4.12 lib/aerogel/core/helpers.rb
aerogel-core-1.4.11 lib/aerogel/core/helpers.rb
aerogel-core-1.4.10 lib/aerogel/core/helpers.rb