Class: Quaff::ABNFSipParser
Overview
:nodoc:
Direct Known Subclasses
Instance Method Summary collapse
- #addr_spec ⇒ Object
-
#alphanum ⇒ Object
Rules.
- #display_name ⇒ Object
- #escaped ⇒ Object
- #from_param ⇒ Object
- #from_spec ⇒ Object
- #hostname ⇒ Object
- #hostport ⇒ Object
- #laquot ⇒ Object
- #lws ⇒ Object
- #mark ⇒ Object
- #name_addr ⇒ Object
- #param ⇒ Object
- #paramchar ⇒ Object
- #pname ⇒ Object
- #port ⇒ Object
- #pvalue ⇒ Object
- #raquot ⇒ Object
- #reserved ⇒ Object
- #sip_uri ⇒ Object
- #sws ⇒ Object
- #tel_uri ⇒ Object
- #to_param ⇒ Object
- #to_spec ⇒ Object
- #unreserved ⇒ Object
- #uri_parameters ⇒ Object
- #user ⇒ Object
- #user_unreserved ⇒ Object
- #userinfo ⇒ Object
- #wsp ⇒ Object
Instance Method Details
#addr_spec ⇒ Object
203 204 205 |
# File 'lib/sip_parser.rb', line 203 def addr_spec Alternate.new(sip_uri, tel_uri) end |
#alphanum ⇒ Object
Rules
124 125 126 |
# File 'lib/sip_parser.rb', line 124 def alphanum Alternate.new(Alpha.new, Digit.new) end |
#display_name ⇒ Object
227 228 229 |
# File 'lib/sip_parser.rb', line 227 def display_name Repetition.new(:any, Alternate.new(alphanum, wsp, Char.new(?"))) end |
#escaped ⇒ Object
140 141 142 |
# File 'lib/sip_parser.rb', line 140 def escaped Concat.new(Char.new(?%), HexDigit.new, HexDigit.new) end |
#from_param ⇒ Object
235 236 237 |
# File 'lib/sip_parser.rb', line 235 def from_param param end |
#from_spec ⇒ Object
239 240 241 |
# File 'lib/sip_parser.rb', line 239 def from_spec Concat.new(Alternate.new(addr_spec, name_addr), Repetition.new(:any, Concat.new(Char.new(?;), from_param))) end |
#hostname ⇒ Object
156 157 158 |
# File 'lib/sip_parser.rb', line 156 def hostname Repetition.new([:at_least, 1], Alternate.new(alphanum, Char.new(?.), Char.new(?-))) end |
#hostport ⇒ Object
164 165 166 |
# File 'lib/sip_parser.rb', line 164 def hostport Concat.new(hostname, OptionalConcat.new(Char.new(?:), port)) end |
#laquot ⇒ Object
223 224 225 |
# File 'lib/sip_parser.rb', line 223 def laquot Concat.new(sws, Char.new("<")) end |
#lws ⇒ Object
211 212 213 |
# File 'lib/sip_parser.rb', line 211 def lws Concat.new(OptionalConcat.new(Repetition.new([:at_least, 1], wsp), Literal.new("\r\n")), Repetition.new([:at_least, 1], wsp)) end |
#mark ⇒ Object
132 133 134 |
# File 'lib/sip_parser.rb', line 132 def mark AlternateChars.new("-_.!~*'()") end |
#name_addr ⇒ Object
231 232 233 |
# File 'lib/sip_parser.rb', line 231 def name_addr Concat.new(display_name, laquot, addr_spec, raquot) end |
#param ⇒ Object
182 183 184 |
# File 'lib/sip_parser.rb', line 182 def param Concat.new(pname, OptionalConcat.new(Char.new(?=), pvalue)) end |
#paramchar ⇒ Object
168 169 170 171 |
# File 'lib/sip_parser.rb', line 168 def paramchar paramunreserved = AlternateChars.new("[]/:&+%") Alternate.new(paramunreserved, unreserved, escaped) end |
#pname ⇒ Object
173 174 175 |
# File 'lib/sip_parser.rb', line 173 def pname Repetition.new([:at_least, 1], paramchar) end |
#port ⇒ Object
160 161 162 |
# File 'lib/sip_parser.rb', line 160 def port Repetition.new([:at_least, 1], Digit.new) end |
#pvalue ⇒ Object
177 178 179 |
# File 'lib/sip_parser.rb', line 177 def pvalue Repetition.new([:at_least, 1], paramchar) end |
#raquot ⇒ Object
219 220 221 |
# File 'lib/sip_parser.rb', line 219 def raquot Concat.new(Char.new(">"), sws) end |
#reserved ⇒ Object
128 129 130 |
# File 'lib/sip_parser.rb', line 128 def reserved AlternateChars.new(";/?:@&=+$,") end |
#sip_uri ⇒ Object
191 192 193 194 195 196 |
# File 'lib/sip_parser.rb', line 191 def sip_uri Concat.new(Literal.new("sip:"), Optional.new(userinfo), hostport, uri_parameters) end |
#sws ⇒ Object
215 216 217 |
# File 'lib/sip_parser.rb', line 215 def sws Optional.new(lws) end |
#tel_uri ⇒ Object
198 199 200 201 |
# File 'lib/sip_parser.rb', line 198 def tel_uri Concat.new(Literal.new("tel:"), Repetition.new([:at_least, 1], Digit.new)) end |
#to_param ⇒ Object
243 244 245 |
# File 'lib/sip_parser.rb', line 243 def to_param param end |
#to_spec ⇒ Object
247 248 249 |
# File 'lib/sip_parser.rb', line 247 def to_spec Concat.new(Alternate.new(addr_spec, name_addr), Repetition.new(:any, Concat.new(Char.new(?;), to_param))) end |
#unreserved ⇒ Object
136 137 138 |
# File 'lib/sip_parser.rb', line 136 def unreserved Alternate.new(alphanum, mark) end |
#uri_parameters ⇒ Object
186 187 188 189 |
# File 'lib/sip_parser.rb', line 186 def uri_parameters Repetition.new(:any, Concat.new(Char.new(?;), param)) end |
#user ⇒ Object
148 149 150 |
# File 'lib/sip_parser.rb', line 148 def user Repetition.new([:at_least, 1], Alternate.new(unreserved, escaped, user_unreserved)) end |
#user_unreserved ⇒ Object
144 145 146 |
# File 'lib/sip_parser.rb', line 144 def user_unreserved AlternateChars.new "&=+$,;?/" end |
#userinfo ⇒ Object
152 153 154 |
# File 'lib/sip_parser.rb', line 152 def userinfo Concat.new(user, Char.new(?@)) end |
#wsp ⇒ Object
207 208 209 |
# File 'lib/sip_parser.rb', line 207 def wsp Alternate.new(Char.new(" "), Char.new("\t")) end |