module Railbus

Constants

CLIENTS
VERSION

Public Instance Methods

generate( app: Rails.application, client: 'axios', include: [], exclude: [], set_options: 'null' ) click to toggle source
# File lib/railbus.rb, line 14
def generate(
  app:         Rails.application,
  client:      'axios',
  include:     [],
  exclude:     [],
  set_options: 'null'
)
  route_set   = RouteSet.new(app, include, exclude)
  routes_json = Railbus::RouteSetPresenter.to_h(route_set).to_json

  js_template = File.join(__dir__, 'railbus', 'templates', 'js.erb')
  erb_engine  = Erubi::Engine.new(File.read(js_template))

  # Template uses `routes_json`, `client`, 'set_options'
  client = client.to_s
  eval(erb_engine.src)
end