2 module ControllerModule
4 class Base < ManifestBase::TypeNameArgs
5 attr :alias, :param_id, :item_name, :action_name, :original
9 @args['item_name'] ||= ::Manifest.manifest.singularize(@parent.name)
10 @args['param_id'] ||= 'prefix'
16 @alias = @args['alias']
17 @item_name = @args['item_name']
18 @param_id = @args['param_id']
19 # source manifest of alias manifest
20 @original = @args['original']
28 ['item_name', 'param_id']
37 c = ::Manifest.manifest.controllers[s[0]]
42 ::Manifest.manifest.pluralize(@item_name)
45 def encode_query params
47 q.push('page=' + params['page'].to_s) if params['page']
48 q.push('page_size=' + params['page_size'].to_s) if params['page_size']
49 q.push('offset=' + params['offset'].to_s) if params['offset']
50 q.push('count=' + params['count'].to_s) if params['count']
58 def encode_url params = {}
59 controller_name = '/' + self.path_name
61 a = if @name == 'index' or @name == 'show' or @name == 'destroy'
66 pf = params['format'] || params[:format]
67 # f = if params['format'] # json request? so bad. html request as get rest api
69 '.' + params['format'].to_s
73 pid = params['id'] || params[:id]
75 '/' + params['id'].to_s
79 q = self.encode_query(params)
91 self.encode_url(params)