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

#initialize(path: nil) ⇒ TransformContext

Returns a new instance of TransformContext.



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

def initialize(path: nil)
  @path = path
  # Minimum supported RubyNext version
  @min_version = MIN_SUPPORTED_VERSION
  @dirty = false
  @versions = Set.new
  @use_ruby_next = false
end

Instance Attribute Details

#pathObject (readonly)

Returns the value of attribute path.



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

def path
  @path
end

#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)


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

def dirty?
  @dirty == true
end

#min_versionObject



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

def min_version
  versions.min
end

#sorted_versionsObject



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

def sorted_versions
  versions.to_a.sort
end

#track!(rewriter) ⇒ Object

Called by rewriter when it performs transfomrations



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

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

#use_ruby_next!Object



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

def use_ruby_next!
  @use_ruby_next = true
end