module TheGrid::Builder::Json
Public Instance Methods
build(context, params)
click to toggle source
# File lib/the_grid/builder/json.rb, line 6 def build(context, params) api, options = compose(params[:for], params[:with]), params[:with] json = {:max_page => api.options[:max_page], :items => context.assemble(api.relation)} if options[:with_meta] json[:meta] = context.options.except(:delegate, :search_over) json[:columns] = columns_as_array(context.visible_columns) end stringify json end
Private Instance Methods
columns_as_array(columns)
click to toggle source
# File lib/the_grid/builder/json.rb, line 22 def columns_as_array(columns) columns.map do |name, options| options[:columns] = columns_as_array(options[:columns]) if options[:columns].is_a? Hash options.merge :name => name end end
stringify(json_hash)
click to toggle source
# File lib/the_grid/builder/json.rb, line 18 def stringify(json_hash) self.prettify_json ? JSON.pretty_generate(json_hash) : json_hash.to_json end