sanford-nm 0.1.0 → 0.2.0
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.
- data/Gemfile +1 -1
- data/README.md +2 -2
- data/lib/sanford-nm/version.rb +1 -1
- data/lib/sanford-nm.rb +9 -2
- data/sanford-nm.gemspec +3 -3
- data/test/helper.rb +2 -2
- data/test/support/factory.rb +3 -2
- data/test/support/template.json.nm +1 -0
- data/test/unit/template_engine_tests.rb +13 -3
- metadata +13 -12
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
# Sanford::Nm
|
|
2
2
|
|
|
3
|
-
Sanford
|
|
3
|
+
[Sanford](https://github.com/redding/sanford) template engine for rendering [Nm](https://github.com/redding/nm) templates
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
7
7
|
Register the engine:
|
|
8
8
|
|
|
9
9
|
```ruby
|
|
10
|
-
# in config/services.rb or wherever
|
|
11
10
|
require 'sanford'
|
|
12
11
|
require 'sanford-nm'
|
|
13
12
|
|
|
@@ -31,6 +30,7 @@ Nm doesn't allow overriding the template scope but instead allows you to pass in
|
|
|
31
30
|
s.engine 'nm', Sanford::Nm::TemplateEngine, 'handler_local' => 'service_handler'
|
|
32
31
|
end
|
|
33
32
|
```
|
|
33
|
+
|
|
34
34
|
## Installation
|
|
35
35
|
|
|
36
36
|
Add this line to your application's Gemfile:
|
data/lib/sanford-nm/version.rb
CHANGED
data/lib/sanford-nm.rb
CHANGED
|
@@ -6,16 +6,23 @@ module Sanford::Nm
|
|
|
6
6
|
|
|
7
7
|
class TemplateEngine < Sanford::TemplateEngine
|
|
8
8
|
|
|
9
|
-
DEFAULT_HANDLER_LOCAL = 'view'
|
|
9
|
+
DEFAULT_HANDLER_LOCAL = 'view'.freeze
|
|
10
|
+
DEFAULT_LOGGER_LOCAL = 'logger'.freeze
|
|
10
11
|
|
|
11
12
|
def nm_source
|
|
12
|
-
@nm_source ||= Nm::Source.new(self.source_path
|
|
13
|
+
@nm_source ||= Nm::Source.new(self.source_path, {
|
|
14
|
+
self.nm_logger_local => self.logger
|
|
15
|
+
})
|
|
13
16
|
end
|
|
14
17
|
|
|
15
18
|
def nm_handler_local
|
|
16
19
|
@nm_handler_local ||= (self.opts['handler_local'] || DEFAULT_HANDLER_LOCAL)
|
|
17
20
|
end
|
|
18
21
|
|
|
22
|
+
def nm_logger_local
|
|
23
|
+
@nm_logger_local ||= (self.opts['logger_local'] || DEFAULT_LOGGER_LOCAL)
|
|
24
|
+
end
|
|
25
|
+
|
|
19
26
|
def render(path, service_handler, locals)
|
|
20
27
|
self.nm_source.render(path, render_locals(service_handler, locals))
|
|
21
28
|
end
|
data/sanford-nm.gemspec
CHANGED
|
@@ -18,9 +18,9 @@ Gem::Specification.new do |gem|
|
|
|
18
18
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
|
19
19
|
gem.require_paths = ["lib"]
|
|
20
20
|
|
|
21
|
-
gem.add_development_dependency("assert", ["~> 2.
|
|
21
|
+
gem.add_development_dependency("assert", ["~> 2.12"])
|
|
22
22
|
|
|
23
|
-
gem.add_dependency("sanford", ["~> 0.
|
|
24
|
-
gem.add_dependency("nm")
|
|
23
|
+
gem.add_dependency("sanford", ["~> 0.12"])
|
|
24
|
+
gem.add_dependency("nm", ["~> 0.4"])
|
|
25
25
|
|
|
26
26
|
end
|
data/test/helper.rb
CHANGED
|
@@ -7,7 +7,7 @@ $LOAD_PATH.unshift(File.expand_path("../..", __FILE__))
|
|
|
7
7
|
# require pry for debugging (`binding.pry`)
|
|
8
8
|
require 'pry'
|
|
9
9
|
|
|
10
|
+
require 'test/support/factory'
|
|
11
|
+
|
|
10
12
|
require 'pathname'
|
|
11
13
|
TEST_SUPPORT_PATH = Pathname.new(File.expand_path('../support', __FILE__))
|
|
12
|
-
|
|
13
|
-
require 'test/support/factory'
|
data/test/support/factory.rb
CHANGED
|
@@ -3,11 +3,12 @@ require 'assert/factory'
|
|
|
3
3
|
module Factory
|
|
4
4
|
extend Assert::Factory
|
|
5
5
|
|
|
6
|
-
def self.template_json_rendered(service_handler, locals)
|
|
6
|
+
def self.template_json_rendered(engine, service_handler, locals)
|
|
7
7
|
{ 'thing' => {
|
|
8
8
|
'id' => service_handler.identifier,
|
|
9
9
|
'name' => service_handler.name,
|
|
10
|
-
'local1' => locals['local1']
|
|
10
|
+
'local1' => locals['local1'],
|
|
11
|
+
'logger' => engine.logger.to_s
|
|
11
12
|
}
|
|
12
13
|
}
|
|
13
14
|
end
|
|
@@ -15,11 +15,11 @@ class Sanford::Nm::TemplateEngine
|
|
|
15
15
|
end
|
|
16
16
|
subject{ @engine }
|
|
17
17
|
|
|
18
|
-
should have_imeths :nm_source, :nm_handler_local
|
|
18
|
+
should have_imeths :nm_source, :nm_handler_local, :nm_logger_local
|
|
19
|
+
should have_imeths :render
|
|
19
20
|
|
|
20
21
|
should "be a Sanford template engine" do
|
|
21
22
|
assert_kind_of Sanford::TemplateEngine, subject
|
|
22
|
-
assert_respond_to 'render', subject
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
should "memoize its Nm source" do
|
|
@@ -38,13 +38,23 @@ class Sanford::Nm::TemplateEngine
|
|
|
38
38
|
assert_equal handler_local, engine.nm_handler_local
|
|
39
39
|
end
|
|
40
40
|
|
|
41
|
+
should "use 'logger' as the logger local name by default" do
|
|
42
|
+
assert_equal 'logger', subject.nm_logger_local
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
should "allow custom logger local names" do
|
|
46
|
+
logger_local = Factory.string
|
|
47
|
+
engine = Sanford::Nm::TemplateEngine.new('logger_local' => logger_local)
|
|
48
|
+
assert_equal logger_local, engine.nm_logger_local
|
|
49
|
+
end
|
|
50
|
+
|
|
41
51
|
should "render nm template files" do
|
|
42
52
|
service_handler = OpenStruct.new({
|
|
43
53
|
:identifier => Factory.integer,
|
|
44
54
|
:name => Factory.string
|
|
45
55
|
})
|
|
46
56
|
locals = { 'local1' => Factory.string }
|
|
47
|
-
exp = Factory.template_json_rendered(service_handler, locals)
|
|
57
|
+
exp = Factory.template_json_rendered(subject, service_handler, locals)
|
|
48
58
|
|
|
49
59
|
assert_equal exp, subject.render('template.json', service_handler, locals)
|
|
50
60
|
end
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sanford-nm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 23
|
|
5
5
|
prerelease:
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
|
-
-
|
|
8
|
+
- 2
|
|
9
9
|
- 0
|
|
10
|
-
version: 0.
|
|
10
|
+
version: 0.2.0
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Kelly Redding
|
|
@@ -16,7 +16,7 @@ autorequire:
|
|
|
16
16
|
bindir: bin
|
|
17
17
|
cert_chain: []
|
|
18
18
|
|
|
19
|
-
date: 2014-
|
|
19
|
+
date: 2014-12-08 00:00:00 Z
|
|
20
20
|
dependencies:
|
|
21
21
|
- !ruby/object:Gem::Dependency
|
|
22
22
|
requirement: &id001 !ruby/object:Gem::Requirement
|
|
@@ -24,11 +24,11 @@ dependencies:
|
|
|
24
24
|
requirements:
|
|
25
25
|
- - ~>
|
|
26
26
|
- !ruby/object:Gem::Version
|
|
27
|
-
hash:
|
|
27
|
+
hash: 27
|
|
28
28
|
segments:
|
|
29
29
|
- 2
|
|
30
|
-
-
|
|
31
|
-
version: "2.
|
|
30
|
+
- 12
|
|
31
|
+
version: "2.12"
|
|
32
32
|
type: :development
|
|
33
33
|
name: assert
|
|
34
34
|
version_requirements: *id001
|
|
@@ -39,11 +39,11 @@ dependencies:
|
|
|
39
39
|
requirements:
|
|
40
40
|
- - ~>
|
|
41
41
|
- !ruby/object:Gem::Version
|
|
42
|
-
hash:
|
|
42
|
+
hash: 19
|
|
43
43
|
segments:
|
|
44
44
|
- 0
|
|
45
|
-
-
|
|
46
|
-
version: "0.
|
|
45
|
+
- 12
|
|
46
|
+
version: "0.12"
|
|
47
47
|
type: :runtime
|
|
48
48
|
name: sanford
|
|
49
49
|
version_requirements: *id002
|
|
@@ -52,12 +52,13 @@ dependencies:
|
|
|
52
52
|
requirement: &id003 !ruby/object:Gem::Requirement
|
|
53
53
|
none: false
|
|
54
54
|
requirements:
|
|
55
|
-
- -
|
|
55
|
+
- - ~>
|
|
56
56
|
- !ruby/object:Gem::Version
|
|
57
57
|
hash: 3
|
|
58
58
|
segments:
|
|
59
59
|
- 0
|
|
60
|
-
|
|
60
|
+
- 4
|
|
61
|
+
version: "0.4"
|
|
61
62
|
type: :runtime
|
|
62
63
|
name: nm
|
|
63
64
|
version_requirements: *id003
|