Class: DataGuru::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/data_guru/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(api_url: nil, access_token: nil) ⇒ Client

Returns a new instance of Client.



6
7
8
9
# File 'lib/data_guru/client.rb', line 6

def initialize(api_url: nil, access_token: nil)
  return if api_url.blank? || access_token.blank?
  DataGuru.config = Configuration.new(api_url: api_url, access_token: access_token)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/data_guru/client.rb', line 11

def method_missing(name)
  create_model_class(name) if should_create_class?(name)
  value = DataGuru::Collection.new(collection_name: name,
                                   model: model(name),
                                   config_data: config_data[config_key(name)])
  get_variable(name) || set_variable(name, value)
end

Instance Method Details

#config_dataObject



32
33
34
# File 'lib/data_guru/client.rb', line 32

def config_data
  @config_data ||= HTTParty.get(config_resource_url)
end

#errorsObject



24
25
26
# File 'lib/data_guru/client.rb', line 24

def errors
  DataGuru::Validation.new.errors
end

#invalid_values(collection = "", attribute = "") ⇒ Object



28
29
30
# File 'lib/data_guru/client.rb', line 28

def invalid_values(collection = "", attribute = "")
  DataGuru::InvalidValues.new(self, collection, attribute).call
end

#refreshObject



19
20
21
22
# File 'lib/data_guru/client.rb', line 19

def refresh
  HTTParty.get(refresh_data_url)
  wipe_collections_cache
end