Class: Solargraph::SourceMap::Region
- Inherits:
-
Object
- Object
- Solargraph::SourceMap::Region
- Defined in:
- lib/solargraph/source_map/region.rb
Overview
Data used by the NodeProcessor library to track context at various locations in a source.
Instance Attribute Summary collapse
- #namespace ⇒ String readonly
- #scope ⇒ Symbol readonly
- #source ⇒ Solargraph::Source readonly
- #visibility ⇒ Symbol readonly
Instance Method Summary collapse
- #code_for(node) ⇒ String
- #filename ⇒ String
-
#initialize(source: Solargraph::Source.load_string(''), namespace: '', scope: :instance, visibility: :public) ⇒ Region
constructor
A new instance of Region.
-
#update(namespace: nil, scope: nil, visibility: nil) ⇒ Region
Generate a new Region with the provided attribute changes.
Constructor Details
#initialize(source: Solargraph::Source.load_string(''), namespace: '', scope: :instance, visibility: :public) ⇒ Region
Returns a new instance of Region.
23 24 25 26 27 28 29 |
# File 'lib/solargraph/source_map/region.rb', line 23 def initialize source: Solargraph::Source.load_string(''), namespace: '', scope: :instance, visibility: :public @source = source @namespace = namespace @scope = scope @visibility = visibility end |
Instance Attribute Details
#namespace ⇒ String (readonly)
8 9 10 |
# File 'lib/solargraph/source_map/region.rb', line 8 def namespace @namespace end |
#scope ⇒ Symbol (readonly)
11 12 13 |
# File 'lib/solargraph/source_map/region.rb', line 11 def scope @scope end |
#source ⇒ Solargraph::Source (readonly)
17 18 19 |
# File 'lib/solargraph/source_map/region.rb', line 17 def source @source end |
#visibility ⇒ Symbol (readonly)
14 15 16 |
# File 'lib/solargraph/source_map/region.rb', line 14 def visibility @visibility end |
Instance Method Details
#code_for(node) ⇒ String
53 54 55 |
# File 'lib/solargraph/source_map/region.rb', line 53 def code_for node source.code_for(node) end |
#filename ⇒ String
32 33 34 |
# File 'lib/solargraph/source_map/region.rb', line 32 def filename source.filename end |
#update(namespace: nil, scope: nil, visibility: nil) ⇒ Region
Generate a new Region with the provided attribute changes.
42 43 44 45 46 47 48 49 |
# File 'lib/solargraph/source_map/region.rb', line 42 def update namespace: nil, scope: nil, visibility: nil Region.new( source: source, namespace: namespace || self.namespace, scope: scope || self.scope, visibility: visibility || self.visibility ) end |