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']
28 q.push('offset=' + params['offset'].to_s) if params['offset']
29 q.push('count=' + params['count'].to_s) if params['count']
37 def encode_url params = {}
38 controller_name = '/' + self.path_name
40 a = if @name == 'index' or @name == 'show' or @name == 'destroy'
45 pf = params['format'] || params[:format]
46 # f = if params['format'] # json request? so bad. html request as get rest api
48 '.' + params['format'].to_s
52 pid = params['id'] || params[:id]
54 '/' + params['id'].to_s
58 q = self.encode_query(params)
70 self.encode_url(params)