mustache_render 0.0.21 → 0.0.22
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +22 -0
- data/lib/generators/mustache_render/install/templates/active_record/migration.rb +65 -0
- data/lib/generators/mustache_render/install/templates/config/initializers/mustache_render.rb +8 -14
- data/lib/generators/mustache_render/install/templates/models/active_record/mustache_render_folder.rb +6 -0
- data/lib/generators/mustache_render/install/templates/models/active_record/mustache_render_manager.rb +6 -0
- data/lib/generators/mustache_render/install/templates/models/active_record/mustache_render_template.rb +6 -0
- data/lib/generators/mustache_render/install/templates/models/active_record/mustache_render_template_version.rb +6 -0
- data/lib/generators/mustache_render/install_generator.rb +14 -2
- data/lib/mustache_render.rb +5 -14
- data/lib/mustache_render/ables.rb +7 -0
- data/lib/mustache_render/ables/render_able.rb +161 -0
- data/lib/mustache_render/config.rb +24 -62
- data/lib/mustache_render/errors.rb +5 -0
- data/lib/mustache_render/errors/mustache_template_miss_error.rb +6 -0
- data/lib/mustache_render/mustache.rb +85 -79
- data/lib/mustache_render/mustache/data.rb +155 -61
- data/lib/mustache_render/mustache/parser.rb +0 -4
- data/lib/mustache_render/mustache/template.rb +2 -7
- data/lib/mustache_render/populator.rb +7 -0
- data/lib/mustache_render/utils.rb +15 -0
- data/lib/mustache_render/{core_ext/base_controller_ext.rb → utils/action_controller_util.rb} +7 -6
- data/lib/mustache_render/utils/array_util.rb +15 -0
- data/lib/mustache_render/utils/fields_filter_util.rb +127 -0
- data/lib/mustache_render/version.rb +1 -1
- data/spec/lib/ables/render_able_spec.rb +183 -0
- data/spec/lib/mustache/basic_render_spec.rb +26 -1
- data/spec/lib/mustache/data_spec.rb +5 -5
- data/spec/lib/mustache/file_render_spec.rb +11 -2
- data/spec/lib/resources/templates/mustache_render_ables/1.mustache +11 -0
- data/spec/lib/utils/field_filter_spec.rb +71 -0
- data/spec/spec_helper.rb +0 -21
- metadata +69 -59
- data/README.md +0 -23
- data/lib/mustache_render/adapter.rb +0 -75
- data/lib/mustache_render/populator_base.rb +0 -88
- data/spec/lib/config_spec.rb +0 -14
- data/spec/lib/resources/templates/basic/8.mustache +0 -1
@@ -22,14 +22,14 @@ describe 'MustacheRender Mustache Data' do
|
|
22
22
|
data.render('{{#a}}a:{{a}} b:{{b}}{{/a}}').should == "a:1 b:2a:10 b:20"
|
23
23
|
end
|
24
24
|
|
25
|
-
it '所有的key
|
25
|
+
it '所有的key转为symbol' do
|
26
26
|
data[:a] = 'b'
|
27
|
-
data.inspect.should == "{
|
27
|
+
data.inspect.should == "{\:a=>\"b\"}"
|
28
28
|
end
|
29
29
|
|
30
30
|
it '当为数组的时候,每个元素也许要进行key字符串化' do
|
31
31
|
data.b.c = [{:a => 'a', 'b' => 'b'}]
|
32
|
-
data.
|
32
|
+
data.should == {:b=>{:c=>[{:a=>"a", "b"=>"b"}]}}
|
33
33
|
end
|
34
34
|
|
35
35
|
it '基本赋值方法' do
|
@@ -38,8 +38,8 @@ describe 'MustacheRender Mustache Data' do
|
|
38
38
|
:name => 'a'
|
39
39
|
}
|
40
40
|
|
41
|
-
data.inspect.should == "{
|
42
|
-
data.site.inspect.should == "{
|
41
|
+
data.inspect.should == "{:site=>{:name=>\"a\"}}"
|
42
|
+
data.site.inspect.should == "{:name=>\"a\"}"
|
43
43
|
end
|
44
44
|
|
45
45
|
it '取值类型为数组' do
|
@@ -1,8 +1,17 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
1
|
require 'spec_helper'
|
3
2
|
|
4
|
-
describe 'MustacheRender::Mustache.
|
3
|
+
describe 'MustacheRender::Mustache.db_render' do
|
5
4
|
before :each do
|
5
|
+
MustacheRender.configure do |config|
|
6
|
+
config.file_template_root_path = ROOT_PATH + '/resources/templates'
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'file render generate template value' do
|
11
|
+
fr = MustacheRender::Mustache.new
|
12
|
+
|
13
|
+
result = fr.render "{{render}}:{{context}}", {:render => 'render', :context => 'context'}
|
14
|
+
result.should == "render:context"
|
6
15
|
end
|
7
16
|
|
8
17
|
it 'template scan_tags test' do
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe ::MustacheRender::FieldsFilterUtil do
|
5
|
+
it 'parse_rules' do
|
6
|
+
start = Time.now
|
7
|
+
|
8
|
+
util = ::MustacheRender::FieldsFilterUtil.new
|
9
|
+
util.empty?.should be_true
|
10
|
+
|
11
|
+
util = ::MustacheRender::FieldsFilterUtil.new(
|
12
|
+
:default => {
|
13
|
+
:deals => [
|
14
|
+
{
|
15
|
+
:name => true,
|
16
|
+
:age => false
|
17
|
+
}
|
18
|
+
],
|
19
|
+
:shop => {
|
20
|
+
:name => true
|
21
|
+
}
|
22
|
+
}
|
23
|
+
)
|
24
|
+
util.empty?.should be_false
|
25
|
+
|
26
|
+
util.load(:default_missing).empty?.should be_true
|
27
|
+
util.load(:default).empty?.should be_false
|
28
|
+
|
29
|
+
(1..10000).each do |i|
|
30
|
+
# 传递数组类型的效率要差!
|
31
|
+
util.match?([:default, :deals]).should be_true
|
32
|
+
util.match?([:default, :deals_missing]).should be_false
|
33
|
+
|
34
|
+
util.hit?("default").should be_true
|
35
|
+
util.match?("default#deals").should be_true
|
36
|
+
util.match?("default#deals_missing").should be_false
|
37
|
+
|
38
|
+
util.load(:default).empty?.should be_false
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
(Time.now - start).should < 0.5
|
43
|
+
|
44
|
+
# rules = ::MustacheRender::FieldsFilterUtil.new(
|
45
|
+
# :shop => {
|
46
|
+
# :name => true,
|
47
|
+
# :address => false
|
48
|
+
# }
|
49
|
+
# ).rules
|
50
|
+
# rules.should == {"shop#name"=>true, "shop#address"=>false}
|
51
|
+
|
52
|
+
# rules = ::MustacheRender::FieldsFilterUtil.new(
|
53
|
+
# :shop => {
|
54
|
+
# :deal => :wap,
|
55
|
+
# :name => false,
|
56
|
+
# :address => false,
|
57
|
+
# :nice? => false,
|
58
|
+
# :hello! => true,
|
59
|
+
# :like? => false
|
60
|
+
# },
|
61
|
+
# :deal => {
|
62
|
+
# :urls => {
|
63
|
+
# :www => true,
|
64
|
+
# :wap => false
|
65
|
+
# }
|
66
|
+
# }
|
67
|
+
# ).rules
|
68
|
+
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
data/spec/spec_helper.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
1
|
require 'mustache_render'
|
3
2
|
|
4
|
-
|
5
3
|
ROOT_PATH = File.dirname(__FILE__) + '/lib'
|
6
4
|
|
7
5
|
# -*- encoding : utf-8 -*-
|
@@ -19,27 +17,8 @@ MustacheRender.configure do |config|
|
|
19
17
|
# 当字段缺少的时候是否抛出异常
|
20
18
|
config.raise_on_context_miss = false
|
21
19
|
|
22
|
-
# 当文件模板不存在时候是否抛出异常
|
23
|
-
config.raise_on_file_template_miss = true
|
24
|
-
|
25
20
|
# config.logger = Rails.logger
|
26
21
|
|
27
22
|
config.logger.level = Logger::INFO
|
28
23
|
|
29
|
-
### 模板的相关配置 ###########################
|
30
|
-
# 缓存的媒介
|
31
|
-
# config.cache_store = Rails.cache
|
32
|
-
|
33
|
-
# 版本适配器的配置
|
34
|
-
config.adapter_configure do |adapter|
|
35
|
-
|
36
|
-
end
|
37
|
-
|
38
|
-
# config.manage_center_need_login = true
|
39
|
-
config.manage_center_need_login = false
|
40
|
-
config.user_login_url = '/login'
|
41
|
-
config.manager_authenticate_fail_url = '/auth_fail'
|
42
24
|
end
|
43
|
-
|
44
|
-
|
45
|
-
|
metadata
CHANGED
@@ -1,114 +1,124 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: mustache_render
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 21
|
10
|
-
version: 0.0.21
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.22
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- happy
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
12
|
+
date: 2013-03-14 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: awesome_nested_set
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: sqlite3
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
33
38
|
type: :development
|
34
|
-
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
35
46
|
description: Description of MustacheRender.
|
36
|
-
email:
|
47
|
+
email:
|
37
48
|
- andywang7259@gmail.com
|
38
49
|
executables: []
|
39
|
-
|
40
50
|
extensions: []
|
41
|
-
|
42
51
|
extra_rdoc_files: []
|
43
|
-
|
44
|
-
files:
|
52
|
+
files:
|
45
53
|
- lib/mustache_render.rb
|
46
54
|
- lib/tasks/mustache_render_tasks.rake
|
47
55
|
- lib/generators/mustache_render/install_generator.rb
|
56
|
+
- lib/generators/mustache_render/install/templates/active_record/migration.rb
|
48
57
|
- lib/generators/mustache_render/install/templates/config/initializers/mustache_render.rb
|
58
|
+
- lib/generators/mustache_render/install/templates/models/active_record/mustache_render_folder.rb
|
59
|
+
- lib/generators/mustache_render/install/templates/models/active_record/mustache_render_manager.rb
|
60
|
+
- lib/generators/mustache_render/install/templates/models/active_record/mustache_render_template.rb
|
61
|
+
- lib/generators/mustache_render/install/templates/models/active_record/mustache_render_template_version.rb
|
62
|
+
- lib/mustache_render/ables/render_able.rb
|
49
63
|
- lib/mustache_render/mustache/generator.rb
|
50
64
|
- lib/mustache_render/mustache/context.rb
|
51
65
|
- lib/mustache_render/mustache/template.rb
|
52
66
|
- lib/mustache_render/mustache/parser.rb
|
53
67
|
- lib/mustache_render/mustache/data.rb
|
68
|
+
- lib/mustache_render/utils/fields_filter_util.rb
|
69
|
+
- lib/mustache_render/utils/array_util.rb
|
70
|
+
- lib/mustache_render/utils/action_controller_util.rb
|
54
71
|
- lib/mustache_render/mustache.rb
|
55
72
|
- lib/mustache_render/config.rb
|
56
|
-
- lib/mustache_render/
|
73
|
+
- lib/mustache_render/utils.rb
|
57
74
|
- lib/mustache_render/version.rb
|
58
|
-
- lib/mustache_render/
|
59
|
-
- lib/mustache_render/
|
75
|
+
- lib/mustache_render/errors/mustache_template_miss_error.rb
|
76
|
+
- lib/mustache_render/populator.rb
|
77
|
+
- lib/mustache_render/errors.rb
|
78
|
+
- lib/mustache_render/ables.rb
|
79
|
+
- spec/lib/ables/render_able_spec.rb
|
60
80
|
- spec/lib/mustache/data_spec.rb
|
61
81
|
- spec/lib/mustache/file_render_spec.rb
|
62
82
|
- spec/lib/mustache/basic_render_spec.rb
|
63
|
-
- spec/lib/
|
83
|
+
- spec/lib/utils/field_filter_spec.rb
|
64
84
|
- spec/lib/resources/templates/basic/6.mustache
|
65
85
|
- spec/lib/resources/templates/basic/2.mustache
|
66
86
|
- spec/lib/resources/templates/basic/1.mustache
|
67
87
|
- spec/lib/resources/templates/basic/7.mustache
|
68
88
|
- spec/lib/resources/templates/basic/3.mustache
|
69
|
-
- spec/lib/resources/templates/basic/8.mustache
|
70
89
|
- spec/lib/resources/templates/basic/5.mustache
|
71
90
|
- spec/lib/resources/templates/basic/4.mustache
|
72
91
|
- spec/lib/resources/templates/scan_tags/2.mustache
|
73
92
|
- spec/lib/resources/templates/scan_tags/1.mustache
|
74
93
|
- spec/lib/resources/templates/scan_tags/3.mustache
|
94
|
+
- spec/lib/resources/templates/mustache_render_ables/1.mustache
|
75
95
|
- spec/spec_helper.rb
|
76
96
|
- MIT-LICENSE
|
77
97
|
- Rakefile
|
78
|
-
- README.
|
79
|
-
has_rdoc: true
|
98
|
+
- README.rdoc
|
80
99
|
homepage: http://blogsoso.net/
|
81
100
|
licenses: []
|
82
|
-
|
83
101
|
post_install_message:
|
84
102
|
rdoc_options: []
|
85
|
-
|
86
|
-
require_paths:
|
103
|
+
require_paths:
|
87
104
|
- lib
|
88
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
105
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
89
106
|
none: false
|
90
|
-
requirements:
|
91
|
-
- -
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
|
94
|
-
|
95
|
-
- 0
|
96
|
-
version: "0"
|
97
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ! '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
98
112
|
none: false
|
99
|
-
requirements:
|
100
|
-
- -
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
|
103
|
-
segments:
|
104
|
-
- 0
|
105
|
-
version: "0"
|
113
|
+
requirements:
|
114
|
+
- - ! '>='
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0'
|
106
117
|
requirements: []
|
107
|
-
|
108
118
|
rubyforge_project:
|
109
|
-
rubygems_version: 1.
|
119
|
+
rubygems_version: 1.8.24
|
110
120
|
signing_key:
|
111
121
|
specification_version: 3
|
112
122
|
summary: Summary of MustacheRender.
|
113
123
|
test_files: []
|
114
|
-
|
124
|
+
has_rdoc:
|
data/README.md
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
# MustacheRender
|
2
|
-
|
3
|
-
This project rocks and uses MIT-LICENSE.
|
4
|
-
|
5
|
-
## Rails 3.1.x
|
6
|
-
|
7
|
-
routes
|
8
|
-
|
9
|
-
``` ruby
|
10
|
-
Raily::Application.routes.draw do
|
11
|
-
::MustacheRender.adapter.manage_route_adapter self
|
12
|
-
end
|
13
|
-
```
|
14
|
-
|
15
|
-
install:
|
16
|
-
|
17
|
-
``` console
|
18
|
-
rails g mustache_render:migration:install
|
19
|
-
```
|
20
|
-
|
21
|
-
## 使用方法
|
22
|
-
|
23
|
-
|
@@ -1,75 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
module MustacheRender
|
3
|
-
#
|
4
|
-
# MustacheRender的适配器
|
5
|
-
#
|
6
|
-
class << self
|
7
|
-
def adapter
|
8
|
-
@adapter ||= Adapter.new
|
9
|
-
end
|
10
|
-
|
11
|
-
def adapter_configure
|
12
|
-
yield(@adapter ||= Adapter.new)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
class Adapter
|
17
|
-
def initialize
|
18
|
-
end
|
19
|
-
|
20
|
-
############# routes ##########################################
|
21
|
-
def manage_route_adapter(router)
|
22
|
-
if rails_2?
|
23
|
-
router.namespace :mustache_render do |render|
|
24
|
-
render.namespace :manage do |manage|
|
25
|
-
manage.resources :folders do |folder|
|
26
|
-
folder.resources :templates, :only => [:show, :new, :edit, :update, :create, :destroy] do |template|
|
27
|
-
template.resources :template_versions, :only => [:show, :index, :destroy, :update, :edit], :member => {
|
28
|
-
:revert => :post
|
29
|
-
}
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
elsif rails_3?
|
35
|
-
router.namespace :mustache_render do
|
36
|
-
router.namespace :manage do
|
37
|
-
router.resources :folders do
|
38
|
-
router.resources :templates, :only => [:show, :new, :edit, :update, :create, :destroy] do |template|
|
39
|
-
router.resources :template_versions, :only => [:show, :index, :destroy, :update, :edit] do
|
40
|
-
router.member do
|
41
|
-
router.post :revert
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
################## after about rails ##########################
|
52
|
-
def rails?
|
53
|
-
defined?(Rails)
|
54
|
-
end
|
55
|
-
|
56
|
-
def rails_version
|
57
|
-
return @rails_version if defined?(@rails_version)
|
58
|
-
|
59
|
-
@rails_version = if rails?
|
60
|
-
Rails.version
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
def rails_3?
|
65
|
-
return @rails_3 if defined?(@rails_3)
|
66
|
-
|
67
|
-
@rails_3 = (rails? && rails_version > '3.0.0')
|
68
|
-
end
|
69
|
-
|
70
|
-
def rails_2?
|
71
|
-
return @rails_2 if defined?(@rails_2)
|
72
|
-
@rails_2 = (rails? && rails_version > '2.0.0' && rails_version < '3.0.0')
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|