plasma 0.1.1 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -7,7 +7,7 @@ require 'rake/gempackagetask'
7
7
 
8
8
  gemspec = Gem::Specification.new do |s|
9
9
  s.name = "plasma"
10
- s.version = "0.1.1"
10
+ s.version = "0.1.3"
11
11
  s.author = "Ryan Spangler"
12
12
  s.email = "patch_work8848@yahoo.com"
13
13
  s.homepage = "http://kaleidomedallion.com/plasma/"
data/bin/plasma CHANGED
File without changes
@@ -0,0 +1,24 @@
1
+ module Plasma
2
+ class PlasmaEngine
3
+ def self.compile_template(io, name, mod)
4
+ path = File.expand_path(io.path)
5
+ code = io.read.gsub(/"/, '\"')
6
+ plasma = <<-interpret
7
+ def #{name}
8
+ Plasma::Interpreter.interpret("#{code}")
9
+ end
10
+ interpret
11
+
12
+ m = mod.is_a?(Module) ? :module_eval : :instance_eval
13
+ mod.__send__(m, plasma, path || '(plasma)')
14
+ name
15
+ end
16
+
17
+ module Mixin
18
+ def concat_plasma(string, binding)
19
+
20
+ end
21
+ end
22
+ end
23
+ end
24
+
@@ -21,4 +21,6 @@ class PlasmaView
21
21
  end
22
22
 
23
23
 
24
-
24
+ ###
25
+ ### 33 + 888 * 38838 = 34488177
26
+ ###
@@ -9,5 +9,19 @@ PLASMA_TEST = File.join(PLASMA_PACKAGE_ROOT, 'test')
9
9
 
10
10
  require File.join(PLASMA_ROOT, 'interpreter')
11
11
  require File.join(PLASMA_LIB, 'extras/plasma_view')
12
+ require File.join(PLASMA_LIB, 'extras/plasma_engine')
12
13
 
13
14
  $LOAD_PATH.unshift(dir)
15
+
16
+ module Plasma
17
+ module Interpreter
18
+ PLASMA = PlasmaInterpreter.new
19
+
20
+ def self.interpret(code, env=nil)
21
+ PLASMA.interpret(code, env)
22
+ end
23
+ end
24
+ end
25
+
26
+
27
+
@@ -160,6 +160,12 @@ module Plasma
160
160
  class FailedToParseException < Exception
161
161
  end
162
162
 
163
+ class Treetop::Runtime::SyntaxNode
164
+ def to_s
165
+ text_value
166
+ end
167
+ end
168
+
163
169
  class PlasmaNode < Treetop::Runtime::SyntaxNode
164
170
  def evaluate(env)
165
171
  orb.evaluate(env)
@@ -186,12 +192,6 @@ module Plasma
186
192
  end
187
193
  end
188
194
 
189
- class Treetop::Runtime::SyntaxNode
190
- def to_s
191
- text_value
192
- end
193
- end
194
-
195
195
  class TemplateNode < PlasmaNode
196
196
  def evaluate(env)
197
197
  value = body.empty? ? '' : body.elements.inject('') do |so_far, el|
@@ -368,10 +368,10 @@ module Plasma
368
368
 
369
369
  class NumNode < PlasmaNode
370
370
  def evaluate(env)
371
- if self.respond_to?(:decimal)
372
- text_value.to_f
373
- else
371
+ if self.decimal.empty?
374
372
  text_value.to_i
373
+ else
374
+ text_value.to_f
375
375
  end
376
376
  end
377
377
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plasma
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Spangler
@@ -9,11 +9,12 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-08-18 00:00:00 -07:00
12
+ date: 2008-09-24 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: treetop
17
+ type: :runtime
17
18
  version_requirement:
18
19
  version_requirements: !ruby/object:Gem::Requirement
19
20
  requirements:
@@ -41,6 +42,7 @@ files:
41
42
  - test/template_test.plasma
42
43
  - test/template_test.rb
43
44
  - lib/extras
45
+ - lib/extras/plasma_engine.rb
44
46
  - lib/extras/plasma_view.rb
45
47
  - lib/plasma
46
48
  - lib/plasma/include
@@ -81,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
83
  requirements: []
82
84
 
83
85
  rubyforge_project: plasma
84
- rubygems_version: 1.0.1
86
+ rubygems_version: 1.2.0
85
87
  signing_key:
86
88
  specification_version: 2
87
89
  summary: plasma --- a lightweight interpreted templating language in treetop and ruby