ESBify 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/ESBify/parser.rb +2 -1
- data/lib/ESBify/version.rb +1 -1
- data/test.esb +38 -12
- metadata +11 -11
data/lib/ESBify/parser.rb
CHANGED
@@ -54,7 +54,8 @@ class ESBify::Parser
|
|
54
54
|
# Split by sections
|
55
55
|
str.split(/\!(?=(?:expectation|behaviou?r|strateg(?:y|ie))s?\n)/).each do |section|
|
56
56
|
next if section =~ /\A\s*\z/m
|
57
|
-
|
57
|
+
section.strip!
|
58
|
+
m = section.match /\A!?(expectation|behaviou?r|strateg(?:y|ie))s?/
|
58
59
|
txt = str.split("\n")
|
59
60
|
txt.shift
|
60
61
|
txt.join("\n")
|
data/lib/ESBify/version.rb
CHANGED
data/test.esb
CHANGED
@@ -1,16 +1,42 @@
|
|
1
|
-
|
2
|
-
name: test
|
1
|
+
# This is a comment
|
3
2
|
|
4
|
-
|
3
|
+
# This is a header. Anything after this header will go to the relevant file
|
4
|
+
!expectations
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
condition:
|
6
|
+
# And this is an element, in this case an expectation.
|
7
|
+
name: may_not_have_bangs
|
8
|
+
# We haven't included an `agent:` label, it defaults to `self`.
|
9
|
+
condition: played(P1, duel, P2) | responded(P1, bang, P2, duel) | played(P1, indians, P2)
|
10
|
+
phi: requires_bang_response(P2)
|
11
|
+
test_plus: lost_life(P2)
|
12
|
+
test_minus: played(P2, bang, P3) | responded(P2, bang, P3, _)
|
13
|
+
rho_plus:
|
14
|
+
+ has_no_bangs # `+` means that this will be added to EXP_C
|
15
|
+
- may_not_have_bangs # `-` means this will be removed from EXP_C
|
16
|
+
rho_minus:
|
17
|
+
- has_no_bangs
|
10
18
|
|
11
|
-
|
19
|
+
# Lines separate elements
|
20
|
+
----------
|
12
21
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
22
|
+
# As a shortcut if the first label in an element has no content it is automatically considered a name
|
23
|
+
has_no_bangs: # equivalent to `name: has_no_bangs`
|
24
|
+
condition: requires_bang_response℗ | has_no_bangs(P)
|
25
|
+
phi: has_no_bangs_phi(P)
|
26
|
+
# You can use embedded Ruby to process things compile time
|
27
|
+
<% if @drawing_supported %>
|
28
|
+
test_minus: draw(P, X)
|
29
|
+
rho_minus:
|
30
|
+
- has_no_bangs
|
31
|
+
<% end %>
|
32
|
+
# Since test_plus (or minus) is closely related to rho_plus (or minus), the rho may be ommited
|
33
|
+
test_plus: see(Enemy)
|
34
|
+
- may_not_have_bangs
|
35
|
+
|
36
|
+
|
37
|
+
# As you have guessed this goes to Behaviors.xml
|
38
|
+
!behaviors
|
39
|
+
|
40
|
+
name: JI plans
|
41
|
+
jason: has_no_bangs(P)
|
42
|
+
action: card_expectation(P, bang, 0)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ESBify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-04-07 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement: &
|
16
|
+
requirement: &70146838984560 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70146838984560
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: builder
|
27
|
-
requirement: &
|
27
|
+
requirement: &70146838984020 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70146838984020
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: erubis
|
38
|
-
requirement: &
|
38
|
+
requirement: &70146838983540 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70146838983540
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: fssm
|
49
|
-
requirement: &
|
49
|
+
requirement: &70146838982960 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70146838982960
|
58
58
|
description: Generates proper XML files for the ESB framework from a DSL.
|
59
59
|
email:
|
60
60
|
- honitom@seznam.cz
|
@@ -101,7 +101,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
101
101
|
version: '0'
|
102
102
|
segments:
|
103
103
|
- 0
|
104
|
-
hash:
|
104
|
+
hash: 3868887505309169675
|
105
105
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
106
106
|
none: false
|
107
107
|
requirements:
|
@@ -110,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
110
110
|
version: '0'
|
111
111
|
segments:
|
112
112
|
- 0
|
113
|
-
hash:
|
113
|
+
hash: 3868887505309169675
|
114
114
|
requirements: []
|
115
115
|
rubyforge_project: ESBify
|
116
116
|
rubygems_version: 1.8.6
|