Class: PublishMyData::DataCube::ObservationsController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- PublishMyData::DataCube::ObservationsController
- Includes:
- PublishMyData::DataCubeController
- Defined in:
- app/controllers/publish_my_data/data_cube/observations_controller.rb
Instance Method Summary collapse
-
#index ⇒ Object
GET /data/:dataset_slug/cube/observations params: rows_dimension = row-dimension-uri columns_dimension = column-dimension-uri locked-dimension-1-uri: locked-dimension-1-value-uri order_by_column = column-uri (optional - will order by rows labels if not provided).
Instance Method Details
#index ⇒ Object
GET /data/:dataset_slug/cube/observations params: rows_dimension = row-dimension-uri columns_dimension = column-dimension-uri locked-dimension-1-uri: locked-dimension-1-value-uri order_by_column = column-uri (optional - will order by rows labels if not provided). order_desc = true/false (default false) page (default 1) per_page (default 500, min 1, max 5000).
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'app/controllers/publish_my_data/data_cube/observations_controller.rb', line 18 def index respond_to do |format| format.json do render json: @cube.grid_observations( @page, @per_page, @rows_dimension_uri, @columns_dimension_uri, @locked_dimensions, params[:order_desc], # optional params[:order_by_column] #optional ) end # this doesn't use the page and per page params send to the controller. # it returns the whole result set as one . format.csv do filename = "#{@dataset.slug.gsub("/", "|")}.csv" headers["Content-Type"] ||= 'text/csv' headers["Content-Disposition"] = "attachment; filename=\"#{filename}\"" render :text =>@cube.csv_observations( @rows_dimension_uri, @columns_dimension_uri, @locked_dimensions, params[:order_desc], # optional params[:order_by_column] #optional ) end end end |