Sha256: 86d0c1d0f80043ac429d4ef4d5f55eaec8279e514c0c4ef5cf686ab47d2b0dc5

Contents?: true

Size: 1.21 KB

Versions: 48

Compression:

Stored size: 1.21 KB

Contents

require 'securerandom'
require 'json'

module FlydataCore
  module Event
    class FlydataEvent
      attr_accessor :noun
      attr_accessor :verb
      attr_accessor :data #recommended that it be a hash
      attr_accessor :id
      attr_accessor :created
      attr_accessor :data_entry_id
      attr_accessor :data_port_id

      # params:
      #   data_port_id: nil,
      #   data_entry_id: nil,
      #   id: nil,
      #   data: nil,
      #   timestamp: nil
      def initialize (noun, verb, params = {})
        params ||= {}

        @noun = noun
        @verb = verb
        @data_entry_id = params[:data_entry_id] ? params[:data_entry_id].to_i : nil
        @data_port_id = params[:data_port_id] ? params[:data_port_id].to_i : nil
        @data = params[:data]
        @id = params[:id].nil? ? SecureRandom.uuid : params[:id]
        @created = params[:timestamp].nil? ? Time.now : params[:timestamp]
      end

      def to_h
        {
          noun: @noun,
          verb: @verb,
          data_entry_id: @data_entry_id,
          data_port_id: @data_port_id,
          id: @id,
          created: @created,
          data: @data,
        }
      end

      def to_json
        to_h.to_json
      end
    end
  end
end

Version data entries

48 entries across 48 versions & 1 rubygems

Version Path
flydata-0.8.10.2 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.8.10.1 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.8.9.11 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.8.10 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.8.9 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.8.8 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.8.7 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.8.6 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.8.5 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.8.4 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.8.3 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.8.2 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.8.1 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.8.0 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.7.19 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.7.18 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.7.17 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.7.16 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.7.15 flydata-core/lib/flydata-core/event/flydata_event.rb
flydata-0.7.14 flydata-core/lib/flydata-core/event/flydata_event.rb