Class: Ensconce::MydexAdapter
- Inherits:
-
Adapter
- Object
- Adapter
- Ensconce::MydexAdapter
show all
- Defined in:
- lib/ensconce/adapters/mydex_adapter.rb
Instance Attribute Summary
Attributes inherited from Adapter
#settings
Instance Method Summary
collapse
Methods inherited from Adapter
config, for, #initialize, options, #options, options=
Instance Method Details
#change_data_keys_to_data_store_names ⇒ Object
54
55
56
|
# 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 ⇒ Object
58
59
60
|
# 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 ⇒ Object
33
34
35
36
37
38
39
|
# File 'lib/ensconce/adapters/mydex_adapter.rb', line 33
def connection
Faraday.new(:url => options[:url]) do |faraday|
faraday.request :url_encoded faraday.adapter Faraday.default_adapter end
end
|
#extact_values ⇒ Object
62
63
64
65
66
67
68
|
# 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 ⇒ Object
8
9
10
11
12
13
14
15
16
17
18
|
# 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) ⇒ Object
70
71
72
|
# File 'lib/ensconce/adapters/mydex_adapter.rb', line 70
def key_map(key)
MydexKeyMap.for(key)
end
|
#params ⇒ Object
41
42
43
44
45
46
47
48
|
# 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 ⇒ Object
50
51
52
|
# File 'lib/ensconce/adapters/mydex_adapter.rb', line 50
def path
"api/pds/pds/#{settings.id}.json"
end
|
#push(data) ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
31
|
# 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.['Content-Type'] = 'application/json'
req.body = {@data_set => [@data]}.to_json
req.params = params
end
response.body
end
|