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.



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

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.



29
30
31
# File 'lib/ruby-next/language.rb', line 29

def use_ruby_next
  @use_ruby_next
end

#versionsObject (readonly)

Returns the value of attribute versions.



29
30
31
# File 'lib/ruby-next/language.rb', line 29

def versions
  @versions
end

Instance Method Details

#dirty?Boolean

Returns:

  • (Boolean)


51
52
53
# File 'lib/ruby-next/language.rb', line 51

def dirty?
  @dirty == true
end

#min_versionObject



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

def min_version
  versions.min
end

#sorted_versionsObject



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

def sorted_versions
  versions.to_a.sort
end

#track!(rewriter) ⇒ Object

Called by rewriter when it performs transfomrations



40
41
42
43
# File 'lib/ruby-next/language.rb', line 40

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

#use_ruby_next!Object



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

def use_ruby_next!
  @use_ruby_next = true
end