Age | Commit message (Collapse) | Author |
|
REXML in (at least) Ruby 1.8.6 doesn't support the @attr xpath to get
an attribute value. Use the slightly more verbose way of doing it.
|
|
Some feeds have more than one category. Make all of them available in
the :categories stream key.
|
|
|
|
When the new IRC framework was introduced, the old @channels Hash and
its accessor for @bot were dismissed.
Reintroduce it for backwards compatibility.
|
|
|
|
Because "provided by google_translate" is ugly.
|
|
Translator plugin supports babelfish, and getting rid of this plugin
allows us to use ´translate´ command for better purposes.
|
|
In which case we use Google translate's source language auto-detection feature.
|
|
|
|
|
|
GetText version 2 has some significant difference from earlier version.
* different syntax to set the default locale path
* different syntax to set non-cached mode
* different way to handle bound targets
Most of the changes are relative to significant functionality split
between the GetText submodules (LocalePath, TextDomain etc), so most of
the changes are just a matter of moving the defines where appropriate.
The bound_targets patch needed to cope with anonymous modules is not
needed with gettext >= 2.0.0
|
|
|
|
The !!$? method fails because !!$? is true unless $? is nil, whereas we
want to test for a successful exit.
|
|
An auxiliary method to test-run external programs and see if they run
without problem
|
|
safe_exec should be less verbose when reporting problems, since the
output might end up on IRC, and it should return a non-zero error code
when failing, so that $? get set correctly.
|
|
Courtesy of Debian maintainer Marc Dequènes (Duck) <duck@duckcorp.org>
|
|
|
|
|
|
|
|
|
|
|
|
Director information was missing because IMDB had changed its 'info' div
box to include an id. Cope with it.
|
|
This change allows the use of :defaults in maps to define values for
parameters which are not actually present in the map itself.
We also move the initialization further down, to skip it in case of
early returns.
|
|
|
|
The benefit of this separation is that hosting services such as GitHub
will automatically build a gem every time the version in the spec is
changed. The underside of this separation is that hosting services such
as GitHub will automatically build a gem every time the version is
changed.
To allow the automatic gem generation to trigger on the release of
0.9.15, we demoted the version in the spec to 0.9.14. This gimmick is
needed because the gem spec doesn't allow non-numeric versions.
Since the gemspec is now standalone, it uses Dir instead of FileList,
which is equivalent for our use case. Moreover, the Rakefile only
defines the gem tasks if the spec is present.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
And clean up some Rakefile crud while we're at it
|
|
|
|
|
|
Rather than hard-coding the handle, date and title formatting, make it
customizable via appropriate *_wrap keys.
|
|
We sometimes want to wrap a nonempty String with a given prefix and
postfix. This method makes it a breeze.
|
|
|
|
Since the RSS update announcements do not expect any form of reply,
they could be considered the typical IRC message that should use
NOTICE rather than PRIVMSG.
However, for backwards compatibility and since NOTICEs are not always
appreciated (and since their handling from clients is not always
optimal, either), we still allow rss announces to use the traditional
method, and that is in fact selected as default. Explicit rss show
request always go with PRIVMSG.
|
|
|
|
Make use of the new custom filter loading procedure to move most of the
type definitions into its own file (data/rbot/filters/rss.rb) and only
define some essential ones in the plugin itself.
As an added benefit, user types can be loaded from filters/rss.rb and
rss/types.rb in the botclass directory.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
only match on word boundaries at an end of a trigger if the character at
that end of the trigger is a word character. In other words, the
trigger "test" should require word boundaries on each side, but the
trigger "@test" should only require one on the right side.
|