From f37f284605da4a1bcf02b3dcf9b40aef3fafa5dd Mon Sep 17 00:00:00 2001 From: Tony Tam Date: Thu, 6 Sep 2012 09:09:47 -0700 Subject: [PATCH] updated to make names friendly --- .../sinatra/SinatraServerGenerator.scala | 13 +- .../server-generator/sinatra/output/MyApp.rb | 12 -- .../server-generator/sinatra/output/config.ru | 2 +- .../sinatra/output/lib/PetApi.rb | 112 ----------- .../sinatra/output/lib/StoreApi.rb | 66 ------- .../sinatra/output/lib/UserApi.rb | 181 ------------------ .../sinatra/templates/MyApp.rb | 12 -- .../sinatra/templates/config.ru | 2 +- .../sinatra/templates/main.mustache | 42 ---- 9 files changed, 10 insertions(+), 432 deletions(-) delete mode 100644 samples/server-generator/sinatra/output/MyApp.rb delete mode 100644 samples/server-generator/sinatra/output/lib/PetApi.rb delete mode 100644 samples/server-generator/sinatra/output/lib/StoreApi.rb delete mode 100644 samples/server-generator/sinatra/output/lib/UserApi.rb delete mode 100644 samples/server-generator/sinatra/templates/MyApp.rb delete mode 100644 samples/server-generator/sinatra/templates/main.mustache diff --git a/samples/server-generator/sinatra/SinatraServerGenerator.scala b/samples/server-generator/sinatra/SinatraServerGenerator.scala index 10f7beab74c..46a7eae211a 100644 --- a/samples/server-generator/sinatra/SinatraServerGenerator.scala +++ b/samples/server-generator/sinatra/SinatraServerGenerator.scala @@ -14,17 +14,20 @@ * limitations under the License. */ -import com.wordnik.swagger.codegen.BasicScalaGenerator - +import com.wordnik.swagger.codegen.BasicRubyGenerator import com.wordnik.swagger.core._ import java.io.File import scala.collection.mutable.{ HashMap, ListBuffer } -object SinatraServerGenerator extends BasicScalaGenerator { +object SinatraServerGenerator extends BasicRubyGenerator { def main(args: Array[String]) = generateClient(args) + override def toApiName(name: String): String = { + name + "_api" + } + override def templateDir = "samples/server-generator/sinatra/templates" val outputFolder = "samples/server-generator/sinatra/output" @@ -45,8 +48,8 @@ object SinatraServerGenerator extends BasicScalaGenerator { override def supportingFiles = List( ("README.md", outputFolder, "README.md"), ("config.ru", outputFolder, "config.ru"), - ("MyApp.rb", outputFolder, "MyApp.rb"), - ("lib/Swaggering.rb", outputFolder + File.separator + "lib", "Swaggering.rb")) + ("my_app.mustache", outputFolder, "my_app.rb"), + ("lib/swaggering.rb", outputFolder + File.separator + "lib", "swaggering.rb")) override def processApiMap(m: Map[String, AnyRef]): Map[String, AnyRef] = { val mutable = scala.collection.mutable.Map() ++ m diff --git a/samples/server-generator/sinatra/output/MyApp.rb b/samples/server-generator/sinatra/output/MyApp.rb deleted file mode 100644 index d01cf69327d..00000000000 --- a/samples/server-generator/sinatra/output/MyApp.rb +++ /dev/null @@ -1,12 +0,0 @@ -require './lib/swaggering' - -# only need to extend if you want special configuration! -class MyApp < Swaggering - self.configure do |config| - config.api_version = '0.2' - end -end - -require './lib/PetApi.rb' -require './lib/StoreApi.rb' -require './lib/UserApi.rb' diff --git a/samples/server-generator/sinatra/output/config.ru b/samples/server-generator/sinatra/output/config.ru index dd65689c94e..395d0587123 100644 --- a/samples/server-generator/sinatra/output/config.ru +++ b/samples/server-generator/sinatra/output/config.ru @@ -1,2 +1,2 @@ -require './myapp' +require './my_app' run MyApp diff --git a/samples/server-generator/sinatra/output/lib/PetApi.rb b/samples/server-generator/sinatra/output/lib/PetApi.rb deleted file mode 100644 index 774349d2e9c..00000000000 --- a/samples/server-generator/sinatra/output/lib/PetApi.rb +++ /dev/null @@ -1,112 +0,0 @@ -require 'json' - -MyApp.add_route('get', '/:petId', { - "resourcePath" => "/pet", - "summary" => "Find pet by ID", - "nickname" => "getPetById", - "responseClass" => "Pet", - "endpoint" => "/:petId", - "notes" => "Returns a pet based on ID", - "parameters" => [ - { - "name" => "petId", - "description" => "ID of pet that needs to be fetched", - "dataType" => "string", - "paramType" => "path", - }, - ]}) do - cross_origin - # the guts live here - - {"message" => "yes, it worked"}.to_json -end - -MyApp.add_route('post', '/', { - "resourcePath" => "/pet", - "summary" => "Add a new pet to the store", - "nickname" => "addPet", - "responseClass" => "void", - "endpoint" => "/", - "notes" => "", - "parameters" => [ - { - "name" => "body", - "description" => "Pet object that needs to be added to the store", - "dataType" => "Pet", - "paramType" => "body", - } - ]}) do - cross_origin - # the guts live here - - {"message" => "yes, it worked"}.to_json -end - -MyApp.add_route('put', '/', { - "resourcePath" => "/pet", - "summary" => "Update an existing pet", - "nickname" => "updatePet", - "responseClass" => "void", - "endpoint" => "/", - "notes" => "", - "parameters" => [ - { - "name" => "body", - "description" => "Pet object that needs to be updated in the store", - "dataType" => "Pet", - "paramType" => "body", - } - ]}) do - cross_origin - # the guts live here - - {"message" => "yes, it worked"}.to_json -end - -MyApp.add_route('get', '/findByStatus', { - "resourcePath" => "/pet", - "summary" => "Finds Pets by status", - "nickname" => "findPetsByStatus", - "responseClass" => "List[Pet]", - "endpoint" => "/findByStatus", - "notes" => "Multiple status values can be provided with comma seperated strings", - "parameters" => [ - { - "name" => "status", - "description" => "Status values that need to be considered for filter", - "dataType" => "string", - "paramType" => "query", - "allowMultiple" => true, - "allowableValues" => "LIST[available,pending,sold]", - "defaultValue" => "available"}, - ]}) do - cross_origin - # the guts live here - - {"message" => "yes, it worked"}.to_json -end - -MyApp.add_route('get', '/findByTags', { - "resourcePath" => "/pet", - "summary" => "Finds Pets by tags", - "nickname" => "findPetsByTags", - "responseClass" => "List[Pet]", - "endpoint" => "/findByTags", - "notes" => "Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing.", - "parameters" => [ - { - "name" => "tags", - "description" => "Tags to filter by", - "dataType" => "string", - "paramType" => "query", - "allowMultiple" => true, - "allowableValues" => "", - }, - ]}) do - cross_origin - # the guts live here - - {"message" => "yes, it worked"}.to_json -end - - diff --git a/samples/server-generator/sinatra/output/lib/StoreApi.rb b/samples/server-generator/sinatra/output/lib/StoreApi.rb deleted file mode 100644 index 8a5e2315c49..00000000000 --- a/samples/server-generator/sinatra/output/lib/StoreApi.rb +++ /dev/null @@ -1,66 +0,0 @@ -require 'json' - -MyApp.add_route('get', '/order/:orderId', { - "resourcePath" => "/store", - "summary" => "Find purchase order by ID", - "nickname" => "getOrderById", - "responseClass" => "Order", - "endpoint" => "/order/:orderId", - "notes" => "For valid response try integer IDs with value <= 5. Anything above 5 or nonintegers will generate API errors", - "parameters" => [ - { - "name" => "orderId", - "description" => "ID of pet that needs to be fetched", - "dataType" => "string", - "paramType" => "path", - }, - ]}) do - cross_origin - # the guts live here - - {"message" => "yes, it worked"}.to_json -end - -MyApp.add_route('delete', '/order/:orderId', { - "resourcePath" => "/store", - "summary" => "Delete purchase order by ID", - "nickname" => "deleteOrder", - "responseClass" => "void", - "endpoint" => "/order/:orderId", - "notes" => "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors", - "parameters" => [ - { - "name" => "orderId", - "description" => "ID of the order that needs to be deleted", - "dataType" => "string", - "paramType" => "path", - }, - ]}) do - cross_origin - # the guts live here - - {"message" => "yes, it worked"}.to_json -end - -MyApp.add_route('post', '/order', { - "resourcePath" => "/store", - "summary" => "Place an order for a pet", - "nickname" => "placeOrder", - "responseClass" => "void", - "endpoint" => "/order", - "notes" => "", - "parameters" => [ - { - "name" => "body", - "description" => "order placed for purchasing the pet", - "dataType" => "Order", - "paramType" => "body", - } - ]}) do - cross_origin - # the guts live here - - {"message" => "yes, it worked"}.to_json -end - - diff --git a/samples/server-generator/sinatra/output/lib/UserApi.rb b/samples/server-generator/sinatra/output/lib/UserApi.rb deleted file mode 100644 index cbea015d767..00000000000 --- a/samples/server-generator/sinatra/output/lib/UserApi.rb +++ /dev/null @@ -1,181 +0,0 @@ -require 'json' - -MyApp.add_route('post', '/createWithArray', { - "resourcePath" => "/user", - "summary" => "Creates list of users with given input array", - "nickname" => "createUsersWithArrayInput", - "responseClass" => "void", - "endpoint" => "/createWithArray", - "notes" => "", - "parameters" => [ - { - "name" => "body", - "description" => "List of user object", - "dataType" => "Array[User]", - "paramType" => "body", - } - ]}) do - cross_origin - # the guts live here - - {"message" => "yes, it worked"}.to_json -end - -MyApp.add_route('post', '/', { - "resourcePath" => "/user", - "summary" => "Create user", - "nickname" => "createUser", - "responseClass" => "void", - "endpoint" => "/", - "notes" => "This can only be done by the logged in user.", - "parameters" => [ - { - "name" => "body", - "description" => "Created user object", - "dataType" => "User", - "paramType" => "body", - } - ]}) do - cross_origin - # the guts live here - - {"message" => "yes, it worked"}.to_json -end - -MyApp.add_route('post', '/createWithList', { - "resourcePath" => "/user", - "summary" => "Creates list of users with given list input", - "nickname" => "createUsersWithListInput", - "responseClass" => "void", - "endpoint" => "/createWithList", - "notes" => "", - "parameters" => [ - { - "name" => "body", - "description" => "List of user object", - "dataType" => "List[User]", - "paramType" => "body", - } - ]}) do - cross_origin - # the guts live here - - {"message" => "yes, it worked"}.to_json -end - -MyApp.add_route('put', '/:username', { - "resourcePath" => "/user", - "summary" => "Updated user", - "nickname" => "updateUser", - "responseClass" => "void", - "endpoint" => "/:username", - "notes" => "This can only be done by the logged in user.", - "parameters" => [ - { - "name" => "username", - "description" => "name that need to be deleted", - "dataType" => "string", - "paramType" => "path", - }, - { - "name" => "body", - "description" => "Updated user object", - "dataType" => "User", - "paramType" => "body", - } - ]}) do - cross_origin - # the guts live here - - {"message" => "yes, it worked"}.to_json -end - -MyApp.add_route('delete', '/:username', { - "resourcePath" => "/user", - "summary" => "Delete user", - "nickname" => "deleteUser", - "responseClass" => "void", - "endpoint" => "/:username", - "notes" => "This can only be done by the logged in user.", - "parameters" => [ - { - "name" => "username", - "description" => "The name that needs to be deleted", - "dataType" => "string", - "paramType" => "path", - }, - ]}) do - cross_origin - # the guts live here - - {"message" => "yes, it worked"}.to_json -end - -MyApp.add_route('get', '/:username', { - "resourcePath" => "/user", - "summary" => "Get user by user name", - "nickname" => "getUserByName", - "responseClass" => "User", - "endpoint" => "/:username", - "notes" => "", - "parameters" => [ - { - "name" => "username", - "description" => "The name that needs to be fetched. Use user1 for testing.", - "dataType" => "string", - "paramType" => "path", - }, - ]}) do - cross_origin - # the guts live here - - {"message" => "yes, it worked"}.to_json -end - -MyApp.add_route('get', '/login', { - "resourcePath" => "/user", - "summary" => "Logs user into the system", - "nickname" => "loginUser", - "responseClass" => "String", - "endpoint" => "/login", - "notes" => "", - "parameters" => [ - { - "name" => "username", - "description" => "The user name for login", - "dataType" => "string", - "paramType" => "query", - "allowMultiple" => false, - "allowableValues" => "", - }, - { - "name" => "password", - "description" => "The password for login in clear text", - "dataType" => "string", - "paramType" => "query", - "allowMultiple" => false, - "allowableValues" => "", - }, - ]}) do - cross_origin - # the guts live here - - {"message" => "yes, it worked"}.to_json -end - -MyApp.add_route('get', '/logout', { - "resourcePath" => "/user", - "summary" => "Logs out current logged in user session", - "nickname" => "logoutUser", - "responseClass" => "void", - "endpoint" => "/logout", - "notes" => "", - "parameters" => [ - ]}) do - cross_origin - # the guts live here - - {"message" => "yes, it worked"}.to_json -end - - diff --git a/samples/server-generator/sinatra/templates/MyApp.rb b/samples/server-generator/sinatra/templates/MyApp.rb deleted file mode 100644 index d01cf69327d..00000000000 --- a/samples/server-generator/sinatra/templates/MyApp.rb +++ /dev/null @@ -1,12 +0,0 @@ -require './lib/swaggering' - -# only need to extend if you want special configuration! -class MyApp < Swaggering - self.configure do |config| - config.api_version = '0.2' - end -end - -require './lib/PetApi.rb' -require './lib/StoreApi.rb' -require './lib/UserApi.rb' diff --git a/samples/server-generator/sinatra/templates/config.ru b/samples/server-generator/sinatra/templates/config.ru index dd65689c94e..395d0587123 100644 --- a/samples/server-generator/sinatra/templates/config.ru +++ b/samples/server-generator/sinatra/templates/config.ru @@ -1,2 +1,2 @@ -require './myapp' +require './my_app' run MyApp diff --git a/samples/server-generator/sinatra/templates/main.mustache b/samples/server-generator/sinatra/templates/main.mustache deleted file mode 100644 index 038dc22cf9e..00000000000 --- a/samples/server-generator/sinatra/templates/main.mustache +++ /dev/null @@ -1,42 +0,0 @@ -require 'json' -require './lib/swaggering' -require 'sinatra/cross_origin' - -configure do - -end - - -# only need to extend if you want special configuration! -class MyApp < Swaggering - self.configure do |config| - config.api_version = '0.2' - end -end - -# add all your routes -{{#apis}} -{{#operations}} -MyApp.add_route('{{httpMethod}}', '{{path}}', { - "resourcePath" => "{{resourcePath}}", - "summary" => "{{{summary}}}", - "nickname" => "{{nickname}}", - "responseClass" => "{{responseClass}}", - "endpoint" => "{{name}}", - "notes" => "{{{notes}}}", - "parameters" => [{ - "name" => "status", - "description" => "Status values that need to be considered for filter", - "dataType" => "string", - "paramType" => "path", - "allowMultiple" => true, - "allowableValues" => "LIST[available,pending,sold]", - "defaultValue" => "available"}]}) do - cross_origin - # the guts live here - - {"message" => "yes, it worked"}.to_json -end - -{{/operations}} -{{/apis}}