Sha256: af7da1658334440599016b5bdeea6a476b55ac3184eeefca66fa69391fd0d5bd

Contents?: true

Size: 1.77 KB

Versions: 10

Compression:

Stored size: 1.77 KB

Contents

require 'gon-sinatra'
require 'haml'
require 'sinatra/base'
require 'sinatra/partial'

module PulseMeter
  module DygraphsVisualize
    class App < Sinatra::Base
      include PulseMeter::Mixins::Utils
      register Gon::Sinatra
      register Sinatra::Partial

      set :partial_template_engine, :haml

      def initialize(layout)
        @layout = layout
        super()
      end

      configure :production, :development do
        enable :logging
      end

      get '/' do
        @title = @layout.title
        gon.pageInfos = camelize_keys(@layout.page_infos)
        gon.options = camelize_keys(@layout.options)
        haml :main
      end

      get '/pages/:id/widgets' do
        id = params[:id].to_i 

        content_type :json
        camelize_keys(@layout.widgets(id - 1)).to_json
      end

      get '/pages/:page_id/widgets/:id' do
        page_id = params[:page_id].to_i 
        id = params[:id].to_i
        timespan = params[:timespan].to_i
				start_time = params[:startTime].to_i
				end_time = params[:endTime].to_i

        content_type :json
        camelize_keys(
					@layout.widget(
						page_id - 1,
						id - 1,
						timespan: timespan,
						start_time: start_time,
						end_time: end_time
					)
				).to_json
      end

      get '/sensors' do
        content_type :json
        camelize_keys(@layout.sensor_list).to_json
      end

      get '/dynamic_widget' do
				start_time = params[:startTime].to_i
				end_time = params[:endTime].to_i
        timespan = params[:timespan].to_i

        content_type :json
        camelize_keys(@layout.dynamic_widget(
          timespan: timespan,
          start_time: start_time,
          end_time: end_time,
          sensors: params[:sensor],
          type: params[:type])
        ).to_json
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
pulse_meter-dygraphs_visualizer-0.4.25 lib/pulse_meter/dygraphs_visualize/app.rb
pulse_meter-dygraphs_visualizer-0.4.23 lib/pulse_meter/dygraphs_visualize/app.rb
pulse_meter-dygraphs_visualizer-0.4.22 lib/pulse_meter/dygraphs_visualize/app.rb
pulse_meter-dygraphs_visualizer-0.4.21 lib/pulse_meter/dygraphs_visualize/app.rb
pulse_meter-dygraphs_visualizer-0.4.20 lib/pulse_meter/dygraphs_visualize/app.rb
pulse_meter-dygraphs_visualizer-0.4.19 lib/pulse_meter/dygraphs_visualize/app.rb
pulse_meter-dygraphs_visualizer-0.4.18 lib/pulse_meter/dygraphs_visualize/app.rb
pulse_meter-dygraphs_visualizer-0.4.17 lib/pulse_meter/dygraphs_visualize/app.rb
pulse_meter-dygraphs_visualizer-0.4.16 lib/pulse_meter/dygraphs_visualize/app.rb
pulse_meter-dygraphs_visualizer-0.4.15 lib/pulse_meter/dygraphs_visualize/app.rb