weskit 0.3.2 → 0.3.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/.travis.yml +1 -0
- data/README.markdown +10 -5
- data/lib/weskit/mp/adapter.rb +4 -3
- data/lib/weskit/version.rb +1 -1
- data/lib/weskit/wml/extensions/object.rb +2 -2
- data/lib/weskit/wml/mixins/grammar.rb +2 -2
- data/lib/weskit/wml/parsers/simple.rb +14 -5
- data/spec/wml/parser_spec.rb +10 -1
- metadata +3 -3
data/.travis.yml
CHANGED
data/README.markdown
CHANGED
@@ -1,9 +1,14 @@
|
|
1
|
-
Weskit
|
2
|
-
|
1
|
+
Weskit
|
2
|
+
======
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
4
|
+
[](http://travis-ci.org/f6p/weskit)
|
5
|
+
[](http://badge.fury.io/rb/weskit)
|
6
|
+
[](https://codeclimate.com/github/f6p/weskit.png)
|
7
|
+
|
8
|
+
Weskit gem consists of tools for interaction with Wesnoth Markup Langage and
|
9
|
+
Wesnoth infrastructure. For more documentation check out ri pages and examples
|
10
|
+
directory. Production code that utilizes weskit capabilites can be found
|
11
|
+
inside Ladder8 sources.
|
7
12
|
|
8
13
|
#### Modules
|
9
14
|
|
data/lib/weskit/mp/adapter.rb
CHANGED
@@ -2,11 +2,12 @@ require 'term/ansicolor'
|
|
2
2
|
|
3
3
|
module Weskit::MP
|
4
4
|
class Adapter
|
5
|
-
attr_accessor :buffer, :socket
|
5
|
+
attr_accessor :buffer, :parser, :socket
|
6
6
|
|
7
7
|
def initialize connection, debug = false
|
8
8
|
@connection = connection
|
9
9
|
@debug = debug
|
10
|
+
@parser = :simple
|
10
11
|
end
|
11
12
|
|
12
13
|
def message container, hash
|
@@ -56,7 +57,7 @@ module Weskit::MP
|
|
56
57
|
@buffer = nil
|
57
58
|
|
58
59
|
puts debug_header(:read) if @debug
|
59
|
-
@buffer = ::Weskit::WML::Parser.string Zlib::GzipReader.new(data).read
|
60
|
+
@buffer = ::Weskit::WML::Parser.string Zlib::GzipReader.new(data).read, @parser
|
60
61
|
puts debug(@buffer) if @debug
|
61
62
|
|
62
63
|
@buffer
|
@@ -78,4 +79,4 @@ module Weskit::MP
|
|
78
79
|
puts debug(node) if @debug
|
79
80
|
end
|
80
81
|
end
|
81
|
-
end
|
82
|
+
end
|
data/lib/weskit/version.rb
CHANGED
@@ -3,7 +3,7 @@ class Object
|
|
3
3
|
|
4
4
|
attr_reader :attribute
|
5
5
|
|
6
|
-
alias_method :attr,
|
6
|
+
alias_method :attr, :attribute
|
7
7
|
|
8
8
|
def attribute= item
|
9
9
|
@attribute = item ? (raise_unless ::Weskit::WML::Attribute, item ; item) : nil
|
@@ -16,4 +16,4 @@ class Object
|
|
16
16
|
end
|
17
17
|
|
18
18
|
alias_method :attr?, :attribute?
|
19
|
-
end
|
19
|
+
end
|
@@ -2,7 +2,7 @@ module Weskit::WML::Mixins
|
|
2
2
|
module Grammar
|
3
3
|
module_function
|
4
4
|
|
5
|
-
def
|
5
|
+
def raise_on_mismatch opening, closing
|
6
6
|
unless opening.name == closing.name
|
7
7
|
raise ::Weskit::WML::Errors::ParseError, 'Invalid element'
|
8
8
|
end
|
@@ -14,4 +14,4 @@ module Weskit::WML::Mixins
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
end
|
17
|
-
end
|
17
|
+
end
|
@@ -83,13 +83,22 @@ module Weskit::WML::Parsers
|
|
83
83
|
def current_attribute
|
84
84
|
tmp = @current_match[1..2].collect &:strip
|
85
85
|
|
86
|
-
|
86
|
+
name = attribute_name tmp.first
|
87
|
+
value = attribute_value tmp.last
|
87
88
|
|
88
|
-
|
89
|
-
|
90
|
-
|
89
|
+
[name, value]
|
90
|
+
end
|
91
|
+
|
92
|
+
def attribute_name string
|
93
|
+
string.to_sym
|
94
|
+
end
|
91
95
|
|
92
|
-
|
96
|
+
def attribute_value string
|
97
|
+
case string
|
98
|
+
when /^"(.*)"$/ then $1.strip
|
99
|
+
when /^"(.*)$/ then $1.strip + '...'
|
100
|
+
else string
|
101
|
+
end.gsub '""', '"'
|
93
102
|
end
|
94
103
|
|
95
104
|
def current_tag
|
data/spec/wml/parser_spec.rb
CHANGED
@@ -60,8 +60,17 @@ describe Weskit::WML::Parser do
|
|
60
60
|
end
|
61
61
|
|
62
62
|
context 'with Simple backend' do
|
63
|
+
let(:backend) { :simple }
|
64
|
+
|
63
65
|
it_should_behave_like 'basic parser' do
|
64
|
-
let(:parser) {
|
66
|
+
let(:parser) { backend }
|
67
|
+
end
|
68
|
+
|
69
|
+
context 'attribute' do
|
70
|
+
specify 'multiline' do
|
71
|
+
parsed = Weskit::WML::Parser.string %Q{a = "a \n b"}, backend
|
72
|
+
parsed[:a].should match_value_of('a...')
|
73
|
+
end
|
65
74
|
end
|
66
75
|
end
|
67
76
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: weskit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-03-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: kpeg
|
@@ -170,7 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
170
170
|
version: '0'
|
171
171
|
requirements: []
|
172
172
|
rubyforge_project:
|
173
|
-
rubygems_version: 1.8.
|
173
|
+
rubygems_version: 1.8.25
|
174
174
|
signing_key:
|
175
175
|
specification_version: 3
|
176
176
|
summary: Ruby utilies for BfW
|