Skip to content

Commit

Permalink
Lotus::Controller: .duplicate => .dup, .generate => .duplicate
Browse files Browse the repository at this point in the history
  • Loading branch information
jodosha committed Jun 17, 2014
1 parent d9e888b commit c11bc96
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 24 deletions.
6 changes: 3 additions & 3 deletions lib/lotus/controller.rb
Expand Up @@ -36,14 +36,14 @@ def self.configure(&blk)
configuration.instance_eval(&blk)
end

def self.duplicate
def self.dupe
dup.tap do |duplicated|
duplicated.configuration = configuration.duplicate
end
end

def self.generate(mod, controllers = 'Controllers', &blk)
duplicate.tap do |duplicated|
def self.duplicate(mod, controllers = 'Controllers', &blk)
dupe.tap do |duplicated|
mod.module_eval %{
module #{ controllers }; end
Action = Lotus::Action.dup
Expand Down
40 changes: 20 additions & 20 deletions test/controller_test.rb
Expand Up @@ -58,20 +58,20 @@ class ConfigurationController
end
end

describe '.generate' do
describe '.duplicate' do
before do
Lotus::Controller.configure { handle_exception ArgumentError => 400 }

module Generated
Controller = Lotus::Controller.generate(self)
module Duplicated
Controller = Lotus::Controller.duplicate(self)
end

module GeneratedCustom
Controller = Lotus::Controller.generate(self, 'Controllerz')
module DuplicatedCustom
Controller = Lotus::Controller.duplicate(self, 'Controllerz')
end

module GeneratedConfigure
Controller = Lotus::Controller.generate(self) do
module DuplicatedConfigure
Controller = Lotus::Controller.duplicate(self) do
reset!
handle_exception StandardError => 400
end
Expand All @@ -81,37 +81,37 @@ module GeneratedConfigure
after do
Lotus::Controller.configuration.reset!

Object.send(:remove_const, :Generated)
Object.send(:remove_const, :GeneratedCustom)
Object.send(:remove_const, :GeneratedConfigure)
Object.send(:remove_const, :Duplicated)
Object.send(:remove_const, :DuplicatedCustom)
Object.send(:remove_const, :DuplicatedConfigure)
end

it 'duplicates the configuration of the framework' do
actual = Generated::Controller.configuration
actual = Duplicated::Controller.configuration
expected = Lotus::Controller.configuration

actual.handled_exceptions.must_equal expected.handled_exceptions
end

it 'generates a namespace for controllers' do
assert defined?(Generated::Controllers), 'Generated::Controllers expected'
it 'duplicates a namespace for controllers' do
assert defined?(Duplicated::Controllers), 'Duplicated::Controllers expected'
end

it 'generates a custom namespace for controllers' do
assert defined?(GeneratedCustom::Controllerz), 'GeneratedCustom::Controllerz expected'
it 'duplicates a custom namespace for controllers' do
assert defined?(DuplicatedCustom::Controllerz), 'DuplicatedCustom::Controllerz expected'
end

it 'duplicates Action' do
assert defined?(Generated::Action), 'Generated::Action expected'
assert defined?(Duplicated::Action), 'Duplicated::Action expected'
end

it 'sets action_module' do
configuration = Generated::Controller.configuration
configuration.action_module.must_equal Generated::Action
configuration = Duplicated::Controller.configuration
configuration.action_module.must_equal Duplicated::Action
end

it 'optionally accepts a block to configure the generated module' do
configuration = GeneratedConfigure::Controller.configuration
it 'optionally accepts a block to configure the duplicated module' do
configuration = DuplicatedConfigure::Controller.configuration

configuration.handled_exceptions.wont_include(ArgumentError)
configuration.handled_exceptions.must_include(StandardError)
Expand Down
2 changes: 1 addition & 1 deletion test/fixtures.rb
Expand Up @@ -582,7 +582,7 @@ def call(params)
end

module MusicPlayer
Controller = Lotus::Controller.duplicate
Controller = Lotus::Controller.dupe
Action = Lotus::Action.dup

Controller.module_eval do
Expand Down

0 comments on commit c11bc96

Please sign in to comment.