Module: SorbetRails::ModelPlugins
- Extended by:
- T::Sig
- Includes:
- Kernel
- Included in:
- ModelRbiFormatter
- Defined in:
- lib/sorbet-rails/model_plugins/base.rb,
lib/sorbet-rails/model_plugins/plugins.rb
Defined Under Namespace
Classes: ActiveRecordAssoc, ActiveRecordAttribute, ActiveRecordEnum, ActiveRecordFinderMethods, ActiveRecordNamedScope, ActiveRecordQuerying, ActiveRelationWhereNot, Base, CustomFinderMethods, EnumerableCollections, UnrecognizedPluginName
Constant Summary
collapse
- @@plugins =
T.let([], T::Array[T.class_of(Base)])
Instance Method Summary
collapse
Instance Method Details
#get_plugin_by_name(plugin_name) ⇒ Object
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/sorbet-rails/model_plugins/plugins.rb', line 40
def get_plugin_by_name(plugin_name)
case plugin_name
when :active_record_enum
ActiveRecordEnum
when :active_record_named_scope
ActiveRecordNamedScope
when :active_record_querying
ActiveRecordQuerying
when :active_relation_where_not
ActiveRelationWhereNot
when :active_record_attribute
ActiveRecordAttribute
when :active_record_assoc
ActiveRecordAssoc
when :active_record_finder_methods
ActiveRecordFinderMethods
when :custom_finder_methods
CustomFinderMethods
when :enumerable_collections
EnumerableCollections
when :kaminari
require('sorbet-rails/gem_plugins/kaminari_plugin')
KaminariPlugin
when :pg_search
require('sorbet-rails/gem_plugins/pg_search_plugin')
PgSearchPlugin
when :friendly_id
require('sorbet-rails/gem_plugins/friendly_id_plugin')
FriendlyIdPlugin
else
raise UnrecognizedPluginName.new(
"Unrecognized plugin with name: #{plugin_name}. Please check available plugins in the
documentation".squish!
)
end
end
|
#get_plugins ⇒ Object
30
31
32
|
# File 'lib/sorbet-rails/model_plugins/plugins.rb', line 30
def get_plugins
@@plugins
end
|
#register_plugin(plugin) ⇒ Object
20
21
22
|
# File 'lib/sorbet-rails/model_plugins/plugins.rb', line 20
def register_plugin(plugin)
@@plugins.push(plugin) unless @@plugins.include?(plugin)
end
|
#register_plugin_by_name(plugin_name) ⇒ Object
35
36
37
|
# File 'lib/sorbet-rails/model_plugins/plugins.rb', line 35
def register_plugin_by_name(plugin_name)
register_plugin(get_plugin_by_name(plugin_name))
end
|
#set_plugins(plugins) ⇒ Object
25
26
27
|
# File 'lib/sorbet-rails/model_plugins/plugins.rb', line 25
def set_plugins(plugins)
@@plugins = plugins
end
|