Module: DictClient

Defined in:
lib/dict_client.rb,
lib/dict_client/client.rb,
lib/dict_client/readers.rb,
lib/dict_client/responses.rb

Defined Under Namespace

Modules: Formattable Classes: Client, DictError, DictionariesTcpReader, DictionaryInfoTcpReader, EmptyResponse, KeyValueResponse, MatchTcpReader, ServerHelpTcpReader, ServerInfoTcpReader, SimpleResponse, SimpleTcpReader, StrategiesTcpReader, WordDefinitions, WordDefinitionsTcpReader, WordMatch

Constant Summary collapse

DEFAULT_HOST =
'dict.mova.org'
DEFAULT_PORT =
2628
EOL =
"\r\n"
EOD =

End of data marker

'.' + EOL
DB_FIRST =

The special database names.

'!'
DB_ALL =
'*'
MATCH_DEFAULT =

Match strategies.

'.'
MATCH_EXACT =
'exact'
MATCH_PREFIX =
'prefix'
RESPONSE_DATABASES_FOLLOW =
110
RESPONSE_STRATEGIES_FOLLOW =
111
RESPONSE_INFO_FOLLOWS =
112
RESPONSE_HELP_FOLLOWS =
113
RESPONSE_SERVER_INFO_FOLLOWS =
114
RESPONSE_DEFINITIONS_FOLLOW =
150
RESPONSE_DEFINITION_FOLLOWS =
151
RESPONSE_MATCHES_FOLLOW =
152
RESPONSE_CONNECTED =
220
RESPONSE_OK =
250
RESPONSE_NO_MATCH =
552
RESPONSE_NO_DATABASES =
554
RESPONSE_NO_STRATEGIES =
555
CLIENT_NAME =
'client github.com/leikind/dict_client'
ServerInfo =
SimpleResponse
ServerHelp =
SimpleResponse
DictionaryInfo =
SimpleResponse
Dictionaries =
KeyValueResponse
Strategies =
KeyValueResponse

Class Method Summary collapse

Class Method Details

.reply_code(text, default = nil) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
# File 'lib/dict_client.rb', line 43

def self.reply_code(text, default = nil)

  if text =~ /^\d{3} /
    text.to_i
  elsif default
    default
  else
    raise DictError.new, "Invalid reply from host \"#{text}\"."
  end

end