Class: ActiveMutator::Subject

Inherits:
Data
  • Object
show all
Defined in:
lib/active_mutator/subject.rb

Overview

A mutable unit: one method definition. byte_range/line_range cover the whole def ... end. sclass: def lives inside class << self — its source slice is def foo, so Inserter must target the singleton class, not the constant itself.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, file:, byte_range:, line_range:, constant_scope:, kind:, sclass: false) ⇒ Subject

Returns a new instance of Subject.



7
8
9
# File 'lib/active_mutator/subject.rb', line 7

def initialize(name:, file:, byte_range:, line_range:, constant_scope:, kind:, sclass: false)
  super
end

Instance Attribute Details

#byte_rangeObject (readonly)

Returns the value of attribute byte_range

Returns:

  • (Object)

    the current value of byte_range



6
7
8
# File 'lib/active_mutator/subject.rb', line 6

def byte_range
  @byte_range
end

#constant_scopeObject (readonly)

Returns the value of attribute constant_scope

Returns:

  • (Object)

    the current value of constant_scope



6
7
8
# File 'lib/active_mutator/subject.rb', line 6

def constant_scope
  @constant_scope
end

#fileObject (readonly)

Returns the value of attribute file

Returns:

  • (Object)

    the current value of file



6
7
8
# File 'lib/active_mutator/subject.rb', line 6

def file
  @file
end

#kindObject (readonly)

Returns the value of attribute kind

Returns:

  • (Object)

    the current value of kind



6
7
8
# File 'lib/active_mutator/subject.rb', line 6

def kind
  @kind
end

#line_rangeObject (readonly)

Returns the value of attribute line_range

Returns:

  • (Object)

    the current value of line_range



6
7
8
# File 'lib/active_mutator/subject.rb', line 6

def line_range
  @line_range
end

#nameObject (readonly)

Returns the value of attribute name

Returns:

  • (Object)

    the current value of name



6
7
8
# File 'lib/active_mutator/subject.rb', line 6

def name
  @name
end

#sclassObject (readonly)

Returns the value of attribute sclass

Returns:

  • (Object)

    the current value of sclass



6
7
8
# File 'lib/active_mutator/subject.rb', line 6

def sclass
  @sclass
end

Instance Method Details

#singleton?Boolean

Returns:

  • (Boolean)


11
# File 'lib/active_mutator/subject.rb', line 11

def singleton? = kind == :singleton