don't modify the parameter string in Entity.entity_class
This commit is contained in:
parent
bfcfb6b95a
commit
4a7fd52844
2 changed files with 10 additions and 4 deletions
|
|
@ -119,11 +119,11 @@ module DiasporaFederation
|
|||
#
|
||||
# @see .entity_name
|
||||
#
|
||||
# @param [String] class_name "snake_case" class name
|
||||
# @param [String] entity_name "snake_case" class name
|
||||
# @return [Class] entity class
|
||||
def self.entity_class(class_name)
|
||||
raise InvalidEntityName, "'#{class_name}' is invalid" unless class_name =~ /^[a-z]*(_[a-z]*)*$/
|
||||
class_name.sub!(/^[a-z]/, &:upcase)
|
||||
def self.entity_class(entity_name)
|
||||
raise InvalidEntityName, "'#{entity_name}' is invalid" unless entity_name =~ /^[a-z]*(_[a-z]*)*$/
|
||||
class_name = entity_name.sub(/^[a-z]/, &:upcase)
|
||||
class_name.gsub!(/_([a-z])/) { Regexp.last_match[1].upcase }
|
||||
|
||||
raise UnknownEntity, "'#{class_name}' not found" unless Entities.const_defined?(class_name)
|
||||
|
|
|
|||
|
|
@ -211,6 +211,12 @@ XML
|
|||
expect(Entity.entity_class("test_entity")).to eq(Entities::TestEntity)
|
||||
end
|
||||
|
||||
it "should not change the input string" do
|
||||
entity_name = "test_entity"
|
||||
Entity.entity_class(entity_name)
|
||||
expect(entity_name).to eq("test_entity")
|
||||
end
|
||||
|
||||
it "raises an error when the entity name contains special characters" do
|
||||
expect {
|
||||
Entity.entity_class("te.st-enti/ty")
|
||||
|
|
|
|||
Loading…
Reference in a new issue