dang 1.0.0.rc5 → 1.0.0.rc6

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.
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