restool 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
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