Class: RubyLsp::Rails::FactoryBot::ServerAddon

Inherits:
ServerAddon
  • Object
show all
Defined in:
lib/ruby_lsp/rails/factory_bot/server_addon.rb,
lib/ruby_lsp/rails/factory_bot/server_addon/base_handler.rb,
lib/ruby_lsp/rails/factory_bot/server_addon/trait_handler.rb,
lib/ruby_lsp/rails/factory_bot/server_addon/factory_handler.rb,
lib/ruby_lsp/rails/factory_bot/server_addon/attribute_handler.rb

Overview

The addon for the ruby-lsp-rails server runtime

Defined Under Namespace

Classes: AttributeHandler, BaseHandler, FactoryHandler, TraitHandler

Instance Method Summary collapse

Constructor Details

#initialize(stdout, stderr, capabilities) ⇒ ServerAddon

Returns a new instance of ServerAddon.



13
14
15
16
17
18
19
20
21
22
# File 'lib/ruby_lsp/rails/factory_bot/server_addon.rb', line 13

def initialize(stdout, stderr, capabilities)
  super

  # TODO: move to before_start hook
  with_progress "ruby-lsp-rails-factory-bot-1", "initialisation" do
    require "factory_bot"
    ::FactoryBot.find_definitions
    ::FactoryBot.factories.each(&:compile)
  end
end

Instance Method Details

#execute(request, params) ⇒ Object

rubocop:disable Metrics/MethodLength



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/ruby_lsp/rails/factory_bot/server_addon.rb', line 26

def execute(request, params) # rubocop:disable Metrics/MethodLength
  case request.to_sym
  when :factories
    collection = FactoryHandler.new.execute(params)
  when :traits
    collection = TraitHandler.new.execute(params)
  when :attributes
    collection = AttributeHandler.new.execute(params)
  else
    return send_error_response("#{request} no supported")
  end

  send_result(collection || [])
rescue => e # rubocop:disable Style/RescueStandardError
  send_error_response("An error occurred while fetching #{request} - #{e}")
end

#name ⇒ Object



24
# File 'lib/ruby_lsp/rails/factory_bot/server_addon.rb', line 24

def name = FactoryBot::ADDON_NAME