Class: RbsActiverecord::Generator::Enum::InstanceMethods

Inherits:
Base
  • Object
show all
Includes:
Utils
Defined in:
lib/rbs_activerecord/generator/enum/instance_methods.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Utils

#format, #klass_to_names, #primary_key_type_for, #sql_type_to_class

Constructor Details

#initialize(model, declarations) ⇒ InstanceMethods

Returns a new instance of InstanceMethods.



14
15
16
17
18
19
# File 'lib/rbs_activerecord/generator/enum/instance_methods.rb', line 14

def initialize(model, declarations) #: void
  @model = model
  @declarations = declarations.fetch(model.klass.name.to_s, [])

  super()
end

Instance Attribute Details

#declarationsObject (readonly)

: Array



10
11
12
# File 'lib/rbs_activerecord/generator/enum/instance_methods.rb', line 10

def declarations
  @declarations
end

#modelObject (readonly)

: RbsActiverecord::Model



9
10
11
# File 'lib/rbs_activerecord/generator/enum/instance_methods.rb', line 9

def model
  @model
end

Instance Method Details

#generateObject

: String



21
22
23
24
25
26
27
# File 'lib/rbs_activerecord/generator/enum/instance_methods.rb', line 21

def generate #: String
  "    module GeneratedEnumInstanceMethods\n      \#{enums.map { |node| enum(node) }.join(\"\\n\")}\n    end\n  RBS\nend\n".strip