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 CHANGED
@@ -3,7 +3,7 @@ source "https://rubygems.org"
3
3
  gemspec
4
4
 
5
5
  gem 'rake'
6
- gem 'pry'
6
+ gem 'pry', "~> 0.9.0"
7
7
  gem 'bson_ext'
8
8
 
9
9
  platform :rbx do
data/README.md CHANGED
@@ -1,13 +1,12 @@
1
1
  # Sanford::Nm
2
2
 
3
- Sanford [template engine](https://github.com/redding/sanford) for rendering [Nm](https://github.com/redding/nm) templates
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:
@@ -1,4 +1,4 @@
1
1
  module Sanford; end
2
2
  module Sanford::Nm
3
- VERSION = "0.1.0"
3
+ VERSION = "0.2.0"
4
4
  end
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.10"])
21
+ gem.add_development_dependency("assert", ["~> 2.12"])
22
22
 
23
- gem.add_dependency("sanford", ["~> 0.10"])
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'
@@ -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
@@ -2,4 +2,5 @@ node('thing') {
2
2
  node('id', view.identifier)
3
3
  node('name', view.name)
4
4
  node('local1', local1)
5
+ node('logger', logger.to_s)
5
6
  }
@@ -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: 27
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 1
8
+ - 2
9
9
  - 0
10
- version: 0.1.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-06-11 00:00:00 Z
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: 23
27
+ hash: 27
28
28
  segments:
29
29
  - 2
30
- - 10
31
- version: "2.10"
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: 31
42
+ hash: 19
43
43
  segments:
44
44
  - 0
45
- - 10
46
- version: "0.10"
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
- version: "0"
60
+ - 4
61
+ version: "0.4"
61
62
  type: :runtime
62
63
  name: nm
63
64
  version_requirements: *id003