lib/roda/endpoints/endpoint.rb in roda-endpoints-0.3.0 vs lib/roda/endpoints/endpoint.rb in roda-endpoints-0.3.1
- old
+ new
@@ -5,10 +5,12 @@
require 'roda/endpoints/endpoint/lookup'
require 'roda/endpoints/endpoint/namespace'
require 'roda/endpoints/endpoint/transactions'
require 'roda/endpoints/endpoint/validations'
require 'roda/endpoints/endpoint/verbs'
+require 'roda/endpoints/endpoint/data'
+require 'roda/endpoints/endpoint/caching'
require 'dry/monads'
class Roda
module Endpoints
# Generic HTTP endpoint abstraction.
@@ -38,17 +40,20 @@
singleton_class.define_attribute(key) unless respond_to?(key)
instance_variable_set(:"@#{key}", value)
end
end
- prepend Namespace
+ include Namespace
prepend Verbs
- prepend Validations
+ include Validations
include Transactions
- prepend Lookup
+ include Lookup
- attr_accessor :captures
+ # @return [Array]
+ attr_reader :captures
+ # @return [String, Symbol]
+ attr_reader :on
# @return [Symbol]
def type
self.class.type
end
@@ -72,9 +77,10 @@
# @return [Proc]
def route
prepare_validations!
prepare_verbs!
+ prepare_transactions!
self.class.route
end
# @return [{Symbol=>Object}]
def to_hash