aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/application.rb9
-rw-r--r--config/initializers/rabl.rb3
-rw-r--r--config/routes.rb11
3 files changed, 14 insertions, 9 deletions
diff --git a/config/application.rb b/config/application.rb
index 8844010..8e8204f 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -6,7 +6,6 @@ require "action_controller/railtie"
require "action_mailer/railtie"
require "sprockets/railtie"
# require "rails/test_unit/railtie"
-require "./lib/apidoc"
# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
@@ -18,6 +17,10 @@ module Aclog
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded.
+ # Configure grape
+ config.paths.add "app/api", eager_load: true
+ config.paths.add "app/api/concerns", eager_load: true
+
# Custom directories with classes and modules you want to be autoloadable.
config.autoload_paths += Dir["#{config.root}/lib/", "#{config.root}/lib/**/"]
@@ -42,5 +45,9 @@ module Aclog
g.test_framework :rspec
g.fixture_replacement :factory_girl
end
+
+ config.middleware.use(Rack::Config) do |env|
+ env["api.tilt.root"] = "#{config.root}/app/api/templates"
+ end
end
end
diff --git a/config/initializers/rabl.rb b/config/initializers/rabl.rb
new file mode 100644
index 0000000..f11eb19
--- /dev/null
+++ b/config/initializers/rabl.rb
@@ -0,0 +1,3 @@
+Rabl.configure do |config|
+ config.include_json_root = false
+end
diff --git a/config/routes.rb b/config/routes.rb
index e43d793..067ea79 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -1,11 +1,7 @@
Aclog::Application.routes.draw do
root to: "about#index"
- # JSON API
- scope "/api", format: false, defaults: { format: "json" } do
- get "/users/:action.json", controller: "users"
- get "/tweets/:action.json", controller: "tweets"
- end
+ mount Aclog::Api => "/api"
# Internals / SessionsController
get "/i/callback" => "sessions#create"
@@ -25,9 +21,8 @@ Aclog::Application.routes.draw do
get "/i/filter" => "tweets#filter", as: "filter"
get "/about" => "about#about", as: "about"
- get "/about/api" => "about#api", as: "about_api"
- get "/about/api/docs" => "apidocs#index", as: "api_docs"
- get "/about/api/docs/:resource/:name" => "apidocs#endpoint", as: "api_docs_endpoint"
+ get "/about/api" => "apidocs#index", as: "about_api"
+ get "/about/api/:method/:namespace/:path" => "apidocs#endpoint", as: "about_api_endpoint", constraints: { namespace: /[\w\/]+/ }
# User pages
scope "/:screen_name" do