From 5975ed19470c2eac079024fcafb56e18d6ecec74 Mon Sep 17 00:00:00 2001 From: Rhenium Date: Sun, 9 Feb 2014 18:27:31 +0900 Subject: rewrite APIs with Grape and RABL --- lib/aclog/exceptions.rb | 5 +++++ lib/apidoc.rb | 17 --------------- lib/apidoc/controller_dsl.rb | 38 --------------------------------- lib/apidoc/controller_dsl/endpoint.rb | 30 -------------------------- lib/apidoc/controller_dsl/parameters.rb | 27 ----------------------- lib/apidoc/controller_dsl/resources.rb | 12 ----------- lib/apidoc/endpoint.rb | 18 ---------------- lib/apidoc/exceptions.rb | 17 --------------- lib/apidoc/parameter.rb | 13 ----------- lib/apidoc/railtie.rb | 9 -------- lib/apidoc/resource.rb | 12 ----------- 11 files changed, 5 insertions(+), 193 deletions(-) delete mode 100644 lib/apidoc.rb delete mode 100644 lib/apidoc/controller_dsl.rb delete mode 100644 lib/apidoc/controller_dsl/endpoint.rb delete mode 100644 lib/apidoc/controller_dsl/parameters.rb delete mode 100644 lib/apidoc/controller_dsl/resources.rb delete mode 100644 lib/apidoc/endpoint.rb delete mode 100644 lib/apidoc/exceptions.rb delete mode 100644 lib/apidoc/parameter.rb delete mode 100644 lib/apidoc/railtie.rb delete mode 100644 lib/apidoc/resource.rb (limited to 'lib') diff --git a/lib/aclog/exceptions.rb b/lib/aclog/exceptions.rb index 9b7078f..5eafc99 100644 --- a/lib/aclog/exceptions.rb +++ b/lib/aclog/exceptions.rb @@ -17,5 +17,10 @@ module Aclog class AccountPrivate < UserError; end class DocumentNotFound < StandardError; end + + class AclogError < StandardError; end + class NotFound < AclogError; end + class Forbidden < AclogError; end + class OAuthEchoError < AclogError; end end end diff --git a/lib/apidoc.rb b/lib/apidoc.rb deleted file mode 100644 index c85eceb..0000000 --- a/lib/apidoc.rb +++ /dev/null @@ -1,17 +0,0 @@ -Dir.glob(File.expand_path("../apidoc/**/*.rb", __FILE__)) {|file| require file } - -module Apidoc - extend self - - def resources - @@resources ||= {} - end - - def reload! - @@resources = nil - dir = "#{Rails.root}/app/controllers/" - Dir.glob("#{dir}**/*.rb") do |path| - ActiveSupport::Dependencies.load_file path - end - end -end diff --git a/lib/apidoc/controller_dsl.rb b/lib/apidoc/controller_dsl.rb deleted file mode 100644 index 38b1727..0000000 --- a/lib/apidoc/controller_dsl.rb +++ /dev/null @@ -1,38 +0,0 @@ -module Apidoc - module ControllerDsl - include Resources - include Endpoints - include Parameters - - private - def method_added(method_name) - super(method_name) - - if _apidoc_endpoint_started? - _apidoc_resource.endpoints[method_name] = _apidoc_current_endpoint - self._apidoc_current_endpoint = nil - end - end - - def _apidoc_resource - name = self.name.sub(/Controller$/, "").underscore - Apidoc.resources[name.to_sym] ||= Resource.new(name.titleize) - end - - def _apidoc_current_endpoint - @_apidoc_current_endpoint || raise(DslError, "Endpoint definition is not started.") - end - - def _apidoc_current_endpoint=(value) - @_apidoc_current_endpoint = value - end - - def _apidoc_endpoint_started? - @_apidoc_current_endpoint.present? - end - - def _apidoc_param_groups - @_apidoc_param_groups ||= {} - end - end -end diff --git a/lib/apidoc/controller_dsl/endpoint.rb b/lib/apidoc/controller_dsl/endpoint.rb deleted file mode 100644 index 18d4fe2..0000000 --- a/lib/apidoc/controller_dsl/endpoint.rb +++ /dev/null @@ -1,30 +0,0 @@ -module Apidoc - module ControllerDsl - module Endpoints - def get(endpoint) - _apidoc_endpoint(:get, endpoint) - end - - def post(endpoint) - _apidoc_endpoint(:post, endpoint) - end - - def _apidoc_endpoint(method, endpoint) - if _apidoc_endpoint_started? - raise DslError, "Previous endpoint #{_apidoc_current_endpoint} definition is not completed." - end - - self._apidoc_current_endpoint = Endpoint.new(method, endpoint) - end - - def description(description) - _apidoc_current_endpoint.description = description - end - - def nodoc - _apidoc_current_endpoint.nodoc = true - end - end - end -end - diff --git a/lib/apidoc/controller_dsl/parameters.rb b/lib/apidoc/controller_dsl/parameters.rb deleted file mode 100644 index c3d285f..0000000 --- a/lib/apidoc/controller_dsl/parameters.rb +++ /dev/null @@ -1,27 +0,0 @@ -module Apidoc - module ControllerDsl - module Parameters - def requires(name, example, description) - _apidoc_current_endpoint.parameters << Parameter.new(name, example, description, required: true) - end - - def optional(name, example, description) - _apidoc_current_endpoint.parameters << Parameter.new(name, example, description, required: false) - end - - def param_group(name, &blk) - if block_given? - _apidoc_param_groups[name] = blk - else - blk = _apidoc_param_groups[name] - if blk - blk.call - else - raise DslError, "Parameters group #{name} is not defined." - end - end - end - end - end -end - diff --git a/lib/apidoc/controller_dsl/resources.rb b/lib/apidoc/controller_dsl/resources.rb deleted file mode 100644 index 110b564..0000000 --- a/lib/apidoc/controller_dsl/resources.rb +++ /dev/null @@ -1,12 +0,0 @@ -module Apidoc - module ControllerDsl - module Resources - private - def resource_description(description) - _apidoc_resource.description = description - end - end - end -end - - diff --git a/lib/apidoc/endpoint.rb b/lib/apidoc/endpoint.rb deleted file mode 100644 index 14dedeb..0000000 --- a/lib/apidoc/endpoint.rb +++ /dev/null @@ -1,18 +0,0 @@ -module Apidoc - class Endpoint - attr_reader :method, :name, :parameters - attr_accessor :description, :nodoc - - def initialize(method, name) - @method = method - @name = name - @parameters = [] - @description = nil - @nodoc = false - end - - def to_s - "#{method.to_s.upcase} #{name}" - end - end -end diff --git a/lib/apidoc/exceptions.rb b/lib/apidoc/exceptions.rb deleted file mode 100644 index ee4685f..0000000 --- a/lib/apidoc/exceptions.rb +++ /dev/null @@ -1,17 +0,0 @@ -module Apidoc - class Error < StandardError; end - - class ParameterMissing < Error - def initialize(param) - super("Parameter is missing or the value is empty: #{param}") - end - end - - class ParameterInvalid < Error - def initialize(param) - super("Parameter is invalid: #{param}") - end - end - - class DslError < SyntaxError; end -end diff --git a/lib/apidoc/parameter.rb b/lib/apidoc/parameter.rb deleted file mode 100644 index 58b3d26..0000000 --- a/lib/apidoc/parameter.rb +++ /dev/null @@ -1,13 +0,0 @@ -module Apidoc - class Parameter - attr_reader :name, :example, :description, :required - alias required? required - - def initialize(name, example, description, required: false) - @name = name - @example = example - @description = description - @required = required - end - end -end diff --git a/lib/apidoc/railtie.rb b/lib/apidoc/railtie.rb deleted file mode 100644 index 9e992a3..0000000 --- a/lib/apidoc/railtie.rb +++ /dev/null @@ -1,9 +0,0 @@ -module Apidoc - class Railtie < Rails::Railtie - initializer "apidoc.controller_injections" do - ActiveSupport.on_load :action_controller do - extend ControllerDsl - end - end - end -end diff --git a/lib/apidoc/resource.rb b/lib/apidoc/resource.rb deleted file mode 100644 index b9afdf3..0000000 --- a/lib/apidoc/resource.rb +++ /dev/null @@ -1,12 +0,0 @@ -module Apidoc - class Resource - attr_reader :endpoints, :name - attr_accessor :description - - def initialize(name) - @name = name - @description = nil - @endpoints = {} - end - end -end -- cgit v1.2.3