Class: Backdrop::App

Inherits:
Sinatra::Base
  • Object
show all
Defined in:
lib/backdrop/app.rb

Constant Summary collapse

SUPPORTED_HTTP_METHODS =
[:get, :put]

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(app = nil) ⇒ App

Returns a new instance of App.



5
6
7
8
# File 'lib/backdrop/app.rb', line 5

def initialize(app = nil)
  super app
  self.class.build_routes
end

Class Method Details

.build_route(method, route, file) ⇒ Object



21
22
23
24
25
26
# File 'lib/backdrop/app.rb', line 21

def self.build_route(method, route, file)
  send(method, route) do
    builder = Backdrop::Builders.const_get(method.to_s.capitalize).new
    builder.route(self, file)
  end
end

.build_routesObject



10
11
12
13
14
15
16
17
18
19
# File 'lib/backdrop/app.rb', line 10

def self.build_routes
  SUPPORTED_HTTP_METHODS.each do |method|
    files = Dir["#{Backdrop.configuration.output_dir}/**/*.#{method}"]
    files.each do |file|
      route = file.gsub Backdrop.configuration.output_dir, ''
      route = route.gsub ".#{method}", ''
      build_route(method, route, file)
    end
  end
end