Sha256: e6849ec188482860b9d93b4acce46420db3a5ab254002d26fdd685c9865e9c72

Contents?: true

Size: 1.04 KB

Versions: 1

Compression:

Stored size: 1.04 KB

Contents

require 'sinatra'

module Soaspec
  # Server for generating code
  class GenerateServer < Sinatra::Application
    include Soaspec::ExeHelpers

    class << self
      attr_accessor :create_params
    end

    set :port, (ENV['port'] || 8999).to_i

    get '/css/bootstrap.css' do
      [200, { 'Content-Type' => 'text/css' }, retrieve_contents('css/bootstrap.css', false)]
    end

    get '/' do
      GenerateServer.create_params ||= {}
      puts GenerateServer.create_params
      retrieve_contents('generate_exchange.html')
    end

    post '/generate' do
      File.write 'test', params.to_s
      type = :rest
      @name = params['className']
      @base_url = params['baseUrl']
      filename = File.join('lib', "#{params['className'].snakecase}.rb")
      create_file filename: filename,
                  content: retrieve_contents(File.join('lib', "new_#{type}_service.rb"))
      GenerateServer.create_params = params
      GenerateServer.create_params['feedback'] = "Created file at '#{filename}'"
      redirect '/'
      # params.to_s
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
soaspec-0.2.19 lib/soaspec/generate_server.rb