Class: RubyNext::Language::TransformContext

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby-next/language.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeTransformContext

Returns a new instance of TransformContext.



34
35
36
37
38
39
40
# File 'lib/ruby-next/language.rb', line 34

def initialize
  # Minimum supported RubyNext version
  @min_version = MIN_SUPPORTED_VERSION
  @dirty = false
  @versions = Set.new
  @use_ruby_next = false
end

Instance Attribute Details

#use_ruby_nextObject (readonly) Also known as: use_ruby_next?

Returns the value of attribute use_ruby_next.



32
33
34
# File 'lib/ruby-next/language.rb', line 32

def use_ruby_next
  @use_ruby_next
end

#versionsObject (readonly)

Returns the value of attribute versions.



32
33
34
# File 'lib/ruby-next/language.rb', line 32

def versions
  @versions
end

Instance Method Details

#dirty?Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/ruby-next/language.rb', line 54

def dirty?
  @dirty == true
end

#min_versionObject



58
59
60
# File 'lib/ruby-next/language.rb', line 58

def min_version
  versions.min
end

#sorted_versionsObject



62
63
64
# File 'lib/ruby-next/language.rb', line 62

def sorted_versions
  versions.to_a.sort
end

#track!(rewriter) ⇒ Object

Called by rewriter when it performs transfomrations



43
44
45
46
# File 'lib/ruby-next/language.rb', line 43

def track!(rewriter)
  @dirty = true
  versions << rewriter.class::MIN_SUPPORTED_VERSION
end

#use_ruby_next!Object



48
49
50
# File 'lib/ruby-next/language.rb', line 48

def use_ruby_next!
  @use_ruby_next = true
end