nyanko 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -100,6 +100,7 @@ $ rails s
100
100
 
101
101
 
102
102
  ## Todo
103
- * configuration
104
- * document
105
- * test (for now, test coverage is 100%)
103
+ * Test macros
104
+ * Generator
105
+ * Documentation
106
+ * Backward compatibility
@@ -0,0 +1,88 @@
1
+ module <%= class_name %>
2
+ include Nyanko::Unit
3
+
4
+ # ## active_if
5
+ # This block is used to decide if this unit is active or not.
6
+ # `context` is the receiver object of `invoke`.
7
+ # `options` is passed via `invoke(:foo, :bar, :active_if_options => { ... })`.
8
+ # By default, this is set as `active_if { true }`.
9
+ #
10
+ # ```
11
+ # active_if do |context, options|
12
+ # true
13
+ # end
14
+ # ```
15
+
16
+ # ## raise_error
17
+ # `raise_error` is used to force an unit to raise up errors occured in invoking.
18
+ # You can force to raise up errors also by `Config.raise_error`.
19
+ #
20
+ # ```
21
+ # raise_error
22
+ # ```
23
+
24
+ # ## function
25
+ # In controller or view context, you can call functions defined by `function`
26
+ # via `invoke(:<%= file_name %>, :function_name)`.
27
+ #
28
+ # scope(:controller) do
29
+ # function(:function_name) do
30
+ # "Nyanko!"
31
+ # end
32
+ # end
33
+
34
+ # ## render
35
+ # In addition, the view path "<%= "#{directory}/views" %>" is added into view_paths.
36
+ # So you can render <%= "#{directory}/views/example.html.erb" %> in invoking.
37
+ #
38
+ # ```
39
+ # scope(:controller) do
40
+ # function(:function_name) do
41
+ # render "/example", :foo => "bar"
42
+ # end
43
+ # end
44
+ # ```
45
+
46
+ # ## models
47
+ # In models block, you can expand model features by `expand` method.
48
+ # The expanded methods are available via unit proxy like `User.unit.active`,
49
+ # and `User.find(params[:id]).unit.active?`, and so on.
50
+ #
51
+ # ```
52
+ # models do
53
+ # expand(:User) do
54
+ # scope :active, lambda { where(:deleted_at => nil) }
55
+ #
56
+ # def active?
57
+ # deleted_at.nil?
58
+ # end
59
+ # end
60
+ # end
61
+ # ```
62
+
63
+ # ## shared
64
+ # You can call methods defined by `shared` in invoking.
65
+ #
66
+ # ```
67
+ # scope(:view) do
68
+ # function(:function_name) do
69
+ # hello
70
+ # end
71
+ # end
72
+ #
73
+ # shared(:hello) do |world|
74
+ # "Hello, #{world}"
75
+ # end
76
+ # ```
77
+
78
+ # ## helpers
79
+ # You can call helpers in view via unit proxy like `unit.helper_method`
80
+ #
81
+ # ```
82
+ # helpers do
83
+ # def helper_method
84
+ # "helper method"
85
+ # end
86
+ # end
87
+ # ```
88
+ end
@@ -0,0 +1,45 @@
1
+ module Nyanko
2
+ module Generators
3
+ class UnitGenerator < Rails::Generators::NamedBase
4
+ ASSETS_TYPES = %w[images javascripts stylesheets]
5
+
6
+ source_root File.expand_path("../templates", __FILE__)
7
+
8
+ def create_unit_directory
9
+ empty_directory(directory)
10
+ end
11
+
12
+ def create_unit_file
13
+ template("unit.rb.erb", "#{directory}/#{file_name}.rb")
14
+ end
15
+
16
+ def create_views_directory
17
+ create_file("#{directory}/views/.gitkeep", "")
18
+ end
19
+
20
+ ASSETS_TYPES.each do |type|
21
+ define_method("create_#{type}_directory") do
22
+ create_file("#{directory}/#{type}/.gitkeep", "")
23
+ end
24
+ end
25
+
26
+ ASSETS_TYPES.each do |type|
27
+ define_method("create_#{type}_symlink") do
28
+ create_assets_symlink(type)
29
+ end
30
+ end
31
+
32
+ private
33
+
34
+ def create_assets_symlink(type)
35
+ from = "app/assets/#{type}/units/#{file_name}"
36
+ to = "../../../../#{directory}/#{type}"
37
+ create_link(from, to)
38
+ end
39
+
40
+ def directory
41
+ "#{Nyanko::Config.units_directory_path}/#{file_name}"
42
+ end
43
+ end
44
+ end
45
+ end
data/lib/nyanko/config.rb CHANGED
@@ -9,6 +9,7 @@ module Nyanko
9
9
  :enable_logger,
10
10
  :proxy_method_name,
11
11
  :raise_error,
12
+ :resolver,
12
13
  :units_directory_path
13
14
  )
14
15
 
@@ -20,6 +21,7 @@ module Nyanko
20
21
  self.enable_logger = true
21
22
  self.proxy_method_name = :unit
22
23
  self.raise_error = Rails.env.development?
24
+ self.resolver = ActionView::OptimizedFileSystemResolver
23
25
  self.units_directory_path = "app/units"
24
26
  end
25
27
  end
@@ -1,9 +1,9 @@
1
1
  module Nyanko
2
2
  module ExceptionHandler
3
3
  class << self
4
- def handle(exception)
4
+ def handle(exception, unit = nil)
5
5
  Logger.debug(exception)
6
- raise exception if Config.raise_error
6
+ raise exception if unit.try(:raise_error?) || Config.raise_error
7
7
  end
8
8
  end
9
9
  end
@@ -21,7 +21,11 @@ module Nyanko
21
21
  def invoke(context, options = {})
22
22
  with_unit_stack(context) do
23
23
  with_unit_view_path(context) do
24
- context.instance_eval(&block)
24
+ capture_exception(context) do
25
+ result = context.instance_eval(&block)
26
+ result = decorate(result, context, options[:type]) if context.view?
27
+ result
28
+ end
25
29
  end
26
30
  end
27
31
  end
@@ -54,12 +58,28 @@ module Nyanko
54
58
  end
55
59
 
56
60
  def with_unit_view_path(context)
57
- if context.view?
58
- context.view_paths.unshift unit.resolver
59
- end
61
+ context.view_paths.unshift unit.resolver
60
62
  yield
61
63
  ensure
62
- context.view_paths.paths.shift if context.view?
64
+ context.view_paths.paths.shift
65
+ end
66
+
67
+ def capture_exception(context)
68
+ yield
69
+ rescue Exception => exception
70
+ ExceptionHandler.handle(exception, unit)
71
+ context.run_default
72
+ end
73
+
74
+ def decorate(str, context, type)
75
+ case type
76
+ when :plain
77
+ str
78
+ when :inline
79
+ context.content_tag(:span, str, :class => css_classes)
80
+ else
81
+ context.content_tag(:div, str, :class => css_classes)
82
+ end
63
83
  end
64
84
  end
65
85
  end
@@ -5,20 +5,15 @@ module Nyanko
5
5
  module Invoker
6
6
  def invoke(*args, &block)
7
7
  options = Options.new(*args)
8
- defaults_stack << block
9
- unit_locals_stack << options.locals
10
- function = FunctionFinder.find(self, options)
11
- result = function.invoke(self, options.invoke_options)
12
- result = surround_with_html_tag(result, function, options) if view?
13
- result
14
- rescue FunctionFinder::FunctionNotFound
15
- run_default
16
- rescue Exception => exception
17
- ExceptionHandler.handle(exception)
18
- run_default
19
- ensure
20
- defaults_stack.pop
21
- unit_locals_stack.pop
8
+ __with_default_stack(block) do
9
+ __with_unit_locals_stack(options.locals) do
10
+ if function = FunctionFinder.find(self, options)
11
+ function.invoke(self, options.invoke_options)
12
+ else
13
+ run_default
14
+ end
15
+ end
16
+ end
22
17
  end
23
18
 
24
19
  def units
@@ -30,45 +25,77 @@ module Nyanko
30
25
  end
31
26
 
32
27
  def run_default
33
- if block = defaults_stack.last
34
- if view?
35
- capture(&block)
36
- else
37
- instance_exec(&block)
38
- end
39
- end
28
+ __invoke_default_block if __has_default_block?
40
29
  end
41
30
 
42
31
  private
43
32
 
44
- # Search shared method or locals variable
45
33
  def method_missing(method_name, *args, &block)
46
- if (methods = units.last.try(:shared_methods)) && block = methods[method_name]
47
- self.instance_exec(*args, &block)
48
- elsif args.empty? && value = (unit_locals_stack.last || {})[method_name]
49
- value
34
+ if shared_method = __find_shared_method(method_name)
35
+ instance_exec(*args, &shared_method)
36
+ elsif args.empty? && local = __find_unit_local(method_name)
37
+ local
50
38
  else
51
39
  super
52
40
  end
53
41
  end
54
42
 
55
- def defaults_stack
56
- @defaults_stack ||= []
43
+ def __find_unit_local(method_name)
44
+ __current_unit_locals[method_name]
45
+ end
46
+
47
+ def __current_unit_locals
48
+ __unit_locals_stack.last || {}
49
+ end
50
+
51
+ def __unit_locals_stack
52
+ @__unit_locals_stack ||= []
53
+ end
54
+
55
+ def __find_shared_method(method_name)
56
+ __current_shared_methods[method_name]
57
+ end
58
+
59
+ def __current_shared_methods
60
+ __current_unit.try(:shared_methods) || {}
57
61
  end
58
62
 
59
- def unit_locals_stack
60
- @unit_locals_stack ||= []
63
+ def __current_unit
64
+ units.last
61
65
  end
62
66
 
63
- def surround_with_html_tag(str, function, options)
64
- case options.type
65
- when :plain
66
- str
67
- when :inline
68
- content_tag(:span, str, :class => function.css_classes)
67
+ def __defaults_stack
68
+ @__defaults_stack ||= []
69
+ end
70
+
71
+ def __default_block
72
+ __defaults_stack.last
73
+ end
74
+
75
+ def __has_default_block?
76
+ !!__default_block
77
+ end
78
+
79
+ def __invoke_default_block
80
+ if view?
81
+ capture(&__default_block)
69
82
  else
70
- content_tag(:div, str, :class => function.css_classes)
83
+ instance_exec(&__default_block)
71
84
  end
72
85
  end
86
+
87
+ def __with_default_stack(default)
88
+ __defaults_stack << default
89
+ yield
90
+ ensure
91
+ __defaults_stack.pop
92
+ end
93
+
94
+ def __with_unit_locals_stack(locals)
95
+ __unit_locals_stack << locals
96
+ yield
97
+ ensure
98
+ __unit_locals_stack.pop
99
+ end
73
100
  end
74
101
  end
@@ -1,47 +1,37 @@
1
1
  module Nyanko
2
2
  module Invoker
3
3
  class FunctionFinder
4
- FunctionNotFound = Class.new(StandardError)
5
-
6
4
  def self.find(context, options)
7
- new(context, options).find or
8
- raise FunctionNotFound, "The function for #{options[:functions].inspect} is not found"
5
+ new(context, options).find
9
6
  end
10
7
 
8
+ attr_reader :context, :options
9
+
10
+ delegate :active_if_options, :as, :label, :unit_name, :to => :options
11
+
11
12
  def initialize(context, options)
12
13
  @context = context
13
14
  @options = options
14
15
  end
15
16
 
16
17
  def find
17
- @options[:functions].find do |unit_name, label|
18
- unit = find_unit(unit_name)
19
- identifier = @options[:as] || @context.class
20
- next unless unit.try(:active?, @context, @options[:active_if_options])
21
- function = unit.find_function(identifier, label)
22
- break function if function
23
- end
24
- end
25
-
26
- def find_with_dependencies
27
- find_without_dependencies unless has_inactive_dependent_unit?
18
+ active? && find_function
28
19
  end
29
- alias_method_chain :find, :dependencies
30
20
 
31
- def find_unit(name)
32
- Loader.load(name)
21
+ def scope
22
+ as || context.class
33
23
  end
34
24
 
35
- def has_inactive_dependent_unit?
36
- dependent_units.any? {|unit| !unit.active?(@context, @options[:active_if_options]) }
25
+ def unit
26
+ Loader.load(unit_name)
37
27
  end
38
28
 
39
- def dependent_units
40
- dependent_unit_names.map {|name| find_unit(name) }
29
+ def find_function
30
+ unit.find_function(scope, label)
41
31
  end
42
32
 
43
- def dependent_unit_names
44
- Array.wrap(@options[:dependencies])
33
+ def active?
34
+ unit.try(:active?, context, active_if_options)
45
35
  end
46
36
  end
47
37
  end
@@ -5,7 +5,6 @@ module Nyanko
5
5
  :active_if_options => true,
6
6
  :as => true,
7
7
  :capture => true,
8
- :if => true,
9
8
  :locals => true,
10
9
  :type => true,
11
10
  }
@@ -15,12 +14,12 @@ module Nyanko
15
14
  @args = args
16
15
  end
17
16
 
18
- def [](key)
19
- send(key)
17
+ def unit_name
18
+ @args[0]
20
19
  end
21
20
 
22
- def functions
23
- @args.first.is_a?(Array) ? @args : [[@args[0], @args[1]]]
21
+ def label
22
+ @args[1]
24
23
  end
25
24
 
26
25
  def locals
@@ -35,10 +34,6 @@ module Nyanko
35
34
  options[:as]
36
35
  end
37
36
 
38
- def dependencies
39
- options[:if]
40
- end
41
-
42
37
  def capture
43
38
  options.has_key?(:capture) ? capture[:capture] : true
44
39
  end
data/lib/nyanko/logger.rb CHANGED
@@ -35,7 +35,7 @@ module Nyanko
35
35
 
36
36
  def content
37
37
  if @object.is_a?(Exception)
38
- "#{klass}#{body}\n#{backtrace}"
38
+ "#{klass}#{body}#{backtrace}"
39
39
  else
40
40
  @object.to_s
41
41
  end
@@ -52,8 +52,15 @@ module Nyanko
52
52
  end
53
53
 
54
54
  def backtrace
55
- lines = @object.backtrace[0...Config.backtrace_limit]
56
- lines.map {|line| " #{line}" }.join("\n")
55
+ if has_backtrace?
56
+ lines = @object.backtrace[0...Config.backtrace_limit]
57
+ str = lines.map {|line| " #{line}" }.join("\n")
58
+ "\n#{str}"
59
+ end
60
+ end
61
+
62
+ def has_backtrace?
63
+ @object.backtrace
57
64
  end
58
65
  end
59
66
  end
@@ -0,0 +1,38 @@
1
+ module Nyanko
2
+ module Test
3
+ def self.activations
4
+ @activations ||= {}
5
+ end
6
+
7
+ def enable_unit(unit_name)
8
+ Test.activations[unit_name] = true
9
+ end
10
+ alias_method :enable_ext, :enable_unit
11
+
12
+ def disable_unit(unit_name)
13
+ Test.activations[unit_name] = false
14
+ end
15
+ alias_method :disable_ext, :disable_unit
16
+ end
17
+
18
+ module Unit
19
+ module ClassMethods
20
+ def active_with_activations?(*args)
21
+ case Test.activations[unit_name]
22
+ when true
23
+ true
24
+ when false
25
+ false
26
+ else
27
+ active_without_activations?(*args)
28
+ end
29
+ end
30
+ alias_method_chain :active?, :activations
31
+ end
32
+ end
33
+ end
34
+
35
+ RSpec.configure do |config|
36
+ config.include Nyanko::Test
37
+ config.after { Nyanko::Test.activations.clear }
38
+ end
data/lib/nyanko/unit.rb CHANGED
@@ -49,6 +49,15 @@ module Nyanko
49
49
  ActiveIf::Any.new(*labels)
50
50
  end
51
51
 
52
+ def raise_error
53
+ @raise_error = true
54
+ end
55
+ alias_method :propagates_errors, :raise_error
56
+
57
+ def raise_error?
58
+ @raise_error
59
+ end
60
+
52
61
  def unit_name
53
62
  @unit_name ||= name.underscore.to_sym
54
63
  end
@@ -81,7 +90,7 @@ module Nyanko
81
90
  end
82
91
 
83
92
  def resolver
84
- @resolver ||= ActionView::OptimizedFileSystemResolver.new(view_path)
93
+ @resolver ||= Config.resolver.new(view_path)
85
94
  end
86
95
 
87
96
  def extender
@@ -7,6 +7,8 @@ module Nyanko
7
7
  include Helper
8
8
  end
9
9
 
10
+ # Define #unit method in this class when #unit is called in first time.
11
+ # Change Config.proxy_method_name if you want to change this method name.
10
12
  def method_missing(method_name, *args, &block)
11
13
  if Array.wrap(Config.proxy_method_name).include?(method_name)
12
14
  UnitProxyProvider.class_eval do
@@ -1,3 +1,3 @@
1
1
  module Nyanko
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
@@ -25,6 +25,10 @@ module ExampleUnit
25
25
  function(:default) do
26
26
  run_default
27
27
  end
28
+
29
+ function(:render) do
30
+ render_to_string :partial => "/test", :locals => { :local => "test" }
31
+ end
28
32
  end
29
33
 
30
34
  scope(:view) do
@@ -51,6 +55,10 @@ module ExampleUnit
51
55
  function(:helper) do
52
56
  unit.helper
53
57
  end
58
+
59
+ function(:render) do
60
+ render "/test", :local => "test"
61
+ end
54
62
  end
55
63
 
56
64
  helpers do
@@ -0,0 +1 @@
1
+ <%= local %>
@@ -0,0 +1,3 @@
1
+ module InsensitiveUnit
2
+ include Nyanko::Unit
3
+ end
@@ -0,0 +1,4 @@
1
+ module SensitiveUnit
2
+ include Nyanko::Unit
3
+ raise_error
4
+ end
@@ -2,13 +2,37 @@ require "spec_helper"
2
2
 
3
3
  module Nyanko
4
4
  describe ExceptionHandler do
5
- context "when Config.raise_error is truthy" do
5
+ let(:sensitive_unit) do
6
+ Loader.load(:sensitive_unit)
7
+ end
8
+
9
+ let(:insensitive_unit) do
10
+ Loader.load(:insensitive_unit)
11
+ end
12
+
13
+ let(:error) do
14
+ Exception.new
15
+ end
16
+
17
+ context "when Config.raise_error is false" do
18
+ it "raises up no error" do
19
+ expect { described_class.handle(error, insensitive_unit) }.not_to raise_error
20
+ end
21
+ end
22
+
23
+ context "when Config.raise_error is true" do
6
24
  before do
7
25
  Config.raise_error = true
8
26
  end
9
27
 
10
28
  it "raises up error" do
11
- expect { described_class.handle(Exception.new) }.to raise_error
29
+ expect { described_class.handle(error, insensitive_unit) }.to raise_error
30
+ end
31
+ end
32
+
33
+ context "when unit.raise_error is configured" do
34
+ it "raises up error" do
35
+ expect { described_class.handle(error, sensitive_unit) }.to raise_error
12
36
  end
13
37
  end
14
38
  end
@@ -24,15 +24,19 @@ module Nyanko
24
24
  end.new
25
25
  end
26
26
 
27
+ let(:options) do
28
+ { :type => :plain }
29
+ end
30
+
27
31
  describe ".invoke" do
28
32
  it "invokes block with given context and stacked unit" do
29
- described_class.new(unit, :label) { current_unit }.invoke(context).should == unit
33
+ described_class.new(unit, :label) { current_unit }.invoke(context, options).should == unit
30
34
  end
31
35
 
32
36
 
33
37
  context "when context is a view" do
34
38
  it "invokes with unit's view path" do
35
- described_class.new(unit, :label) { path }.invoke(context).should == unit.view_path
39
+ described_class.new(unit, :label) { path }.invoke(context, options).should == unit.view_path
36
40
  end
37
41
  end
38
42
  end
@@ -36,6 +36,18 @@ module Nyanko
36
36
  view.invoke(:example_unit, :helper, :type => :plain).should == "helper"
37
37
  end
38
38
 
39
+ context "when invoked in view" do
40
+ it "invokes with partial view" do
41
+ view.invoke(:example_unit, :render, :type => :plain).should == "test\n"
42
+ end
43
+ end
44
+
45
+ context "when invoked in controller" do
46
+ it "invokes with unit views path" do
47
+ controller.invoke(:example_unit, :render, :type => :plain).should == "test\n"
48
+ end
49
+ end
50
+
39
51
  context "when short-hand style args is passed" do
40
52
  it "recognizes args as locals option" do
41
53
  view.invoke(:example_unit, :locals, :key => "value").should ==
@@ -98,19 +110,6 @@ module Nyanko
98
110
  end
99
111
  end
100
112
 
101
- context "when dependent unit is inactive" do
102
- it "does nothing" do
103
- view.invoke(:example_unit, :test, :if => :inactive_unit).should == nil
104
- end
105
- end
106
-
107
- context "when 2 functions are specified" do
108
- it "invokes first active function" do
109
- view.invoke([:inactive_unit, :inactive], [:example_unit, :test], :type => :plain).
110
- should == "test"
111
- end
112
- end
113
-
114
113
  context "when function is not found" do
115
114
  it "runs default but not handled by ExceptionHandler" do
116
115
  ExceptionHandler.should_not_receive(:handle)
@@ -0,0 +1,28 @@
1
+ require "spec_helper"
2
+ require "nyanko/test"
3
+
4
+ module Nyanko
5
+ describe Test do
6
+ let(:view) do
7
+ Class.new(ActionView::Base) do
8
+ include Nyanko::Invoker
9
+ include Nyanko::Helper
10
+ include Nyanko::UnitProxyProvider
11
+ end.new
12
+ end
13
+
14
+ describe "#enable_unit" do
15
+ it "forces to enable specified unit" do
16
+ enable_unit(:inactive_unit)
17
+ view.invoke(:inactive_unit, :inactive, :type => :plain).should == "inactive"
18
+ end
19
+ end
20
+
21
+ describe "#disable_unit" do
22
+ it "forces to disable specified unit" do
23
+ disable_unit(:example_unit)
24
+ view.invoke(:example_unit, :test).should == nil
25
+ end
26
+ end
27
+ end
28
+ end
data/spec/spec_helper.rb CHANGED
@@ -23,3 +23,5 @@ RSpec.configure do |config|
23
23
  Nyanko::Config.units_directory_path = File.expand_path("../fixtures/units", __FILE__)
24
24
  end
25
25
  end
26
+
27
+ Nyanko::Config.units_directory_path = File.expand_path("../fixtures/units", __FILE__)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nyanko
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-30 00:00:00.000000000 Z
12
+ date: 2013-02-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -199,6 +199,8 @@ files:
199
199
  - MIT-LICENSE
200
200
  - README.md
201
201
  - Rakefile
202
+ - lib/generators/nyanko/unit/templates/unit.rb.erb
203
+ - lib/generators/nyanko/unit/unit_generator.rb
202
204
  - lib/nyanko.rb
203
205
  - lib/nyanko/active_if.rb
204
206
  - lib/nyanko/config.rb
@@ -212,6 +214,7 @@ files:
212
214
  - lib/nyanko/loader.rb
213
215
  - lib/nyanko/logger.rb
214
216
  - lib/nyanko/railtie.rb
217
+ - lib/nyanko/test.rb
215
218
  - lib/nyanko/unit.rb
216
219
  - lib/nyanko/unit/extender.rb
217
220
  - lib/nyanko/unit/extender/active_record_class_methods.rb
@@ -266,7 +269,10 @@ files:
266
269
  - spec/dummy/public/favicon.ico
267
270
  - spec/dummy/script/rails
268
271
  - spec/fixtures/units/example_unit/example_unit.rb
272
+ - spec/fixtures/units/example_unit/views/_test.html.erb
269
273
  - spec/fixtures/units/inactive_unit/inactive_unit.rb
274
+ - spec/fixtures/units/insensitive_unit/insensitive_unit.rb
275
+ - spec/fixtures/units/sensitive_unit/sensitive_unit.rb
270
276
  - spec/nyanko/controller_spec.rb
271
277
  - spec/nyanko/exception_handler_spec.rb
272
278
  - spec/nyanko/function_spec.rb
@@ -274,6 +280,7 @@ files:
274
280
  - spec/nyanko/invoker_spec.rb
275
281
  - spec/nyanko/loader_spec.rb
276
282
  - spec/nyanko/logger_spec.rb
283
+ - spec/nyanko/test_spec.rb
277
284
  - spec/nyanko/unit/extender_spec.rb
278
285
  - spec/nyanko/unit/scope_finder_spec.rb
279
286
  - spec/nyanko/unit_proxy_provider_spec.rb
@@ -350,7 +357,10 @@ test_files:
350
357
  - spec/dummy/public/favicon.ico
351
358
  - spec/dummy/script/rails
352
359
  - spec/fixtures/units/example_unit/example_unit.rb
360
+ - spec/fixtures/units/example_unit/views/_test.html.erb
353
361
  - spec/fixtures/units/inactive_unit/inactive_unit.rb
362
+ - spec/fixtures/units/insensitive_unit/insensitive_unit.rb
363
+ - spec/fixtures/units/sensitive_unit/sensitive_unit.rb
354
364
  - spec/nyanko/controller_spec.rb
355
365
  - spec/nyanko/exception_handler_spec.rb
356
366
  - spec/nyanko/function_spec.rb
@@ -358,6 +368,7 @@ test_files:
358
368
  - spec/nyanko/invoker_spec.rb
359
369
  - spec/nyanko/loader_spec.rb
360
370
  - spec/nyanko/logger_spec.rb
371
+ - spec/nyanko/test_spec.rb
361
372
  - spec/nyanko/unit/extender_spec.rb
362
373
  - spec/nyanko/unit/scope_finder_spec.rb
363
374
  - spec/nyanko/unit_proxy_provider_spec.rb