class Cuba::Libre

Constants

VERSION

Public Class Methods

new(name) click to toggle source
# File lib/cuba/libre.rb, line 6
def initialize(name)
  @project_name = name.downcase
end

Public Instance Methods

create_config_file() click to toggle source
# File lib/cuba/libre.rb, line 14
def create_config_file
  File.open("./#{@project_name}/config.ru", 'w+') do |file|
    file.write setup_config
  end
end
create_cuba_file() click to toggle source
# File lib/cuba/libre.rb, line 20
def create_cuba_file
  File.open("./#{@project_name}/#{@project_name}.rb", 'w+') do |file|
    file.write setup_cuba
  end
end
create_dir() click to toggle source
# File lib/cuba/libre.rb, line 10
def create_dir
  Dir.mkdir(@project_name)
end

Private Instance Methods

setup_config() click to toggle source
# File lib/cuba/libre.rb, line 69
    def setup_config
<<-EOF
require "./#{@project_name}"

run Cuba
EOF
    end
setup_cuba() click to toggle source
# File lib/cuba/libre.rb, line 28
    def setup_cuba
<<-EOF
require 'cuba'

# If you need extra protection.
# require 'rack/protection'
# Cuba.use Rack::Protection
# Cuba.use Rack::Protection::RemoteReferrer

Cuba.use Rack::Session::Cookie, :secret => "#{SecureRandom.base64(128)}"

# Cuba includes a plugin called Cuba::Render that provides a couple of helper methods for rendering templates.
# require "cuba/render"
# Cuba.plugin(Cuba::Render)

# This plugin uses Tilt, which serves as an interface to a bunch of different Ruby template engines
# (ERB, Haml, Sass, CoffeeScript, etc.), so you can use the template engine of your choice.
# require 'slim'
# Cuba.settings[:render][:template_engine] = 'slim'

# Cuba.settings[:render][:template_engine] = "slim"
# Cuba.settings[:render][:views] = "./views/admin/"
# Cuba.settings[:render][:layout] = "admin"

# To launch just type: 'rackup' in your console
Cuba.define do
  on get do
    on "#{@project_name}" do
      on root do
        res.write 'Hello world!'
      end
    end

    on root do
      res.redirect "/#{@project_name}"
    end
  end
end
EOF
    end