Module: Livetext::UserAPI

Included in:
Processor
Defined in:
lib/userapi.rb

Instance Method Summary collapse

Instance Method Details

#_argsObject



21
22
23
24
25
26
27
# File 'lib/userapi.rb', line 21

def _args
  if block_given?
    @_args.each {|arg| yield arg }
  else
    @_args
  end
end

#_body(raw = false) ⇒ Object



78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'lib/userapi.rb', line 78

def _body(raw=false)
  lines = []
#   @save_location = @sources.last
  end_found = false
  loop do
    @line = nextline
    break if @line.nil?
    @line.chomp!
    if _end?(@line)
      end_found = true
      break 
    end
    next if _comment?(@line)
flag = (@line.include?("og:title"))
    # FIXME Will cause problem with $. ?
# STDERR.puts "lt3: _body @line = #{@line.inspect}" if flag
    @line = _format(@line) unless raw
# STDERR.puts "           @line = #{@line.inspect}" if flag
    lines << @line 
  end
  raise unless end_found
  _optional_blank_line
  if block_given?
    lines.each {|line| yield line }   # FIXME what about $. ?
  else
    lines
  end
rescue => err
  str = "Fake error? 'Expecting .end, found end of file'\n" 
  str << err.inspect + "\n"
  str << err.backtrace.map {|x| "  " + x }.join("\n")
  _error!(str)
end

#_body_text(raw = false) ⇒ Object



112
113
114
# File 'lib/userapi.rb', line 112

def _body_text(raw=false)
  _body(Livetext::Sigil).join("\n")
end

#_check_existence(file, msg) ⇒ Object



13
14
15
# File 'lib/userapi.rb', line 13

def _check_existence(file, msg)
  _error! msg unless File.exist?(file)
end

#_comment?(str) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
38
39
40
# File 'lib/userapi.rb', line 35

def _comment?(str)
  sigil = Livetext::Sigil
  c1 = sigil + Livetext::Space
  c2 = sigil + sigil + Livetext::Space
  str.index(c1) == 0 || str.index(c2) == 0
end

#_debug(*args) ⇒ Object



168
169
170
# File 'lib/userapi.rb', line 168

def _debug(*args)
  TTY.puts *args if @_debug
end

#_debug=(val) ⇒ Object



164
165
166
# File 'lib/userapi.rb', line 164

def _debug=(val)
  @_debug = val
end

#_end?(str) ⇒ Boolean

Returns:

  • (Boolean)


47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/userapi.rb', line 47

def _end?(str)
  indent = ""
#   n = @parent.indentation.last - 1
#   n = 0 if n < 0  # Gahhh FIXM
#   indent = " " * n
#   indent << "$" unless indent.empty?
  return false if str.nil?
  cmd = indent + Livetext::Sigil + "end"
  return false if str.index(cmd) != 0 
  return false unless _trailing?(str[5])
  return true
end

#_format(line) ⇒ Object



128
129
130
131
132
133
# File 'lib/userapi.rb', line 128

def _format(line)
  return "" if line == "\n"
  line2 = FormatLine.parse!(line)
  line.replace(line2) unless line.nil?
  line
end

#_handle_escapes(str, set) ⇒ Object



120
121
122
123
124
125
126
# File 'lib/userapi.rb', line 120

def _handle_escapes(str, set)
  str = str.dup
  set.each_char do |ch|
    str.gsub!("\\#{ch}", ch)
  end
  str
end

#_optional_blank_lineObject



29
30
31
32
33
# File 'lib/userapi.rb', line 29

def _optional_blank_line
  peek = peek_nextline
  return if peek.nil?
  @line = nextline if peek =~ /^ *$/
end

#_out(str = "", file = nil) ⇒ Object



142
143
144
145
146
147
148
149
150
# File 'lib/userapi.rb', line 142

def _out(str = "", file = nil)
  return if str.nil?
  if file.nil?   # FIXME  do this elsewhere?
    @parent.body << str 
    @parent.body << "\n" unless str.end_with?("\n")
  else
    file.puts str
  end
end

#_out!(str = "") ⇒ Object



152
153
154
# File 'lib/userapi.rb', line 152

def _out!(str = "")
  @parent.body << str  # no newline
end

#_passthru(line) ⇒ Object



135
136
137
138
139
140
# File 'lib/userapi.rb', line 135

def _passthru(line)
  return if @_nopass
  _out "<p>" if line == "\n" and ! @_nopara
  line = _format(line)
  _out line
end

#_print(*args) ⇒ Object



160
161
162
# File 'lib/userapi.rb', line 160

def _print(*args)
  @output.print *args 
end

#_puts(*args) ⇒ Object



156
157
158
# File 'lib/userapi.rb', line 156

def _puts(*args)
  @output.puts *args 
end

#_raw_body(tag = "__EOF__") ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/userapi.rb', line 60

def _raw_body(tag = "__EOF__")
  lines = []
#   @save_location = @sources.last
  loop do
    @line = nextline
    break if @line.nil?
    break if @line.chomp.strip == tag
    lines << @line
  end
  _optional_blank_line
  if block_given?
    lines.each {|line| yield line }
  else
    lines
  end
  lines
end

#_raw_body!Object



116
117
118
# File 'lib/userapi.rb', line 116

def _raw_body!
  _raw_body(Livetext::Sigil).join("\n")
end

#_sourceObject



17
18
19
# File 'lib/userapi.rb', line 17

def _source
  @input
end

#_trailing?(char) ⇒ Boolean

Returns:

  • (Boolean)


42
43
44
45
# File 'lib/userapi.rb', line 42

def _trailing?(char)
  return true if ["\n", " ", nil].include?(char)
  return false
end

#setvar(var, val) ⇒ Object



7
8
9
10
11
# File 'lib/userapi.rb', line 7

def setvar(var, val)
  str, sym = var.to_s, var.to_sym
  Livetext::Vars[str] = val
  Livetext::Vars[sym] = val
end