dang 1.0.0.rc5 → 1.0.0.rc6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YzI4YjVhN2ZhYzk1NjE4NTY2ZGZiYWUwODk5MTE4Nzc0ZGQ3ZTMzYQ==
4
+ OTEyMDBmOGNiZDAzYTI2ODc2ODFlM2RiMDA5ZTJmMDhiZjc5N2NiNg==
5
5
  data.tar.gz: !binary |-
6
- Y2NkODI2OWY2YzUxNzQxMjhkNTZiNzllNTMyNjVlMjRkZGRkMjQ2Mw==
6
+ MTQ4NjczZDM4YTE3YjU5YWVlYTBmMDNiOGE2MDJkMzQ4ZTUwOWEzMA==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- MjUyNmM0NjRmNDVmOTJjZThjZTNkNjJhZDlmM2FlMTMyMjM0ZjBiYzc0NWYy
10
- OGMzOGMxOWQ1YTBlMzBkNDkxY2M5NDhmNTQ3ZDQ2N2ZlMWU3N2ZmYmQ5OTk5
11
- OGRiZmQzZDI1NWJkZWI3ODlkMmEwYjZmNmRkYzliN2M1MWU4NGU=
9
+ MDI5OTY1NGNiZjhmYjJmMjZiMDYwOTJlZjkzNjM1MWMwMmM4MDNiMmVlMmFh
10
+ MmYzMDIwZDYwMjJlYzM3ODVkYmQ2MWYxNzQwNDE1ZWVlZWEyNmZhNTEwYzY0
11
+ NWI5ZmRiM2Y1MmQwNzljYmNhNDQyMTJmYmViMjhkMTY0YTNlMTA=
12
12
  data.tar.gz: !binary |-
13
- NTI4ZTk5OGEwYTBiODA2ZWQzN2Q0ZWU1MTBiMTQ5NjYyMTBiMWExZTcxNDdm
14
- MzE4YzI1ZDFkMGYzNDE5NmFlMGMwZDAyZjRiMzllYzE5M2FkM2JmMjRlY2Jl
15
- ZjRhOTU2NDgzNWI2ZWQ2ZTVmMmMxMzVmZDgwYTUxN2ZmNjk0ZjQ=
13
+ NmM2MmM2ZTZmYjQwOGM0OWQ3MzY1OGM4ZjkzNzU0NmJhYTBlMTFiMWJhMDI3
14
+ MThkMzRmZTJjOTVhMzgwNmFmNmNkMzdhOTQ1NmNlMTViM2Y3NTlmNjFkZmU1
15
+ YzZhYzAzZjZlZDM5ODc2ZmIyMTQ3OTg2MWU0M2JkY2VjZjRjY2U=
data/README.md CHANGED
@@ -51,7 +51,7 @@ Or just a snippet of dang into html:
51
51
 
52
52
  ## Current Version
53
53
 
54
- 1.0.0.rc5
54
+ 1.0.0.rc6
55
55
 
56
56
 
57
57
  ## Requirements
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "dang"
5
- s.version = "1.0.0.rc5"
5
+ s.version = "1.0.0.rc6"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Shane Becker"]
@@ -3,7 +3,7 @@ require 'rubygems'
3
3
  require 'dang/parser'
4
4
 
5
5
  class Dang
6
- VERSION = '1.0.0.rc5'
6
+ VERSION = '1.0.0.rc6'
7
7
  CODENAME = 'Zoe'
8
8
 
9
9
  @filters = {}
@@ -164,7 +164,7 @@ doctype = "!!!" space* rest:r { @doctype = r.empty? ? "html" : r }
164
164
  end = name:n ">" { n }
165
165
  slash = - "/>"
166
166
 
167
- marker = start | "<!" | (- end)
167
+ marker = start | "<!" | "<=" | "<-" | (- end)
168
168
  chunk = < (!marker .)* > { text }
169
169
 
170
170
  rclose = "->"
@@ -391,7 +391,9 @@ class Dang::Parser
391
391
  DOC_TYPES[@doctype].dup
392
392
  end
393
393
 
394
- def compile
394
+ def output(env=nil)
395
+ doctype = html_doctype
396
+
395
397
  strings = @output.flatten.map do |i|
396
398
  case i
397
399
  when Literal
@@ -407,13 +409,9 @@ class Dang::Parser
407
409
  end
408
410
  end
409
411
 
410
- "_out = '';\n" + strings.join(";") + ";_out"
411
- end
412
+ code = "_out = '';\n" + strings.join(";") + ";_out"
412
413
 
413
- def output(env=nil)
414
- out = eval(compile, env || binding).strip
415
-
416
- doctype = html_doctype
414
+ out = eval(code, env || binding).strip
417
415
 
418
416
  if doctype.empty?
419
417
  str = out
@@ -860,7 +858,7 @@ class Dang::Parser
860
858
  return _tmp
861
859
  end
862
860
 
863
- # marker = (start | "<!" | - end)
861
+ # marker = (start | "<!" | "<=" | "<-" | - end)
864
862
  def _marker
865
863
 
866
864
  _save = self.pos
@@ -871,6 +869,12 @@ class Dang::Parser
871
869
  _tmp = match_string("<!")
872
870
  break if _tmp
873
871
  self.pos = _save
872
+ _tmp = match_string("<=")
873
+ break if _tmp
874
+ self.pos = _save
875
+ _tmp = match_string("<-")
876
+ break if _tmp
877
+ self.pos = _save
874
878
 
875
879
  _save1 = self.pos
876
880
  while true # sequence
@@ -2638,7 +2642,7 @@ class Dang::Parser
2638
2642
  Rules[:_pts] = rule_info("pts", "(space+ { \"\" } | < eol bs* > { text })")
2639
2643
  Rules[:_end] = rule_info("end", "name:n \">\" { n }")
2640
2644
  Rules[:_slash] = rule_info("slash", "- \"/>\"")
2641
- Rules[:_marker] = rule_info("marker", "(start | \"<!\" | - end)")
2645
+ Rules[:_marker] = rule_info("marker", "(start | \"<!\" | \"<=\" | \"<-\" | - end)")
2642
2646
  Rules[:_chunk] = rule_info("chunk", "< (!marker .)* > { text }")
2643
2647
  Rules[:_rclose] = rule_info("rclose", "\"->\"")
2644
2648
  Rules[:_ruby] = rule_info("ruby", "\"<-\" < (!rclose .)* > rclose { code(text, false) }")
@@ -32,8 +32,6 @@ class Dang
32
32
  # Always make sure we return a String in the default_internal
33
33
  dang.encode!
34
34
 
35
- puts "== Compiling #{dang}"
36
-
37
35
  parser = Dang::Parser.new(dang, true)
38
36
  unless parser.parse
39
37
  io = StringIO.new
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dang
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc5
4
+ version: 1.0.0.rc6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shane Becker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-09 00:00:00.000000000 Z
11
+ date: 2013-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  prerelease: false