Class: Sourcerer::SourceCode

Inherits:
String
  • Object
show all
Defined in:
lib/sourcerer/source_code.rb

Instance Method Summary collapse

Instance Method Details

#bodyObject



10
11
12
# File 'lib/sourcerer/source_code.rb', line 10

def body
  @body || self.dismantle.body
end

#dismantleObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/sourcerer/source_code.rb', line 14

def dismantle

  self_dup= self.dup

  #TODO: optionable args search for comments
  parameters_var=  self.scan(/\s*Proc\.new\s*{\s*\|(.*)\|/)
  if parameters_var.empty?
    @parameters= ""
  else
    @parameters= parameters_var[0][0]
    self_dup.sub!(parameters_var[0][0],"")
    self_dup.sub!( self_dup.split("\n")[0], self_dup.split("\n")[0].gsub("|","") )
  end

  self_dup.slice! /\s*Proc\.new\s*{[\s\n]*/
  self_dup[self_dup.length-1]=""

  @body= self_dup

  return self

end

#parametersObject Also known as: args, params



4
5
6
# File 'lib/sourcerer/source_code.rb', line 4

def parameters
  @parameters || self.dismantle.parameters
end