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']
45 c = ::Manifest.manifest.controllers[s[0]]
50 ::Manifest.manifest.pluralize(@item_name)
53 def encode_query params
55 q.push('page=' + params['page'].to_s) if params['page']
56 q.push('page_size=' + params['page_size'].to_s) if params['page_size']
57 q.push('offset=' + params['offset'].to_s) if params['offset']
58 q.push('count=' + params['count'].to_s) if params['count']
66 def encode_url params = {}
67 controller_name = '/' + self.path_name
69 a = if @name == 'index' or @name == 'show' or @name == 'destroy'
74 pf = params['format'] || params[:format]
75 # f = if params['format'] # json request? so bad. html request as get rest api
77 '.' + params['format'].to_s
81 pid = params['id'] || params[:id]
83 '/' + params['id'].to_s
87 q = self.encode_query(params)
99 self.encode_url(params)