Class: VtigerRuby::Api::Query

Inherits:
Object
  • Object
show all
Defined in:
lib/vtiger-ruby/api/query.rb

Instance Method Summary collapse

Constructor Details

#initialize(client, sql_query: nil) ⇒ Query

Returns a new instance of Query.



4
5
6
7
# File 'lib/vtiger-ruby/api/query.rb', line 4

def initialize(client, sql_query: nil)
  @sql_query = sql_query
  @client = client
end

Instance Method Details

#fetch(sql_query = nil) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/vtiger-ruby/api/query.rb', line 20

def fetch(sql_query = nil)
  params = {
    'operation': 'query',
    'sessionName': @client.session_id,
    'query': sql_query || sql_for_records_after(last_record_id)
  }

  @query_response = Faraday.get(@client.endpoint, params) do |req|
    req.headers['User-Agent'] = 'VtigerRuby'
  end

  JSON.parse(@query_response.body).dig('result')
end

#fetch_allObject



9
10
11
12
13
14
15
16
17
18
# File 'lib/vtiger-ruby/api/query.rb', line 9

def fetch_all
  result = []
  latest_fetch = fetch

  until latest_fetch.empty?
    result.concat(latest_fetch)
    latest_fetch = fetch
  end
  result
end