Sha256: 61f6208a7a314495472bb43bb88be714f88f21e6809d906c4ce828ecc5a1c96f

Contents?: true

Size: 1.62 KB

Versions: 7

Compression:

Stored size: 1.62 KB

Contents

require 'json'
require 'flydata/api/base'

module Flydata
  module Api
    class DataEntry < Base
      def initialize(api_client)
        @model_name = 'data_entry'
        @url_path = "/data_ports/:data_port_id/#{@model_name.pluralize}"
        super
      end

      def buffer_stat(data_entry_id, params = {})
        tables = params[:tables] ? params[:tables].join(',') : ''
        @client.get("/#{@model_name.pluralize}/#{data_entry_id}/buffer_stat/#{params[:mode]}?tables=#{tables}")
      end

      def cleanup_sync(data_entry_id, tables)
        @client.post("/#{@model_name.pluralize}/#{data_entry_id}/cleanup_sync", nil, {tables: tables.join(',')})
      end

      # Update validity of tables
      #  table_validity_hash: {"updated_tables":{ "bad_table": "error reason", "good_table": nil }}
      #    table "bad_table" will be marked invalid with reason "error reason"
      #    table "good table" will be marked valid, that is, clear its error reason if it's set.
      def update_table_validity(data_entry_id, table_validity_hash)
        @client.post("/#{@model_name.pluralize}/#{data_entry_id}/update_table_validity", {:headers => {:content_type => :json}}, table_validity_hash.to_json)
      end

      # Tells the server that an initial sync has completed
      #  stats_hash: {"init_sync_stats":{"Table1": 100, "Table2": 12345}}
      #    Sent 100 records for Table1, Sent 12345 records for Table2
      def complete_init_sync(data_entry_id, stats_hash)
        @client.post("/#{@model_name.pluralize}/#{data_entry_id}/complete_init_sync", {:headers => {:content_type => :json}}, stats_hash.to_json)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
flydata-0.5.6 lib/flydata/api/data_entry.rb
flydata-0.5.5 lib/flydata/api/data_entry.rb
flydata-0.5.4 lib/flydata/api/data_entry.rb
flydata-0.5.3 lib/flydata/api/data_entry.rb
flydata-0.5.2 lib/flydata/api/data_entry.rb
flydata-0.5.1 lib/flydata/api/data_entry.rb
flydata-0.5.0 lib/flydata/api/data_entry.rb