lib/motion-resource/urls.rb in motion-resource-0.1.3 vs lib/motion-resource/urls.rb in motion-resource-0.1.4
- old
+ new
@@ -1,17 +1,20 @@
module MotionResource
class Base
class_attribute :collection_url, :member_url
class_attribute :root_url, :default_url_options
class_attribute :extension
+ class_attribute :url_encoder
+
self.extension = '.json'
-
+ self.url_encoder = UrlEncoder.new
+
class << self
def custom_urls(params = {})
params.each do |name, url_format|
- define_method name do |params = {}|
- url_format.fill_url_params(params, self)
+ define_method name do |method_params = {}|
+ self.url_encoder.fill_url_params(url_format, method_params, self)
end
define_singleton_method name do
url_format
end
end
@@ -22,16 +25,17 @@
end
def member_url_or_default
member_url || "#{name.underscore.pluralize}/:#{primary_key}"
end
+
end
def collection_url(params = {})
- self.class.collection_url_or_default.fill_url_params(params, self)
+ self.class.url_encoder.fill_url_params(self.class.collection_url_or_default, params, self)
end
def member_url(params = {})
- self.class.member_url_or_default.fill_url_params(params, self)
+ self.class.url_encoder.fill_url_params(self.class.member_url_or_default, params, self)
end
end
end