Sha256: 17bbd6b30c42ceed44e8f1800767df1673d69898276f8fe08f6ecd073bd29eb3

Contents?: true

Size: 1022 Bytes

Versions: 3

Compression:

Stored size: 1022 Bytes

Contents

module Nwsdk
  class Timeline
    include Helpers

    attr_accessor :flags, :condition, :endpoint, :limit

    def initialize(*args)
      Hash[*args].each {|k,v| self.send("%s="%k, v)}
      @limit ||= 10000
      @flags ||= %w{ size }
    end

    def request
      result=build_request.execute
      if response_successful?(result)
        res=count_results(JSON.parse(result))
        keys=res.keys.map {|k| k - k.gmtoff}
        Hash[keys.zip(res.values)]
      else
        result
      end
    end

    def build_request
      endpoint.get_request(
        path: 'sdk',
        params: build_params
      )
    end
    def build_params
      
      params={
        msg: 'timeline',
        time1: format_timestamp(condition.time1),
        time2: format_timestamp(condition.time2),
        size:  limit,
        timezone: 0,
        flags: flags.join(','),
      }
      if condition.where.nil?
        params
      else
        params.merge(where: condition.format(use_time: false))
      end
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
nwsdk-1.2.0 lib/nwsdk/timeline.rb
nwsdk-1.1.7 lib/nwsdk/timeline.rb
nwsdk-1.1.3 lib/nwsdk/timeline.rb