Parent

Class Index

Quicksearch

Arrow::AppletRegistry::AppletFile

Registry applet filemap data structure.

Constants

DEFAULT_SOURCE_WINDOW_SIZE
(Not documented)

Attributes

exception[RW]
The Exception object that was thrown when trying to load this file, if any
path[R]
The fully-qualified path to the applet file
timestamp[R]
A Time object representing the modification time of the file when it was loaded
uris[R]
An Array of URIs that applets contained in this file are mapped to

Public Class Methods

new( path ) click to toggle source

Create a new Arrow::AppletRegistry::AppletFile for the applet at the given path.

    # File /Users/ged/source/ruby/Arrow/lib/arrow/appletregistry.rb, line 53
53:         def initialize( path )
54:             @path = path
55:             @uris = []
56:             @appletclasses = nil
57:             @timestamp = File.mtime( path )
58:             @exception = nil
59:             @loadTime = Time.at( 0 )
60:         end

Public Instance Methods

appletclasses() click to toggle source

Returns an Array of Arrow::Applet classes loaded from this file, loading them if they haven‘t already been loaded.

     # File /Users/ged/source/ruby/Arrow/lib/arrow/appletregistry.rb, line 94
 94:         def appletclasses
 95:             unless @appletclasses
 96:                 self.log.debug "Loading applet classes from #{@path}"
 97:                 @appletclasses = Arrow::Applet.load( @path )
 98:             end
 99:             
100:         rescue ::Exception => err
101:             @exception = err
102:             frames = self.filtered_backtrace
103:             self.log.error "%s failed to load: %s" % [ path, err.message ]
104:             self.log.debug "  " + frames.collect {|frame| "[%s]" % frame}.join("  ")
105:             @appletclasses = []
106:         ensure
107:             return @appletclasses
108:         end
exception_line() click to toggle source

Return the line of the exception that occurred while loading the applet, if any. If there was no exception, this method returns nil.

     # File /Users/ged/source/ruby/Arrow/lib/arrow/appletregistry.rb, line 168
168:         def exception_line
169:             return nil unless @exception
170:             targetline = nil
171:             line = nil
172:             
173:             # ScriptErrors have the target line in the message; everything else
174:             # is assumed to have it in the first line of the backtrace
175:             if @exception.is_a?( ScriptError )
176:                 targetline = @exception.message
177:             else
178:                 targetline = @exception.backtrace.first
179:             end
180: 
181:             # 
182:             if targetline =~ /.*:(\d+)(?::.*)?$/
183:                 line = Integer( $1 )
184:             else
185:                 raise "Couldn't parse exception backtrace '%s' for error line." %
186:                     [ targetline ]
187:             end
188:             
189:             return line
190:         end
exception_source_window( window_size=DEFAULT_SOURCE_WINDOW_SIZE ) click to toggle source

Return window_size lines surrounding the line of the applet‘s loading exception. If there was no loading exception, returns an empty Array.

     # File /Users/ged/source/ruby/Arrow/lib/arrow/appletregistry.rb, line 196
196:         def exception_source_window( window_size=DEFAULT_SOURCE_WINDOW_SIZE )
197:             return [] unless @exception
198:             return self.source_window( self.exception_line, window_size )
199:         end
filtered_backtrace() click to toggle source

Return the lines of the applet exception‘s backtrace up to the first frame of the framework. Returns an empty Array if there is no current exception.

     # File /Users/ged/source/ruby/Arrow/lib/arrow/appletregistry.rb, line 114
114:         def filtered_backtrace
115:             return [] unless @exception
116: 
117:             filtered = []
118:             @exception.backtrace.each do |frame|
119:                 break if frame.include?('lib/arrow/')
120:                 filtered.push( frame )
121:             end
122: 
123:             return filtered
124:         end
has_changed?() click to toggle source

Returns true if the corresponding file has changed since it was loaded

    # File /Users/ged/source/ruby/Arrow/lib/arrow/appletregistry.rb, line 87
87:         def has_changed?
88:             @timestamp != File.mtime( path )
89:         end
loaded_okay?() click to toggle source

Returns true if this file loaded without error

    # File /Users/ged/source/ruby/Arrow/lib/arrow/appletregistry.rb, line 81
81:         def loaded_okay?
82:             @exception.nil?
83:         end
source_lines() click to toggle source

Return the lines from the applet‘s source as an Array.

     # File /Users/ged/source/ruby/Arrow/lib/arrow/appletregistry.rb, line 128
128:         def source_lines
129:             File.readlines( @path )
130:         end
source_window( linenum, window_size=DEFAULT_SOURCE_WINDOW_SIZE ) click to toggle source

Return window_size lines of the source from the applet surrounding the specified linenum as an Array of Hashes of the form:

  {
    :source  => <line of source code>,
    :linenum => <line number>,
    :target  => <true if this is the target line>
  }

     # File /Users/ged/source/ruby/Arrow/lib/arrow/appletregistry.rb, line 141
141:         def source_window( linenum, window_size=DEFAULT_SOURCE_WINDOW_SIZE )
142:             linenum -= 1
143:             before_line = linenum - (window_size / 2)
144:             after_line = linenum + (window_size / 2.0).ceil
145: 
146:             before_line = 0 if before_line < 0
147:             
148:             self.log.debug "Reading lines %d-%d from %s for source window on line %d" %
149:                 [ before_line, after_line, @path, linenum + 1 ]
150:             
151:             rval = []
152:             lines = self.source_lines[ before_line .. after_line ]
153:             lines.each_with_index do |line, i|
154:                 rval << {
155:                     :source  => line.chomp,
156:                     :linenum => before_line + i + 1,
157:                     :target  => (before_line + i) == linenum,
158:                 }
159:             end
160:             
161:             return rval
162:         end

secsequence

--- SEC00020

seccomment

--- ""

attributes

--- 
- name: exception
  rw: RW
  a_desc: |+
    
    The <a href="../Exception.html">Exception</a> object that was thrown when
    trying to load this file, if any
    
- name: path
  rw: R
  a_desc: |+
    
    The fully-qualified path to the applet file
    
- name: timestamp
  rw: R
  a_desc: |+
    
    A Time object representing the modification time of the file when it was
    loaded
    
- name: uris
  rw: R
  a_desc: |+
    
    An Array of URIs that applets contained in this file are mapped to
    

method_list

--- 
- methods: 
  - visibility: public
    aref: M000396
    name: new
    sourcecode: "    <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/appletregistry.rb, line 53</span>\n\
      53:         <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">initialize</span>( <span class=\"ruby-identifier\">path</span> )\n\
      54:             <span class=\"ruby-ivar\">@path</span> = <span class=\"ruby-identifier\">path</span>\n\
      55:             <span class=\"ruby-ivar\">@uris</span> = []\n\
      56:             <span class=\"ruby-ivar\">@appletclasses</span> = <span class=\"ruby-keyword kw\">nil</span>\n\
      57:             <span class=\"ruby-ivar\">@timestamp</span> = <span class=\"ruby-constant\">File</span>.<span class=\"ruby-identifier\">mtime</span>( <span class=\"ruby-identifier\">path</span> )\n\
      58:             <span class=\"ruby-ivar\">@exception</span> = <span class=\"ruby-keyword kw\">nil</span>\n\
      59:             <span class=\"ruby-ivar\">@loadTime</span> = <span class=\"ruby-constant\">Time</span>.<span class=\"ruby-identifier\">at</span>( <span class=\"ruby-value\">0</span> )\n\
      60:         <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Create a <a href="AppletFile.html#M000396">new</a> <a
      href="AppletFile.html">Arrow::AppletRegistry::AppletFile</a> for the applet
      at the given <tt>path</tt>.
      </p>
    params: ( path )
  category: Class
  type: Public
- methods: 
  - visibility: public
    aref: M000399
    name: appletclasses
    sourcecode: "     <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/appletregistry.rb, line 94</span>\n 94:         <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">appletclasses</span>\n 95:             <span class=\"ruby-keyword kw\">unless</span> <span class=\"ruby-ivar\">@appletclasses</span>\n 96:                 <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">log</span>.<span class=\"ruby-identifier\">debug</span> <span class=\"ruby-node\">&quot;Loading applet classes from #{@path}&quot;</span>\n 97:                 <span class=\"ruby-ivar\">@appletclasses</span> = <span class=\"ruby-constant\">Arrow</span><span class=\"ruby-operator\">::</span><span class=\"ruby-constant\">Applet</span>.<span class=\"ruby-identifier\">load</span>( <span class=\"ruby-ivar\">@path</span> )\n 98:             <span class=\"ruby-keyword kw\">end</span>\n 99:             \n\
      100:         <span class=\"ruby-keyword kw\">rescue</span> <span class=\"ruby-operator\">::</span><span class=\"ruby-constant\">Exception</span> =<span class=\"ruby-operator\">&gt;</span> <span class=\"ruby-identifier\">err</span>\n\
      101:             <span class=\"ruby-ivar\">@exception</span> = <span class=\"ruby-identifier\">err</span>\n\
      102:             <span class=\"ruby-identifier\">frames</span> = <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">filtered_backtrace</span>\n\
      103:             <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">log</span>.<span class=\"ruby-identifier\">error</span> <span class=\"ruby-value str\">&quot;%s failed to load: %s&quot;</span> <span class=\"ruby-operator\">%</span> [ <span class=\"ruby-identifier\">path</span>, <span class=\"ruby-identifier\">err</span>.<span class=\"ruby-identifier\">message</span> ]\n\
      104:             <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">log</span>.<span class=\"ruby-identifier\">debug</span> <span class=\"ruby-value str\">&quot;  &quot;</span> <span class=\"ruby-operator\">+</span> <span class=\"ruby-identifier\">frames</span>.<span class=\"ruby-identifier\">collect</span> {<span class=\"ruby-operator\">|</span><span class=\"ruby-identifier\">frame</span><span class=\"ruby-operator\">|</span> <span class=\"ruby-value str\">&quot;[%s]&quot;</span> <span class=\"ruby-operator\">%</span> <span class=\"ruby-identifier\">frame</span>}.<span class=\"ruby-identifier\">join</span>(<span class=\"ruby-value str\">&quot;  &quot;</span>)\n\
      105:             <span class=\"ruby-ivar\">@appletclasses</span> = []\n\
      106:         <span class=\"ruby-keyword kw\">ensure</span>\n\
      107:             <span class=\"ruby-keyword kw\">return</span> <span class=\"ruby-ivar\">@appletclasses</span>\n\
      108:         <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Returns an Array of <a href="../Applet.html">Arrow::Applet</a> classes
      loaded from this file, loading them if they haven&#8216;t already been
      loaded.
      </p>
    params: ()
  - visibility: public
    aref: M000403
    name: exception_line
    sourcecode: "     <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/appletregistry.rb, line 168</span>\n\
      168:         <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">exception_line</span>\n\
      169:             <span class=\"ruby-keyword kw\">return</span> <span class=\"ruby-keyword kw\">nil</span> <span class=\"ruby-keyword kw\">unless</span> <span class=\"ruby-ivar\">@exception</span>\n\
      170:             <span class=\"ruby-identifier\">targetline</span> = <span class=\"ruby-keyword kw\">nil</span>\n\
      171:             <span class=\"ruby-identifier\">line</span> = <span class=\"ruby-keyword kw\">nil</span>\n\
      172:             \n\
      173:             <span class=\"ruby-comment cmt\"># ScriptErrors have the target line in the message; everything else</span>\n\
      174:             <span class=\"ruby-comment cmt\"># is assumed to have it in the first line of the backtrace</span>\n\
      175:             <span class=\"ruby-keyword kw\">if</span> <span class=\"ruby-ivar\">@exception</span>.<span class=\"ruby-identifier\">is_a?</span>( <span class=\"ruby-constant\">ScriptError</span> )\n\
      176:                 <span class=\"ruby-identifier\">targetline</span> = <span class=\"ruby-ivar\">@exception</span>.<span class=\"ruby-identifier\">message</span>\n\
      177:             <span class=\"ruby-keyword kw\">else</span>\n\
      178:                 <span class=\"ruby-identifier\">targetline</span> = <span class=\"ruby-ivar\">@exception</span>.<span class=\"ruby-identifier\">backtrace</span>.<span class=\"ruby-identifier\">first</span>\n\
      179:             <span class=\"ruby-keyword kw\">end</span>\n\
      180: \n\
      181:             <span class=\"ruby-comment cmt\"># </span>\n\
      182:             <span class=\"ruby-keyword kw\">if</span> <span class=\"ruby-identifier\">targetline</span> <span class=\"ruby-operator\">=~</span> <span class=\"ruby-regexp re\">/.*:(\\d+)(?::.*)?$/</span>\n\
      183:                 <span class=\"ruby-identifier\">line</span> = <span class=\"ruby-constant\">Integer</span>( <span class=\"ruby-identifier\">$1</span> )\n\
      184:             <span class=\"ruby-keyword kw\">else</span>\n\
      185:                 <span class=\"ruby-identifier\">raise</span> <span class=\"ruby-value str\">&quot;Couldn't parse exception backtrace '%s' for error line.&quot;</span> <span class=\"ruby-operator\">%</span>\n\
      186:                     [ <span class=\"ruby-identifier\">targetline</span> ]\n\
      187:             <span class=\"ruby-keyword kw\">end</span>\n\
      188:             \n\
      189:             <span class=\"ruby-keyword kw\">return</span> <span class=\"ruby-identifier\">line</span>\n\
      190:         <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Return the line of the exception that occurred while loading the applet, if
      any. If there was no exception, this method returns <tt>nil</tt>.
      </p>
    params: ()
  - visibility: public
    aref: M000404
    name: exception_source_window
    sourcecode: "     <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/appletregistry.rb, line 196</span>\n\
      196:         <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">exception_source_window</span>( <span class=\"ruby-identifier\">window_size</span>=<span class=\"ruby-constant\">DEFAULT_SOURCE_WINDOW_SIZE</span> )\n\
      197:             <span class=\"ruby-keyword kw\">return</span> [] <span class=\"ruby-keyword kw\">unless</span> <span class=\"ruby-ivar\">@exception</span>\n\
      198:             <span class=\"ruby-keyword kw\">return</span> <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">source_window</span>( <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">exception_line</span>, <span class=\"ruby-identifier\">window_size</span> )\n\
      199:         <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Return <tt>window_size</tt> lines surrounding the line of the
      applet&#8216;s loading exception. If there was no loading exception,
      returns an empty Array.
      </p>
    params: ( window_size=DEFAULT_SOURCE_WINDOW_SIZE )
  - visibility: public
    aref: M000400
    name: filtered_backtrace
    sourcecode: "     <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/appletregistry.rb, line 114</span>\n\
      114:         <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">filtered_backtrace</span>\n\
      115:             <span class=\"ruby-keyword kw\">return</span> [] <span class=\"ruby-keyword kw\">unless</span> <span class=\"ruby-ivar\">@exception</span>\n\
      116: \n\
      117:             <span class=\"ruby-identifier\">filtered</span> = []\n\
      118:             <span class=\"ruby-ivar\">@exception</span>.<span class=\"ruby-identifier\">backtrace</span>.<span class=\"ruby-identifier\">each</span> <span class=\"ruby-keyword kw\">do</span> <span class=\"ruby-operator\">|</span><span class=\"ruby-identifier\">frame</span><span class=\"ruby-operator\">|</span>\n\
      119:                 <span class=\"ruby-keyword kw\">break</span> <span class=\"ruby-keyword kw\">if</span> <span class=\"ruby-identifier\">frame</span>.<span class=\"ruby-identifier\">include?</span>(<span class=\"ruby-value str\">'lib/arrow/'</span>)\n\
      120:                 <span class=\"ruby-identifier\">filtered</span>.<span class=\"ruby-identifier\">push</span>( <span class=\"ruby-identifier\">frame</span> )\n\
      121:             <span class=\"ruby-keyword kw\">end</span>\n\
      122: \n\
      123:             <span class=\"ruby-keyword kw\">return</span> <span class=\"ruby-identifier\">filtered</span>\n\
      124:         <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Return the lines of the applet exception&#8216;s backtrace up to the first
      frame of the framework. Returns an empty Array if there is no current
      exception.
      </p>
    params: ()
  - visibility: public
    aref: M000398
    name: has_changed?
    sourcecode: "    <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/appletregistry.rb, line 87</span>\n\
      87:         <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">has_changed?</span>\n\
      88:             <span class=\"ruby-ivar\">@timestamp</span> <span class=\"ruby-operator\">!=</span> <span class=\"ruby-constant\">File</span>.<span class=\"ruby-identifier\">mtime</span>( <span class=\"ruby-identifier\">path</span> )\n\
      89:         <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Returns <tt>true</tt> if the corresponding file has changed since it was
      loaded
      </p>
    params: ()
  - visibility: public
    aref: M000397
    name: loaded_okay?
    sourcecode: "    <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/appletregistry.rb, line 81</span>\n\
      81:         <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">loaded_okay?</span>\n\
      82:             <span class=\"ruby-ivar\">@exception</span>.<span class=\"ruby-identifier\">nil?</span>\n\
      83:         <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Returns <tt>true</tt> if this file loaded without error
      </p>
    params: ()
  - visibility: public
    aref: M000401
    name: source_lines
    sourcecode: "     <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/appletregistry.rb, line 128</span>\n\
      128:         <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">source_lines</span>\n\
      129:             <span class=\"ruby-constant\">File</span>.<span class=\"ruby-identifier\">readlines</span>( <span class=\"ruby-ivar\">@path</span> )\n\
      130:         <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Return the lines from the applet&#8216;s source as an Array.
      </p>
    params: ()
  - visibility: public
    aref: M000402
    name: source_window
    sourcecode: "     <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/appletregistry.rb, line 141</span>\n\
      141:         <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">source_window</span>( <span class=\"ruby-identifier\">linenum</span>, <span class=\"ruby-identifier\">window_size</span>=<span class=\"ruby-constant\">DEFAULT_SOURCE_WINDOW_SIZE</span> )\n\
      142:             <span class=\"ruby-identifier\">linenum</span> <span class=\"ruby-operator\">-=</span> <span class=\"ruby-value\">1</span>\n\
      143:             <span class=\"ruby-identifier\">before_line</span> = <span class=\"ruby-identifier\">linenum</span> <span class=\"ruby-operator\">-</span> (<span class=\"ruby-identifier\">window_size</span> <span class=\"ruby-operator\">/</span> <span class=\"ruby-value\">2</span>)\n\
      144:             <span class=\"ruby-identifier\">after_line</span> = <span class=\"ruby-identifier\">linenum</span> <span class=\"ruby-operator\">+</span> (<span class=\"ruby-identifier\">window_size</span> <span class=\"ruby-operator\">/</span> <span class=\"ruby-value\">2.0</span>).<span class=\"ruby-identifier\">ceil</span>\n\
      145: \n\
      146:             <span class=\"ruby-identifier\">before_line</span> = <span class=\"ruby-value\">0</span> <span class=\"ruby-keyword kw\">if</span> <span class=\"ruby-identifier\">before_line</span> <span class=\"ruby-operator\">&lt;</span> <span class=\"ruby-value\">0</span>\n\
      147:             \n\
      148:             <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">log</span>.<span class=\"ruby-identifier\">debug</span> <span class=\"ruby-value str\">&quot;Reading lines %d-%d from %s for source window on line %d&quot;</span> <span class=\"ruby-operator\">%</span>\n\
      149:                 [ <span class=\"ruby-identifier\">before_line</span>, <span class=\"ruby-identifier\">after_line</span>, <span class=\"ruby-ivar\">@path</span>, <span class=\"ruby-identifier\">linenum</span> <span class=\"ruby-operator\">+</span> <span class=\"ruby-value\">1</span> ]\n\
      150:             \n\
      151:             <span class=\"ruby-identifier\">rval</span> = []\n\
      152:             <span class=\"ruby-identifier\">lines</span> = <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">source_lines</span>[ <span class=\"ruby-identifier\">before_line</span> <span class=\"ruby-operator\">..</span> <span class=\"ruby-identifier\">after_line</span> ]\n\
      153:             <span class=\"ruby-identifier\">lines</span>.<span class=\"ruby-identifier\">each_with_index</span> <span class=\"ruby-keyword kw\">do</span> <span class=\"ruby-operator\">|</span><span class=\"ruby-identifier\">line</span>, <span class=\"ruby-identifier\">i</span><span class=\"ruby-operator\">|</span>\n\
      154:                 <span class=\"ruby-identifier\">rval</span> <span class=\"ruby-operator\">&lt;&lt;</span> {\n\
      155:                     <span class=\"ruby-identifier\">:source</span>  =<span class=\"ruby-operator\">&gt;</span> <span class=\"ruby-identifier\">line</span>.<span class=\"ruby-identifier\">chomp</span>,\n\
      156:                     <span class=\"ruby-identifier\">:linenum</span> =<span class=\"ruby-operator\">&gt;</span> <span class=\"ruby-identifier\">before_line</span> <span class=\"ruby-operator\">+</span> <span class=\"ruby-identifier\">i</span> <span class=\"ruby-operator\">+</span> <span class=\"ruby-value\">1</span>,\n\
      157:                     <span class=\"ruby-identifier\">:target</span>  =<span class=\"ruby-operator\">&gt;</span> (<span class=\"ruby-identifier\">before_line</span> <span class=\"ruby-operator\">+</span> <span class=\"ruby-identifier\">i</span>) <span class=\"ruby-operator\">==</span> <span class=\"ruby-identifier\">linenum</span>,\n\
      158:                 }\n\
      159:             <span class=\"ruby-keyword kw\">end</span>\n\
      160:             \n\
      161:             <span class=\"ruby-keyword kw\">return</span> <span class=\"ruby-identifier\">rval</span>\n\
      162:         <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Return <tt>window_size</tt> lines of the source from the applet surrounding
      the specified <tt>linenum</tt> as an Array of Hashes of the form:
      </p>
      <pre>
        {
          :source  =&gt; &lt;line of source code&gt;,
          :linenum =&gt; &lt;line number&gt;,
          :target  =&gt; &lt;true if this is the target line&gt;
        }
      </pre>
    params: ( linenum, window_size=DEFAULT_SOURCE_WINDOW_SIZE )
  category: Instance
  type: Public

sectitle

--- 

constants

--- 
- name: DEFAULT_SOURCE_WINDOW_SIZE
  value: "20"

[Validate]

Generated with the Darkfish Rdoc Generator.