diff --git a/source/Stargate-Examples/PetOrdersRESTfulController.class.st b/source/Stargate-Examples/PetOrdersRESTfulController.class.st index d681226..83fb896 100644 --- a/source/Stargate-Examples/PetOrdersRESTfulController.class.st +++ b/source/Stargate-Examples/PetOrdersRESTfulController.class.st @@ -142,7 +142,7 @@ PetOrdersRESTfulController >> provideHypermediaPolicy [ { #category : #'private - accessing' } PetOrdersRESTfulController >> providePaginationPolicy [ - ^ RESTFullControllerDoNotPaginateCollectionsPolicy for: self + ^ RESTfulControllerDoNotPaginateCollectionsPolicy for: self ] { #category : #'private - API' } diff --git a/source/Stargate-Examples/PetOrdersRESTfulControllerSpecification.class.st b/source/Stargate-Examples/PetOrdersRESTfulControllerSpecification.class.st index 03aa7ed..69745a8 100644 --- a/source/Stargate-Examples/PetOrdersRESTfulControllerSpecification.class.st +++ b/source/Stargate-Examples/PetOrdersRESTfulControllerSpecification.class.st @@ -3,7 +3,7 @@ I'm an example RESTful Web Service specification implementing Pet Order resource " Class { #name : #PetOrdersRESTfulControllerSpecification, - #superclass : #ResourceRESTFulControllerSpecification, + #superclass : #ResourceRESTfulControllerSpecification, #category : #'Stargate-Examples' } diff --git a/source/Stargate-Examples/PetsRESTfulController.class.st b/source/Stargate-Examples/PetsRESTfulController.class.st index 23ebf02..730fcab 100644 --- a/source/Stargate-Examples/PetsRESTfulController.class.st +++ b/source/Stargate-Examples/PetsRESTfulController.class.st @@ -161,7 +161,7 @@ PetsRESTfulController >> provideHypermediaPolicy [ { #category : #'private - accessing' } PetsRESTfulController >> providePaginationPolicy [ - ^ RESTFullControllerPaginateCollectionsPolicy for: self with: self defaultPaginationLimit + ^ RESTfulControllerPaginateCollectionsPolicy for: self with: self defaultPaginationLimit ] { #category : #'private - state management' } diff --git a/source/Stargate-Examples/PetsRESTfulControllerSpecification.class.st b/source/Stargate-Examples/PetsRESTfulControllerSpecification.class.st index 1efd8dc..d8a5fd8 100644 --- a/source/Stargate-Examples/PetsRESTfulControllerSpecification.class.st +++ b/source/Stargate-Examples/PetsRESTfulControllerSpecification.class.st @@ -3,7 +3,7 @@ I'm an example RESTful Web Service specification implementing Pet resource manag " Class { #name : #PetsRESTfulControllerSpecification, - #superclass : #ResourceRESTFulControllerSpecification, + #superclass : #ResourceRESTfulControllerSpecification, #category : #'Stargate-Examples' } diff --git a/source/Stargate-Model-Tests/CrossOriginResourceSharingHandlerTest.class.st b/source/Stargate-Model-Tests/CrossOriginResourceSharingHandlerTest.class.st index 61ff932..e2d2578 100644 --- a/source/Stargate-Model-Tests/CrossOriginResourceSharingHandlerTest.class.st +++ b/source/Stargate-Model-Tests/CrossOriginResourceSharingHandlerTest.class.st @@ -8,12 +8,12 @@ Class { } { #category : #tests } -CrossOriginResourceSharingHandlerTest >> testValue [ +CrossOriginResourceSharingHandlerTest >> testEvaluationOnRequest [ | handler response | handler := CrossOriginResourceSharingHandler allowing: #('GET' 'POST'). - response := handler value: (ZnRequest options: 'url'). + response := handler teaEvalActionOnRequest: (ZnRequest options: 'url'). self assert: response code equals: 204; diff --git a/source/Stargate-Model-Tests/PaginationSpecTest.class.st b/source/Stargate-Model-Tests/PaginationSpecificationTest.class.st similarity index 54% rename from source/Stargate-Model-Tests/PaginationSpecTest.class.st rename to source/Stargate-Model-Tests/PaginationSpecificationTest.class.st index 9bf7319..ae946dc 100644 --- a/source/Stargate-Model-Tests/PaginationSpecTest.class.st +++ b/source/Stargate-Model-Tests/PaginationSpecificationTest.class.st @@ -2,17 +2,17 @@ I'm a Test Case for PaginationSpec " Class { - #name : #PaginationSpecTest, + #name : #PaginationSpecificationTest, #superclass : #TestCase, #category : #'Stargate-Model-Tests-Pagination' } { #category : #tests } -PaginationSpecTest >> testAccessing [ +PaginationSpecificationTest >> testAccessing [ | spec | - spec := PaginationSpec startingAt: 1 limitedTo: 5. + spec := PaginationSpecification startingAt: 1 limitedTo: 5. self assert: spec start equals: 1; @@ -21,10 +21,10 @@ PaginationSpecTest >> testAccessing [ ] { #category : #tests } -PaginationSpecTest >> testPrintString [ +PaginationSpecificationTest >> testPrintString [ self - assert: (PaginationSpec startingAt: 1 limitedTo: 5) printString + assert: (PaginationSpecification startingAt: 1 limitedTo: 5) printString equals: 'start=1 limit=5' diff --git a/source/Stargate-Model-Tests/RESTFullControllerDoNotPaginateCollectionsPolicyTest.class.st b/source/Stargate-Model-Tests/RESTfulControllerDoNotPaginateCollectionsPolicyTest.class.st similarity index 65% rename from source/Stargate-Model-Tests/RESTFullControllerDoNotPaginateCollectionsPolicyTest.class.st rename to source/Stargate-Model-Tests/RESTfulControllerDoNotPaginateCollectionsPolicyTest.class.st index 3a2897a..9b20779 100644 --- a/source/Stargate-Model-Tests/RESTFullControllerDoNotPaginateCollectionsPolicyTest.class.st +++ b/source/Stargate-Model-Tests/RESTfulControllerDoNotPaginateCollectionsPolicyTest.class.st @@ -2,25 +2,25 @@ Unit Test " Class { - #name : #RESTFullControllerDoNotPaginateCollectionsPolicyTest, + #name : #RESTfulControllerDoNotPaginateCollectionsPolicyTest, #superclass : #TestCase, #category : #'Stargate-Model-Tests-Pagination' } { #category : #private } -RESTFullControllerDoNotPaginateCollectionsPolicyTest >> evaluateQuery: aBlockClosure [ +RESTfulControllerDoNotPaginateCollectionsPolicyTest >> evaluateQuery: aBlockClosure [ ^ aBlockClosure value ] { #category : #tests } -RESTFullControllerDoNotPaginateCollectionsPolicyTest >> testBehavior [ +RESTfulControllerDoNotPaginateCollectionsPolicyTest >> testBehavior [ | policy context controls response | context := HttpRequestContext new. controls := #(). - policy := RESTFullControllerDoNotPaginateCollectionsPolicy for: self. + policy := RESTfulControllerDoNotPaginateCollectionsPolicy for: self. self assert: (policy addPaginationControlsTo: controls within: context) isEmpty. response := ZnResponse noContent. diff --git a/source/Stargate-Model/CrossOriginResourceSharingHandler.class.st b/source/Stargate-Model/CrossOriginResourceSharingHandler.class.st index 67bc910..6597ab5 100644 --- a/source/Stargate-Model/CrossOriginResourceSharingHandler.class.st +++ b/source/Stargate-Model/CrossOriginResourceSharingHandler.class.st @@ -26,7 +26,7 @@ CrossOriginResourceSharingHandler >> initializeAllowing: anHttpMethodsCollection ] { #category : #evaluating } -CrossOriginResourceSharingHandler >> value: aRequest [ +CrossOriginResourceSharingHandler >> teaEvalActionOnRequest: aRequest [ | response | diff --git a/source/Stargate-Model/HypermediaDrivenRESTfulControllerPolicy.class.st b/source/Stargate-Model/HypermediaDrivenRESTfulControllerPolicy.class.st index 1826748..9618ab0 100644 --- a/source/Stargate-Model/HypermediaDrivenRESTfulControllerPolicy.class.st +++ b/source/Stargate-Model/HypermediaDrivenRESTfulControllerPolicy.class.st @@ -3,7 +3,7 @@ I'm a policy supporting hypermedia-driven RESTful controllers. " Class { #name : #HypermediaDrivenRESTfulControllerPolicy, - #superclass : #HypermediaPolicy, + #superclass : #RESTfulControllerHypermediaPolicy, #instVars : [ 'resourceController' ], diff --git a/source/Stargate-Model/NonHypermediaDrivenRESTfulControllerPolicy.class.st b/source/Stargate-Model/NonHypermediaDrivenRESTfulControllerPolicy.class.st index d81123e..449a238 100644 --- a/source/Stargate-Model/NonHypermediaDrivenRESTfulControllerPolicy.class.st +++ b/source/Stargate-Model/NonHypermediaDrivenRESTfulControllerPolicy.class.st @@ -3,7 +3,7 @@ I'm a policy non-supporting hypermedia-driven RESTful controllers. " Class { #name : #NonHypermediaDrivenRESTfulControllerPolicy, - #superclass : #HypermediaPolicy, + #superclass : #RESTfulControllerHypermediaPolicy, #category : #'Stargate-Model-HATEOAS' } diff --git a/source/Stargate-Model/PaginationSpec.class.st b/source/Stargate-Model/PaginationSpecification.class.st similarity index 70% rename from source/Stargate-Model/PaginationSpec.class.st rename to source/Stargate-Model/PaginationSpecification.class.st index d2e2f9f..b303f74 100644 --- a/source/Stargate-Model/PaginationSpec.class.st +++ b/source/Stargate-Model/PaginationSpecification.class.st @@ -2,7 +2,7 @@ I'm a pagination specification, used to know the start index and the expected page size " Class { - #name : #PaginationSpec, + #name : #PaginationSpecification, #superclass : #Object, #instVars : [ 'start', @@ -12,7 +12,7 @@ Class { } { #category : #'Instance creation' } -PaginationSpec class >> startingAt: aNumber limitedTo: aLimit [ +PaginationSpecification class >> startingAt: aNumber limitedTo: aLimit [ AssertionChecker enforce: [ aLimit strictlyPositive ] because: 'The page limit must be positive' raising: InstanceCreationFailed. "We're forgiving with the starting index" @@ -20,26 +20,26 @@ PaginationSpec class >> startingAt: aNumber limitedTo: aLimit [ ] { #category : #accessing } -PaginationSpec >> end [ +PaginationSpecification >> end [ ^ start + limit - 1 ] { #category : #'initialize - release' } -PaginationSpec >> initializeStartingAt: anStartIndex limitedTo: aLimitCount [ +PaginationSpecification >> initializeStartingAt: anStartIndex limitedTo: aLimitCount [ start := anStartIndex. limit := aLimitCount ] { #category : #accessing } -PaginationSpec >> limit [ +PaginationSpecification >> limit [ ^ limit ] { #category : #printing } -PaginationSpec >> printOn: aStream [ +PaginationSpecification >> printOn: aStream [ aStream nextPutAll: 'start='; @@ -50,7 +50,7 @@ PaginationSpec >> printOn: aStream [ ] { #category : #accessing } -PaginationSpec >> start [ +PaginationSpecification >> start [ ^ start ] diff --git a/source/Stargate-Model/RESTFullControllerDoNotPaginateCollectionsPolicy.class.st b/source/Stargate-Model/RESTfulControllerDoNotPaginateCollectionsPolicy.class.st similarity index 52% rename from source/Stargate-Model/RESTFullControllerDoNotPaginateCollectionsPolicy.class.st rename to source/Stargate-Model/RESTfulControllerDoNotPaginateCollectionsPolicy.class.st index 3d3ec04..d55d6a3 100644 --- a/source/Stargate-Model/RESTFullControllerDoNotPaginateCollectionsPolicy.class.st +++ b/source/Stargate-Model/RESTfulControllerDoNotPaginateCollectionsPolicy.class.st @@ -2,7 +2,7 @@ I'm the policy indicating a RESTful controller to not support pagination of collections related to the controlled resource. " Class { - #name : #RESTFullControllerDoNotPaginateCollectionsPolicy, + #name : #RESTfulControllerDoNotPaginateCollectionsPolicy, #superclass : #RESTfulControllerPaginationPolicy, #instVars : [ 'resourceController' @@ -11,29 +11,29 @@ Class { } { #category : #'instance creation' } -RESTFullControllerDoNotPaginateCollectionsPolicy class >> for: aResourceController [ +RESTfulControllerDoNotPaginateCollectionsPolicy class >> for: aResourceController [ ^ self new initializeFor: aResourceController ] { #category : #applying } -RESTFullControllerDoNotPaginateCollectionsPolicy >> addPaginationControlsTo: mediaControls within: aContext [ +RESTfulControllerDoNotPaginateCollectionsPolicy >> addPaginationControlsTo: mediaControls within: aContext [ ^ mediaControls ] { #category : #applying } -RESTFullControllerDoNotPaginateCollectionsPolicy >> affect: response within: aContext [ +RESTfulControllerDoNotPaginateCollectionsPolicy >> affect: response within: aContext [ ] { #category : #applying } -RESTFullControllerDoNotPaginateCollectionsPolicy >> evaluateQuery: aQueryEvaluationBlock basedOn: anHttpRequest [ +RESTfulControllerDoNotPaginateCollectionsPolicy >> evaluateQuery: aQueryEvaluationBlock basedOn: anHttpRequest [ ^ resourceController evaluateQuery: aQueryEvaluationBlock ] { #category : #initialization } -RESTFullControllerDoNotPaginateCollectionsPolicy >> initializeFor: aResourceController [ +RESTfulControllerDoNotPaginateCollectionsPolicy >> initializeFor: aResourceController [ resourceController := aResourceController ] diff --git a/source/Stargate-Model/HypermediaPolicy.class.st b/source/Stargate-Model/RESTfulControllerHypermediaPolicy.class.st similarity index 55% rename from source/Stargate-Model/HypermediaPolicy.class.st rename to source/Stargate-Model/RESTfulControllerHypermediaPolicy.class.st index f0a8f6f..2bd1b18 100644 --- a/source/Stargate-Model/HypermediaPolicy.class.st +++ b/source/Stargate-Model/RESTfulControllerHypermediaPolicy.class.st @@ -2,19 +2,19 @@ I'm a policy indicating a RESTful controller if it must support or not an hypermedia driven implementation " Class { - #name : #HypermediaPolicy, + #name : #RESTfulControllerHypermediaPolicy, #superclass : #Object, #category : #'Stargate-Model-HATEOAS' } { #category : #configuring } -HypermediaPolicy >> holdCollection: resourceCollection controlsBasedOn: httpRequest within: context [ +RESTfulControllerHypermediaPolicy >> holdCollection: resourceCollection controlsBasedOn: httpRequest within: context [ self subclassResponsibility ] { #category : #configuring } -HypermediaPolicy >> holdResource: resource controlsWithin: context [ +RESTfulControllerHypermediaPolicy >> holdResource: resource controlsWithin: context [ self subclassResponsibility ] diff --git a/source/Stargate-Model/RESTFullControllerPaginateCollectionsPolicy.class.st b/source/Stargate-Model/RESTfulControllerPaginateCollectionsPolicy.class.st similarity index 62% rename from source/Stargate-Model/RESTFullControllerPaginateCollectionsPolicy.class.st rename to source/Stargate-Model/RESTfulControllerPaginateCollectionsPolicy.class.st index b307616..e216ccf 100644 --- a/source/Stargate-Model/RESTFullControllerPaginateCollectionsPolicy.class.st +++ b/source/Stargate-Model/RESTfulControllerPaginateCollectionsPolicy.class.st @@ -2,7 +2,7 @@ I'm the policy indicating a RESTful controller to support pagination of collections related to the controlled resource. " Class { - #name : #RESTFullControllerPaginateCollectionsPolicy, + #name : #RESTfulControllerPaginateCollectionsPolicy, #superclass : #RESTfulControllerPaginationPolicy, #instVars : [ 'resourceController', @@ -12,19 +12,19 @@ Class { } { #category : #'instance creation' } -RESTFullControllerPaginateCollectionsPolicy class >> for: aResourceController with: aPaginationLimit [ +RESTfulControllerPaginateCollectionsPolicy class >> for: aResourceController with: aPaginationLimit [ ^ self new initializeFor: aResourceController with: aPaginationLimit ] { #category : #applying } -RESTFullControllerPaginateCollectionsPolicy >> addPaginationControlsTo: mediaControls within: aContext [ +RESTfulControllerPaginateCollectionsPolicy >> addPaginationControlsTo: mediaControls within: aContext [ ^ mediaControls , aContext paginationControls ] { #category : #applying } -RESTFullControllerPaginateCollectionsPolicy >> affect: response within: aContext [ +RESTfulControllerPaginateCollectionsPolicy >> affect: response within: aContext [ aContext paginationControls do: [ :assoc | @@ -36,22 +36,22 @@ RESTFullControllerPaginateCollectionsPolicy >> affect: response within: aContext ] { #category : #applying } -RESTFullControllerPaginateCollectionsPolicy >> evaluateQuery: aQueryEvaluationBlock basedOn: anHttpRequest [ +RESTfulControllerPaginateCollectionsPolicy >> evaluateQuery: aQueryEvaluationBlock basedOn: anHttpRequest [ ^ resourceController evaluateQuery: [ aQueryEvaluationBlock cull: (self paginationFrom: anHttpRequest) ] ] { #category : #initialization } -RESTFullControllerPaginateCollectionsPolicy >> initializeFor: aResourceController with: aPaginationLimit [ +RESTfulControllerPaginateCollectionsPolicy >> initializeFor: aResourceController with: aPaginationLimit [ resourceController := aResourceController. defaultLimit := aPaginationLimit ] { #category : #private } -RESTFullControllerPaginateCollectionsPolicy >> paginationFrom: anHttpRequest [ +RESTfulControllerPaginateCollectionsPolicy >> paginationFrom: anHttpRequest [ - ^ PaginationSpec + ^ PaginationSpecification startingAt: (IsInteger parseString: (anHttpRequest at: #start ifAbsent: [ 1 ])) limitedTo: (IsInteger parseString: (anHttpRequest at: #limit ifAbsent: [ defaultLimit ])) ] diff --git a/source/Stargate-Model/ResourceRESTFulControllerSpecification.class.st b/source/Stargate-Model/ResourceRESTfulControllerSpecification.class.st similarity index 75% rename from source/Stargate-Model/ResourceRESTFulControllerSpecification.class.st rename to source/Stargate-Model/ResourceRESTfulControllerSpecification.class.st index 569bf66..8b5710d 100644 --- a/source/Stargate-Model/ResourceRESTFulControllerSpecification.class.st +++ b/source/Stargate-Model/ResourceRESTfulControllerSpecification.class.st @@ -5,25 +5,25 @@ I provide the supported mediaTypes for the service to be used during content neg I provide a set of routes to be used to configure Teapot. " Class { - #name : #ResourceRESTFulControllerSpecification, + #name : #ResourceRESTfulControllerSpecification, #superclass : #Object, #category : #'Stargate-Model-Controllers' } { #category : #acccessing } -ResourceRESTFulControllerSpecification >> mappingRuleSet [ +ResourceRESTfulControllerSpecification >> mappingRuleSet [ ^ (ReflectiveMappingRuleSetBuilder for: self) build ] { #category : #acccessing } -ResourceRESTFulControllerSpecification >> mediaTypes [ +ResourceRESTfulControllerSpecification >> mediaTypes [ ^ (UnaryMessageSendingCollector sendingAllMessagesEndingWith: 'MediaType' to: self) value ] { #category : #acccessing } -ResourceRESTFulControllerSpecification >> routes [ +ResourceRESTfulControllerSpecification >> routes [ ^ (UnaryMessageSendingCollector sendingAllMessagesEndingWith: 'Route' to: self) value ]