ESBify 0.1.1 → 0.1.2
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/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
|