2 module ControllerModule
4 class Base < ManifestBase::TypeNameArgs
5 attr :param_id, :item_name, :action_name
9 @args['item_name'] ||= ::Manifest.manifest.singularize(@parent.name)
10 @args['param_id'] ||= 'prefix'
16 @item_name = @args['item_name']
17 @param_id = @args['param_id']
21 ::Manifest.manifest.pluralize(@item_name)
24 def encode_query params
26 q.push('page=' + params['page'].to_s) if params['page']
27 q.push('page_size=' + params['page_size'].to_s) if params['page_size']
35 def encode_url params = {}
36 controller_name = '/' + self.path_name
38 a = if @name == 'index' or @name == 'show' or @name == 'destroy'
43 pf = params['format'] || params[:format]
44 # f = if params['format'] # json request? so bad. html request as get rest api
46 '.' + params['format'].to_s
50 pid = params['id'] || params[:id]
52 '/' + params['id'].to_s
56 q = self.encode_query(params)
68 self.encode_url(params)