Sha256: ec75012223ba6dff20f2d0d684b588dab722829fb301e8146356070503ff3d0f

Contents?: true

Size: 1.75 KB

Versions: 36

Compression:

Stored size: 1.75 KB

Contents

module PublishMyData
  module DataCube
    class ObservationsController < PublishMyData::ApplicationController

      include PublishMyData::DataCubeController

      before_filter :get_dimensions, :get_pagination_params, :only => [:index]

      # GET /data/:dataset_slug/cube/observations
      # params:
      # rows_dimension = http://row-dimension-uri
      # columns_dimension = http://column-dimension-uri
      # http://locked-dimension-1-uri: http://locked-dimension-1-value-uri
      # order_by_column = http://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).
      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

    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
publish_my_data-1.3.25 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.24 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.23 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.22 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.21 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.20 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.19 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.18 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.17 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.16 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.15 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.14 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.13 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.12 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.11 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.10 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.9 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.8 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.7 app/controllers/publish_my_data/data_cube/observations_controller.rb
publish_my_data-1.3.6 app/controllers/publish_my_data/data_cube/observations_controller.rb