module JsRoutes
typed: strict
typed: strict
Constants
- VERSION
Public Class Methods
Source
# File lib/js_routes.rb, line 29 def configuration @configuration ||= T.let(Configuration.new, T.nilable(JsRoutes::Configuration)) end
Source
# File lib/js_routes.rb, line 53 def definitions(**opts) generate(**opts, module_type: 'DTS') end
Source
# File lib/js_routes.rb, line 58 def definitions!(file_name = nil, **opts) file_name ||= configuration.file file_name = file_name&.sub(%r{(\.d)?\.(j|t)s\Z}, ".d.ts") generate!(file_name, **opts, module_type: 'DTS') end
Source
# File lib/js_routes.rb, line 71 def digest Digest::SHA256.file( Rails.root.join("config/routes.rb") ).hexdigest end
Source
# File lib/js_routes.rb, line 34 def generate(**opts) Instance.new(**opts).generate end
Source
# File lib/js_routes.rb, line 39 def generate!(file_name = configuration.file, typed: false, **opts) instance = Instance.new(file: file_name, **opts) instance.generate! if typed && instance.configuration.modern? definitions!(file_name, **opts) end end
Source
# File lib/js_routes.rb, line 66 def json(value) ActiveSupport::JSON.encode(value) end
Source
# File lib/js_routes.rb, line 48 def remove!(file_name = configuration.file, **opts) Instance.new(file: file_name, **opts).remove! end
Source
# File lib/js_routes.rb, line 24 def setup(&block) configuration.setup(&block) end