sanford-nm 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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