class Ensconce::MydexAdapter

Public Instance Methods

change_data_keys_to_data_store_names() click to toggle source
# File lib/ensconce/adapters/mydex_adapter.rb, line 54
def change_data_keys_to_data_store_names
  @data = Mangle.rekey(@data, key_map(@data_set))
end
change_data_keys_to_mydex_names() click to toggle source
# File lib/ensconce/adapters/mydex_adapter.rb, line 58
def change_data_keys_to_mydex_names
  @data = Mangle.rekey(@data, key_map(@data_set).invert)
end
connection() click to toggle source
# File lib/ensconce/adapters/mydex_adapter.rb, line 33
    def connection
      Faraday.new(:url => options[:url]) do |faraday|
        faraday.request  :url_encoded             # form-encode POST params
#        faraday.response :logger                  # log requests to STDOUT
        faraday.adapter  Faraday.default_adapter  # make requests with Net::HTTP
      end      
    end
extact_values() click to toggle source
# File lib/ensconce/adapters/mydex_adapter.rb, line 62
def extact_values
  HashBuilder.new(
    keys: @data.keys, 
    values: @data.values,
    values_mod: lambda {|value| value['value']}
  ).hash
end
get() click to toggle source
# File lib/ensconce/adapters/mydex_adapter.rb, line 8
def get
  @data_set = params[:data_set]
  response = connection.get(
    path,
    params.merge({ dataset: @data_set })
  )
  @data = JSON.parse response.body
  @data = @data[@data_set]['instance_0']
  change_data_keys_to_data_store_names
  extact_values
end
key_map(key) click to toggle source
# File lib/ensconce/adapters/mydex_adapter.rb, line 70
def key_map(key)
  MydexKeyMap.for(key)
end
params() click to toggle source
Calls superclass method
# File lib/ensconce/adapters/mydex_adapter.rb, line 41
def params
  super.merge(
    key: settings.key,
    api_key: options[:api_key],
    con_id: settings.con_id,
    source_type: 'connection' 
  )
end
path() click to toggle source
# File lib/ensconce/adapters/mydex_adapter.rb, line 50
def path
  "api/pds/pds/#{settings.id}.json"
end
push(data) click to toggle source
# File lib/ensconce/adapters/mydex_adapter.rb, line 20
def push(data)
  @data_set = params[:data_set]
  @data = data
  change_data_keys_to_mydex_names
  response = connection.put do |req|
    req.url path
    req.headers['Content-Type'] = 'application/json'
    req.body = {@data_set => [@data]}.to_json
    req.params = params
  end
  response.body
end