Sha256: dd9eb782bf3163dedb42fdc816019e9f0c70eb3279695a7c1904286349191fbb

Contents?: true

Size: 1.9 KB

Versions: 16

Compression:

Stored size: 1.9 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, options = {})
        tables = options[:tables] ? options[:tables].join(',') : ''
        @client.get("/#{@model_name.pluralize}/#{data_entry_id}/buffer_stat/#{options[:mode]}?tables=#{tables}")
      end

      def table_status(data_entry_id, options = {})
        tables = options[:tables] ? options[:tables].join(',') : ''
        @client.post("/#{@model_name.pluralize}/#{data_entry_id}/table_status", nil, {tables: tables})
      end

      def cleanup_sync(data_entry_id, tables, options = {})
        params = options.merge({tables: tables.join(',')})
        @client.post("/#{@model_name.pluralize}/#{data_entry_id}/cleanup_sync", nil, params)
      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

16 entries across 16 versions & 1 rubygems

Version Path
flydata-0.6.2 lib/flydata/api/data_entry.rb
flydata-0.6.1 lib/flydata/api/data_entry.rb
flydata-0.6.0 lib/flydata/api/data_entry.rb
flydata-0.5.21 lib/flydata/api/data_entry.rb
flydata-0.5.20 lib/flydata/api/data_entry.rb
flydata-0.5.17 lib/flydata/api/data_entry.rb
flydata-0.5.16 lib/flydata/api/data_entry.rb
flydata-0.5.15 lib/flydata/api/data_entry.rb
flydata-0.5.14 lib/flydata/api/data_entry.rb
flydata-0.5.13 lib/flydata/api/data_entry.rb
flydata-0.5.12 lib/flydata/api/data_entry.rb
flydata-0.5.11 lib/flydata/api/data_entry.rb
flydata-0.5.10 lib/flydata/api/data_entry.rb
flydata-0.5.9 lib/flydata/api/data_entry.rb
flydata-0.5.8 lib/flydata/api/data_entry.rb
flydata-0.5.7 lib/flydata/api/data_entry.rb