mediawiki-gateway 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/media_wiki.rb +1 -1
- data/lib/media_wiki/gateway.rb +5 -1
- data/lib/media_wiki/utils.rb +4 -2
- data/mediawiki-gateway.gemspec +2 -2
- data/spec/utils_spec.rb +4 -0
- metadata +4 -4
data/lib/media_wiki.rb
CHANGED
data/lib/media_wiki/gateway.rb
CHANGED
@@ -114,8 +114,12 @@ module MediaWiki
|
|
114
114
|
# Options:
|
115
115
|
# * [movesubpages] Move associated subpages
|
116
116
|
# * [movetalk] Move associated talkpages
|
117
|
+
# * [noredirect] Do not create a redirect page from old name. Requires the 'suppressredirect' user right, otherwise MW will silently ignore the option and create the redirect anyway.
|
118
|
+
# * [reason] Reason for move
|
119
|
+
# * [watch] Add page and any redirect to watchlist
|
120
|
+
# * [unwatch] Remove page and any redirect from watchlist
|
117
121
|
def move(from, to, options={})
|
118
|
-
valid_options = %w(movesubpages movetalk)
|
122
|
+
valid_options = %w(movesubpages movetalk noredirect reason watch unwatch)
|
119
123
|
options.keys.each{|opt| raise ArgumentError.new("Unknown option '#{opt}'") unless valid_options.include?(opt.to_s)}
|
120
124
|
|
121
125
|
form_data = options.merge({'action' => 'move', 'from' => from, 'to' => to, 'token' => get_token('move', from)})
|
data/lib/media_wiki/utils.rb
CHANGED
@@ -24,10 +24,12 @@ module MediaWiki
|
|
24
24
|
title.split('/').last if title
|
25
25
|
end
|
26
26
|
|
27
|
-
# Convert URL-ized page name ("getting_there_%26_away") into Wiki display format page name ("getting there & away")
|
27
|
+
# Convert URL-ized page name ("getting_there_%26_away") into Wiki display format page name ("getting there & away").
|
28
|
+
# Also strips out any illegal characters (#<>[]|{}, cf. http://meta.wikimedia.org/wiki/Help:Page_name#Restrictions).
|
29
|
+
#
|
28
30
|
# [wiki] Page name string in URL
|
29
31
|
def uri_to_wiki(uri)
|
30
|
-
CGI.unescape(uri).tr('_', ' ') if uri
|
32
|
+
CGI.unescape(uri).tr('_', ' ').tr('#<>[]|{}', '') if uri
|
31
33
|
end
|
32
34
|
|
33
35
|
# Convert a Wiki page name ("getting there & away") to URI-safe format ("getting_there_%26_away"),
|
data/mediawiki-gateway.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{mediawiki-gateway}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jani Patokallio"]
|
12
|
-
s.date = %q{2010-12-
|
12
|
+
s.date = %q{2010-12-15}
|
13
13
|
s.description = %q{}
|
14
14
|
s.email = %q{jpatokal@iki.fi}
|
15
15
|
s.extra_rdoc_files = [
|
data/spec/utils_spec.rb
CHANGED
@@ -68,6 +68,10 @@ describe MediaWiki do
|
|
68
68
|
MediaWiki.uri_to_wiki('Ph%E1%BB%9F').should == 'Phở'
|
69
69
|
end
|
70
70
|
|
71
|
+
it "should strip out illegal characters" do
|
72
|
+
MediaWiki.uri_to_wiki('A#B<C>D[E]F|G{H}I').should == 'ABCDEFGHI'
|
73
|
+
end
|
74
|
+
|
71
75
|
it "should pass through nil" do
|
72
76
|
MediaWiki.uri_to_wiki(nil).should be_nil
|
73
77
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mediawiki-gateway
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 3
|
10
|
+
version: 0.2.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jani Patokallio
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-12-
|
18
|
+
date: 2010-12-15 00:00:00 +11:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|