Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions lib/rbui.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
module RBUI
extend Phlex::Kit

attr_accessor :namespace

def self.setup
yield self
create_namespace_module if namespace
Expand Down Expand Up @@ -35,6 +33,14 @@ def self.create_namespace_module
end
end
end

def self.namespace
@namespace ||= nil
end

def self.namespace=(value)
@namespace = value
end
end

# Require the Base class first
Expand Down
31 changes: 31 additions & 0 deletions test/rbui/setup_test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# frozen_string_literal: true

require "test_helper"

class RBUI::SetupTest < Minitest::Test
def setup
@original_namespace = RBUI.namespace
end

def teardown
RBUI.namespace = @original_namespace
Object.send(:remove_const, :UI) if Object.const_defined?(:UI)
end

def test_default_namespace
RBUI.setup {}

assert_nil RBUI.namespace
assert_kind_of RBUI::Base, RBUI::Button.new
end

def test_custom_namespace
RBUI.setup do |config|
config.namespace = "UI"
end

assert_equal "UI", RBUI.namespace
assert_equal RBUI::Base, UI::Base
assert_kind_of RBUI::Base, UI::Button.new
end
end