class JSRailsRoutes::Configuration

Attributes

camelize[RW]
exclude_engines[RW]
exclude_names[RW]
exclude_paths[RW]
include_names[RW]
include_paths[RW]
output_dir[RW]
route_filter[RW]
route_set_filter[RW]
target[RW]

Public Class Methods

new() click to toggle source
# File lib/js_rails_routes/configuration.rb, line 16
def initialize # rubocop:disable Metrics/AbcSize
  self.include_paths = /.*/
  self.exclude_paths = /^$/
  self.include_names = /.*/
  self.exclude_names = /^$/
  self.exclude_engines = /^$/
  self.camelize = nil
  self.output_dir = Rails.root.join('app', 'assets', 'javascripts')
  self.target = 'js'
  self.route_filter = ->(_route) { true }
  self.route_set_filter = ->(_route_set) { true }
end

Public Instance Methods

configure_with_env_vars(env = ENV) click to toggle source

@param env [Hash{String=>String}]

# File lib/js_rails_routes/configuration.rb, line 30
def configure_with_env_vars(env = ENV) # rubocop:disable Metrics/AbcSize
  %w[include_paths exclude_paths include_names exclude_names exclude_engines].each do |name|
    public_send("#{name}=", Regexp.new(env[name])) if env[name]
  end
  self.output_dir = env['output_dir'] if env['output_dir']
  self.camelize = env['camelize'].presence.to_sym if env['camelize']
  self.target = env['target'] if env['target']
end