mote 0.2.4 → 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. data/README.md +2 -0
  2. data/bin/mote +2 -0
  3. data/lib/mote.rb +5 -5
  4. data/test/mote_test.rb +4 -6
  5. metadata +7 -7
data/README.md CHANGED
@@ -66,6 +66,8 @@ assert_equal "Hello world", example.call(name: "world")
66
66
  assert_equal "Hello Bruno", example.call(name: "Bruno")
67
67
  ```
68
68
 
69
+ Please note that the keys in the parameters hash must be symbols.
70
+
69
71
  # Helpers
70
72
 
71
73
  There's a helper available in the `Mote::Helpers` module, and you are
data/bin/mote CHANGED
@@ -1,3 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
1
3
  help = <<-EOS
2
4
  MOTE(1)
3
5
 
data/lib/mote.rb CHANGED
@@ -18,11 +18,11 @@
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
19
  # THE SOFTWARE.
20
20
  class Mote
21
- VERSION = "0.2.4"
21
+ VERSION = "1.0.0.rc1"
22
22
 
23
23
  PATTERN = /^\s*(%)(.*?)$|(<\?)\s+(.*?)\s+\?>|(\{\{)(.*?)\}\}/m
24
24
 
25
- def self.parse(template, context = self, vars = [])
25
+ def self.parse(template, vars = [])
26
26
  terms = template.split(PATTERN)
27
27
 
28
28
  parts = "Proc.new do |params, __o|\n params ||= {}; __o ||= ''\n"
@@ -42,16 +42,16 @@ class Mote
42
42
 
43
43
  parts << "__o; end"
44
44
 
45
- compile(context, parts)
45
+ compile(TOPLEVEL_BINDING, parts)
46
46
  end
47
47
 
48
48
  def self.compile(context, parts)
49
- context.instance_eval(parts)
49
+ context.eval(parts)
50
50
  end
51
51
 
52
52
  module Helpers
53
53
  def mote(filename, params = {})
54
- mote_cache[filename] ||= Mote.parse(File.read(filename), self, params.keys)
54
+ mote_cache[filename] ||= Mote.parse(File.read(filename), params.keys)
55
55
  mote_cache[filename][params]
56
56
  end
57
57
 
data/test/mote_test.rb CHANGED
@@ -65,16 +65,14 @@ scope do
65
65
 
66
66
  test "context" do
67
67
  context = Object.new
68
- context.instance_variable_set(:@user, "Bruno")
68
+ def context.user; "Bruno"; end
69
69
 
70
- example = Mote.parse("{{ @user }}", context)
71
- assert_equal "Bruno", example.call
70
+ example = Mote.parse("{{ context.user }}", [:context])
71
+ assert_equal "Bruno", example.call(context: context)
72
72
  end
73
73
 
74
74
  test "locals" do
75
- context = Object.new
76
-
77
- example = Mote.parse("{{ user }}", context, [:user])
75
+ example = Mote.parse("{{ user }}", [:user])
78
76
  assert_equal "Bruno", example.call(user: "Bruno")
79
77
  end
80
78
 
metadata CHANGED
@@ -1,19 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mote
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
5
- prerelease:
4
+ version: 1.0.0.rc1
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Michel Martens
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-26 00:00:00.000000000 Z
12
+ date: 2012-07-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cutest
16
- requirement: &2156041580 !ruby/object:Gem::Requirement
16
+ requirement: &2152390280 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *2156041580
24
+ version_requirements: *2152390280
25
25
  description: Mote is a very simple and fast template engine.
26
26
  email:
27
27
  - michel@soveran.com
@@ -54,9 +54,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
54
54
  required_rubygems_version: !ruby/object:Gem::Requirement
55
55
  none: false
56
56
  requirements:
57
- - - ! '>='
57
+ - - ! '>'
58
58
  - !ruby/object:Gem::Version
59
- version: '0'
59
+ version: 1.3.1
60
60
  requirements: []
61
61
  rubyforge_project:
62
62
  rubygems_version: 1.8.11