Class: RbsRails::ActiveRecord::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/rbs_rails/active_record.rb,
sig/rbs_rails/active_record.rbs

Constant Summary collapse

IGNORED_ENUM_KEYS =

: Array

Returns:

  • (Array[Symbol])
%i[_prefix _suffix _default _scopes]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(klass) ⇒ Object

Parameters:

  • klass (singleton(ActiveRecord::Base) & Enum)


27
28
29
30
31
32
33
34
# File 'lib/rbs_rails/active_record.rb', line 27

def initialize(klass) #: untyped
  @klass = klass
  @dependencies = DependencyBuilder.new
  @klass_name = Util.module_name(klass, abs: false)

  namespaces = klass_name(abs: false).split('::').tap{ |names| names.pop }
  @dependencies << namespaces.join('::') unless namespaces.empty?
end

Instance Attribute Details

#dependenciesDependencyBuilder (readonly)

Returns the value of attribute dependencies.

Returns:



24
25
26
# File 'lib/rbs_rails/active_record.rb', line 24

def dependencies
  @dependencies
end

#klasssingleton(ActiveRecord::Base) & Enum (readonly)

: singleton(ActiveRecord::Base) & Enum

Returns:

  • (singleton(ActiveRecord::Base) & Enum)


719
720
721
# File 'lib/rbs_rails/active_record.rb', line 719

def klass
  @klass
end

Instance Method Details

#generateString

: String

Returns:

  • (String)


36
37
38
# File 'lib/rbs_rails/active_record.rb', line 36

def generate #: String
  Util.format_rbs klass_decl
end