Sha256: 4484743ac9024383df8461d58153410a074d4e222753f8b836ed5776af9102f6
Contents?: true
Size: 923 Bytes
Versions: 2
Compression:
Stored size: 923 Bytes
Contents
require 'hovercraft/loader' require 'hovercraft/actions' require 'sinatra/base' require 'rack/contrib' require 'forwardable' module Hovercraft class Builder extend Forwardable def_delegator :@loader, :with_each_model def initialize @loader = Loader.new end def application application = Sinatra.new application = configure(application) application = generate_routes(application) application end def configure(application) application.register(Hovercraft::Actions) application.use(Rack::PostBodyContentTypeParser) application end def generate_routes(application) with_each_model do |model_class, model_name, plural_model_name| application.methods.grep(/generate/).each do |action| application.send(action, model_class, model_name, plural_model_name) end end application end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
hovercraft-0.0.2 | lib/hovercraft/builder.rb |
hovercraft-0.0.1 | lib/hovercraft/builder.rb |