restool 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 584d88793980824115720aa0e0f037d0fae8c35439c4e24e16e33dc902b11e8b
4
- data.tar.gz: 7adca6d17ead07b51bbe097b273e655e5ff34d365bbc95ffb33620e70588cffa
3
+ metadata.gz: b9ce87d4cd969d5298ee7c90baef25ac9f2f2c3b725e4ae241a1b00a1b46114b
4
+ data.tar.gz: 45766774466195ec86b84048d1aa659302d8cc4b50771a4a73c19246f15d4ec5
5
5
  SHA512:
6
- metadata.gz: 0b93df06284266885ce45b9e83849a7125ed2d0f4bd82a236b5ea751aaa7860136aeaad9f248dd3ad5d6ab21d3948469a82973cbe0a19812a578d57cb43d4c55
7
- data.tar.gz: d1a7b15cfc046896fc3b57d9092c1ffe33f50d21a1d8645327b68b7a28259b3e47ee9349e74115d77028c5b02cbf26607c995a4f9c9db0e6b2f7e02796d30bbb
6
+ metadata.gz: f62e492a295bd06e4f8699b19f98d895a66f5fabfd286ac8c64bcc3907194bc3ea463eed3206ee96567fd2793221a295bee8af2cffefa6698e98fbf61acd6e76
7
+ data.tar.gz: 379a2006d01cbc9d35e08030f70e690414f77f9d8ce17fe6dc75a8d97a3493daf3b7153dc1d59cbd6b9a18b749accf5e85238ea2d1763bc2f62e97212e77d3ea
@@ -0,0 +1,25 @@
1
+ module Restool
2
+ module Mock
3
+ def self.create(service_name, &response_handler)
4
+ service_config = Restool::Settings::Loader.load(service_name)
5
+
6
+ # remote_client = Restool::Service::RemoteClient.new(service_config.host,
7
+ # service_config.verify_ssl,
8
+ # service_config.persistent,
9
+ # service_config.timeout)
10
+
11
+ class FakeRemoteClient
12
+ def initialize
13
+ end
14
+
15
+ def make_request(path, operation_method, params, headers, basic_auth)
16
+
17
+ end
18
+ end
19
+
20
+
21
+ remote_client = double(make_request)
22
+ Restool::Service::RestoolService.new(service_config, response_handler, remote_client)
23
+ end
24
+ end
25
+ end
@@ -105,7 +105,7 @@ module Restool
105
105
  def self.config
106
106
  return @config if @config
107
107
 
108
- files_to_load = Dir['config/restool/*'] + ['config/restool.yml', 'config/restool.json']
108
+ files_to_load = Dir['config/restool/*.yml'] + Dir['config/restool/*.yaml'] + ['config/restool.yml', 'config/restool.yaml', 'config/restool.json']
109
109
 
110
110
  @config = { 'services' => [] }
111
111
 
@@ -114,12 +114,12 @@ module Restool
114
114
 
115
115
  extension = File.extname(file_name)
116
116
 
117
- content = if extension == '.yml'
118
- YAML.load_file(file_name)
119
- elsif extension == '.json'
120
- json_file = File.read(file_name)
121
- JSON.parse(json_file)
122
- end
117
+ content = if extension == '.yml' || extension == '.yaml'
118
+ YAML.load_file(file_name)
119
+ elsif extension == '.json'
120
+ json_file = File.read(file_name)
121
+ JSON.parse(json_file)
122
+ end
123
123
 
124
124
  @config['services'] += content['services']
125
125
  end
@@ -127,10 +127,6 @@ module Restool
127
127
  @config
128
128
  end
129
129
 
130
- def self.validate
131
- # TODO: perform validations
132
- end
133
-
134
130
  end
135
131
  end
136
132
  end
@@ -19,6 +19,9 @@ module Restool
19
19
  def self.convert(request_response, response_representation, representations)
20
20
  object = Restool::Traversal::Object.new
21
21
 
22
+ object.class.__send__(:attr_accessor, :_raw)
23
+ object.__send__("_raw=", request_response)
24
+
22
25
  if request_response.is_a?(Array)
23
26
  request_response.map do |element|
24
27
  map_response_to_representation(response_representation, element, object, representations)
@@ -32,15 +35,15 @@ module Restool
32
35
 
33
36
  def self.map_response_to_representation(representation, request_response, object, representations)
34
37
  representation.fields.each do |field|
35
- value = request_response[field.key]
38
+ value = request_response[field.key.to_s] || request_response[field.key.to_sym]
39
+
40
+ object.class.__send__(:attr_accessor, var_name(field))
36
41
 
37
42
  if value.nil?
38
43
  set_var(object, field, nil)
39
44
  next
40
45
  end
41
46
 
42
- object.class.__send__(:attr_accessor, var_name(field))
43
-
44
47
  if Restool::Traversal::TRAVERSAL_TYPES.include?(field.type.to_sym)
45
48
  map_primitive_field(value, field, object)
46
49
  else
@@ -1,17 +1,5 @@
1
1
  module Restool
2
2
  module Traversal
3
- class Object
4
-
5
- def to_hash
6
- instance_variables
7
- .inject({}) do |acum, var|
8
- acum[var.to_s.delete('@')] = instance_variable_get(var)
9
- acum
10
- end
11
- end
12
-
13
- alias_method :to_h, :to_hash
14
-
15
- end
3
+ class Object; end
16
4
  end
17
5
  end
@@ -1,3 +1,3 @@
1
1
  module Restool
2
- VERSION = '0.1.4'
2
+ VERSION = '0.1.5'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: restool
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Andres Zeni
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-20 00:00:00.000000000 Z
11
+ date: 2020-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: persistent_http
@@ -33,6 +33,7 @@ extensions: []
33
33
  extra_rdoc_files: []
34
34
  files:
35
35
  - lib/restool.rb
36
+ - lib/restool/mock/restool.rb
36
37
  - lib/restool/service/operation_definer.rb
37
38
  - lib/restool/service/remote_client.rb
38
39
  - lib/restool/service/remote_connector.rb