Skip to content

Commit

Permalink
Merge pull request #731 from olekscode/702-Remove-CM-prefix
Browse files Browse the repository at this point in the history
702 remove cm prefix
  • Loading branch information
olekscode committed Sep 16, 2023
2 parents d3dd9f1 + 304b693 commit 72c26a7
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 35 deletions.
2 changes: 1 addition & 1 deletion repository/Cormas-Core/CMProjectManager.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ CMProjectManager >> createProject: projectName in: aCMApplicationProject [
yourself.
aCMApplicationProject currentProject: newProject.
self updateNewProject: projectName.
self fsm handleEvent: #actionNew.
"self fsm handleEvent: #actionNew."

]

Expand Down
10 changes: 7 additions & 3 deletions repository/Cormas-Core/CMProjectModel.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -262,12 +262,16 @@ CMProjectModel >> cormasVersion: aString [

{ #category : #accessing }
CMProjectModel >> createClassModelNamed: modelName [
" Generate a new class named modelName. modelName should be in the format CMXXXModel. See defaultCormasModelName for details.
" Generate a new class named modelName. modelName should be in the format XXXModel. See defaultCormasModelName for details.
Answer the new generated <Class> "

| validClassName |

validClassName := self validateCormasModelName: modelName.

(validClassName endsWith: 'Model') ifFalse: [
validClassName := validClassName, 'Model' ].

self codeGenerator
targetClassCategory: self defaultStdCormasCategoryName;
targetClass: validClassName;
Expand Down Expand Up @@ -297,8 +301,8 @@ CMProjectModel >> defaultStdCormasCategoryName [

^ String streamContents: [ : stream |
stream
<< 'Cormas-Model-';
<< self userProvidedName ]
<< self userProvidedName
<< '-Model' ]
]

{ #category : #defaults }
Expand Down
19 changes: 5 additions & 14 deletions repository/Cormas-Core/String.extension.st
Original file line number Diff line number Diff line change
Expand Up @@ -32,26 +32,17 @@ String >> asValidCormasClassName: aCMProjectName [
- Begins with CM
- It is a Symbol "

| validName prjName |
| validName |

self assert: (aCMProjectName notEmpty and: [ self notEmpty ]).
validName := self capitalized.
validName := validName withoutBlanks.
validName := validName withoutLeadingDigits.
validName := validName withoutQuoting.
prjName := (aCMProjectName beginsWith: 'CM')
ifTrue: [ aCMProjectName allButFirst: 2 ]
ifFalse: [ aCMProjectName ].
(validName asUppercase beginsWith: 'CM')
ifFalse: [ validName := validName asUppercase = prjName asUppercase
ifFalse: [ 'CM' , prjName , validName ]
ifTrue: [ 'CM' , validName ] ]
ifTrue: [ | nameWithoutPrefix |
nameWithoutPrefix := validName allButFirst: 2.
validName := (nameWithoutPrefix asUppercase
beginsWith: prjName asUppercase)
ifTrue: [ 'CM' , nameWithoutPrefix ]
ifFalse: [ 'CM' , prjName , nameWithoutPrefix ] ].

(validName asUppercase beginsWith: aCMProjectName asUppercase) ifFalse: [
validName := aCMProjectName, validName ].

^ validName asSymbol

]
2 changes: 1 addition & 1 deletion repository/Cormas-Tests/CMProjectModelTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ CMProjectModelTest >> testDefaultCormasModelName [
CMProjectModelTest >> testDefaultStdCormasCategoryName [

self assert: (self projectModel defaultStdCormasCategoryName isKindOf: String).
self assert: self projectModel defaultStdCormasCategoryName equals: 'Cormas-Model-' , self projectModel defaultCormasModelName.
self assert: self projectModel defaultStdCormasCategoryName equals: self projectModel defaultCormasModelName, '-Model'.

]

Expand Down
32 changes: 16 additions & 16 deletions repository/Cormas-Tests/StringTest.extension.st
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,22 @@ Extension { #name : #StringTest }
{ #category : #'*Cormas-Tests' }
StringTest >> testAsValidCormasClassName [

self assert: ('Entity' asValidCormasClassName: 'Project1') equals: #CMProject1Entity.
self assert: ('CMEntity' asValidCormasClassName: 'Project1') equals: #CMProject1Entity.
self assert: (' Entity' asValidCormasClassName: 'Project1') equals: #CMProject1Entity.
self assert: (' CMEntity' asValidCormasClassName: 'Project1') equals: #CMProject1Entity.
self assert: ('Entity ' asValidCormasClassName: 'Project1') equals: #CMProject1Entity.
self assert: ('CMEntity ' asValidCormasClassName: 'Project1') equals: #CMProject1Entity.
self assert: ('Ent ity' asValidCormasClassName: 'Project1') equals: #CMProject1Entity.
self assert: ('CM Entity' asValidCormasClassName: 'Project1') equals: #CMProject1Entity.
self assert: ('Ent ity' asValidCormasClassName: 'Project1') equals: #CMProject1Entity.
self assert: ('CM Entity' asValidCormasClassName: 'Project1') equals: #CMProject1Entity.
self assert: ('123Entity' asValidCormasClassName: 'Project1') equals: #CMProject1Entity.
self assert: ('1CMEntity' asValidCormasClassName: 'Project1') equals: #CMProject1Entity.
self assert: ('Entity321' asValidCormasClassName: 'Project1') equals: #CMProject1Entity321.
self assert: ('CMEntity321' asValidCormasClassName: 'Project1') equals: #CMProject1Entity321.
self assert: ('Entity' asValidCormasClassName: 'Project1') equals: #CMProject1Entity.
self assert: ('CMEntity' asValidCormasClassName: 'Project1') equals: #CMProject1Entity.
self assert: ('Entity' asValidCormasClassName: 'Project1') equals: #Project1Entity.
self assert: ('CMEntity' asValidCormasClassName: 'Project1') equals: #Project1CMEntity.
self assert: (' Entity' asValidCormasClassName: 'Project1') equals: #Project1Entity.
self assert: (' CMEntity' asValidCormasClassName: 'Project1') equals: #Project1CMEntity.
self assert: ('Entity ' asValidCormasClassName: 'Project1') equals: #Project1Entity.
self assert: ('CMEntity ' asValidCormasClassName: 'Project1') equals: #Project1CMEntity.
self assert: ('Ent ity' asValidCormasClassName: 'Project1') equals: #Project1Entity.
self assert: ('CM Entity' asValidCormasClassName: 'Project1') equals: #Project1CMEntity.
self assert: ('Ent ity' asValidCormasClassName: 'Project1') equals: #Project1Entity.
self assert: ('CM Entity' asValidCormasClassName: 'Project1') equals: #Project1CMEntity.
self assert: ('123Entity' asValidCormasClassName: 'Project1') equals: #Project1Entity.
self assert: ('1CMEntity' asValidCormasClassName: 'Project1') equals: #Project1CMEntity.
self assert: ('Entity321' asValidCormasClassName: 'Project1') equals: #Project1Entity321.
self assert: ('CMEntity321' asValidCormasClassName: 'Project1') equals: #Project1CMEntity321.
self assert: ('Entity' asValidCormasClassName: 'Project1') equals: #Project1Entity.
self assert: ('CMEntity' asValidCormasClassName: 'Project1') equals: #Project1CMEntity.

self should: [ 'CMEntity' asValidCormasClassName: '' ] raise: Error.
self should: [ '' asValidCormasClassName: 'Project1' ] raise: Error.
Expand Down

0 comments on commit 72c26a7

Please sign in to comment.