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.
@@ -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
- m = section.match /\A(expectation|behaviou?r|strateg(?:y|ie))s?/
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")
@@ -1,3 +1,3 @@
1
1
  module ESBify
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
data/test.esb CHANGED
@@ -1,16 +1,42 @@
1
- !expectation
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
- condition: played(1) & played(2)
7
- ----
8
- name: has_no_bangs
9
- condition: requires_bang_response(P) | has_no_bangs(P)
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
- test_expectation:
14
- condition: a
15
- test_plus: a(b) & c(d)
16
- + has_no_bangs
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.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: &70218565146640 !ruby/object:Gem::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: *70218565146640
24
+ version_requirements: *70146838984560
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: builder
27
- requirement: &70218565146140 !ruby/object:Gem::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: *70218565146140
35
+ version_requirements: *70146838984020
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: erubis
38
- requirement: &70218565145640 !ruby/object:Gem::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: *70218565145640
46
+ version_requirements: *70146838983540
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: fssm
49
- requirement: &70218565145060 !ruby/object:Gem::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: *70218565145060
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: 1348258640709416010
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: 1348258640709416010
113
+ hash: 3868887505309169675
114
114
  requirements: []
115
115
  rubyforge_project: ESBify
116
116
  rubygems_version: 1.8.6