reso_transport 1.3.1 → 1.5.3

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: b7450335b638d17bf1a52fb106213b7dd1ffd9686fd42d6c47e5597e93615b0a
4
- data.tar.gz: 6f251c592fec925868b0f3d5d80c4b70cc355a2de30fc2c0a3e157af97691e80
3
+ metadata.gz: 40a3ea232e3c5de03eea4c842abd89c85747dc0e67af48ed60a27dcefca572e1
4
+ data.tar.gz: 68c92d6a7282c9de70d4667275da926a0ea160a24c5daa515e2cb09af9a17bee
5
5
  SHA512:
6
- metadata.gz: 9db015797893915bab217cf91d7f4660e60999b66f70e5cd90f2e609f6b708de89ed1abb03ec06d9811a6b270fa3ddbfbba9983a877e395fb01e1a8a9f98b020
7
- data.tar.gz: b88a27a2c8d741e4af473f39f4308f23ebd9d48f0f9ad1cba1a9fb091b3a10df88c66a2b28206c084fe42512e02fbe470533ff2332c9e5d8376c26514443b9bc
6
+ metadata.gz: adf38742bf879054b2c6a83ca4cec083ae2aae478ff132e896e3e73eef09de7ba39e385ecf5588cf71760a6e28e01f0fb67917379347b00729eb70837adb4210
7
+ data.tar.gz: 2d59a335393538b6902ae6db24963284894c24f5c092bbf02cb403ec55a88270d83b3733b19abc8906946f1ee3ede4127eb68d9d0cd9d6dfd9621ff8490dfd48
@@ -0,0 +1 @@
1
+ 2.7.1
@@ -1,33 +1,33 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- reso_transport (1.3.0)
5
- faraday (~> 0.15.0)
4
+ reso_transport (1.5.2)
5
+ faraday (~> 1.0.1)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
10
  byebug (11.0.1)
11
- faraday (0.15.4)
11
+ faraday (1.0.1)
12
12
  multipart-post (>= 1.2, < 3)
13
13
  minitest (5.13.0)
14
14
  minitest-rg (5.2.0)
15
15
  minitest (~> 5.0)
16
16
  multipart-post (2.1.1)
17
- rake (10.5.0)
18
- vcr (5.0.0)
17
+ rake (13.0.1)
18
+ vcr (6.0.0)
19
19
 
20
20
  PLATFORMS
21
21
  ruby
22
22
 
23
23
  DEPENDENCIES
24
- bundler (~> 1.17)
24
+ bundler (~> 2)
25
25
  byebug
26
26
  minitest (~> 5.0)
27
27
  minitest-rg (~> 5.0)
28
- rake (~> 10.0)
28
+ rake (~> 13)
29
29
  reso_transport!
30
- vcr (~> 5.0)
30
+ vcr (~> 6.0)
31
31
 
32
32
  BUNDLED WITH
33
- 1.17.2
33
+ 2.1.4
data/README.md CHANGED
@@ -30,6 +30,25 @@ This gem has been tested to work with:
30
30
  * [Bridge Interactive](https://www.bridgeinteractive.com)
31
31
 
32
32
 
33
+ ### Logging
34
+
35
+ You can either set a global logger in an initializer file:
36
+
37
+ ```ruby
38
+ ResoTransport.configure do |c|
39
+ c.logger = Logger.new("some_log_file")
40
+ # OR
41
+ c.logger = Rails.logger
42
+ end
43
+
44
+ ```
45
+ Or you can set a logger for each specific instance of a client which can be useful for debugging:
46
+
47
+ ```ruby
48
+ @client = ResoTransport::Client.new(config.merge(logger: Logger.new("logfile")))
49
+ ```
50
+
51
+
33
52
  ### Getting Connected
34
53
 
35
54
  There are 2 strategies for authentication.
@@ -189,6 +208,7 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
189
208
 
190
209
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
191
210
 
211
+
192
212
  ## Contributing
193
213
 
194
214
  Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/reso_transport. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
@@ -22,9 +22,9 @@ require 'byebug'
22
22
 
23
23
  SECRETS = YAML.load_file("secrets.yml")
24
24
 
25
- @trestle = ResoTransport::Client.new(SECRETS[:trestle])
26
- @bridge = ResoTransport::Client.new(SECRETS[:bridge])
27
- @spark = ResoTransport::Client.new(SECRETS[:spark])
25
+ @trestle = ResoTransport::Client.new(SECRETS[:trestle].merge(logger: Logger.new($stdout)))
26
+ @bridge = ResoTransport::Client.new(SECRETS[:bridge].merge(logger: Logger.new($stdout)))
27
+ # @spark = ResoTransport::Client.new(SECRETS[:spark])
28
28
  @crmls = ResoTransport::Client.new(SECRETS[:crmls])
29
29
 
30
30
  IRB.start(__FILE__)
@@ -21,17 +21,19 @@ require "reso_transport/query"
21
21
 
22
22
 
23
23
 
24
- module Faraday
25
- module Utils
24
+ # module Faraday
25
+ # module Utils
26
26
 
27
- def escape(str)
28
- str.to_s.gsub(ESCAPE_RE) do |match|
29
- '%' + match.unpack('H2' * match.bytesize).join('%').upcase
30
- end.gsub(" ","%20")
27
+ # def escape(str)
28
+ # str.to_s.gsub(ESCAPE_RE) do |match|
29
+ # '%' + match.unpack('H2' * match.bytesize).join('%').upcase
30
+ # end.gsub(" ","%20")
31
31
 
32
- end
33
- end
34
- end
32
+ # end
33
+ # end
34
+ # end
35
+
36
+ Faraday::Utils.default_space_encoding = "%20"
35
37
 
36
38
  module ResoTransport
37
39
  class Error < StandardError; end
@@ -8,11 +8,12 @@ module ResoTransport
8
8
  @authentication = ensure_valid_auth_strategy(options.fetch(:authentication))
9
9
  @vendor = options.fetch(:vendor, {})
10
10
  @faraday_options = options.fetch(:faraday_options, {})
11
+ @logger = options.fetch(:logger, nil)
11
12
 
12
13
  @connection = Faraday.new(@endpoint, @faraday_options) do |faraday|
13
14
  faraday.request :url_encoded
14
- faraday.response :logger, ResoTransport.configuration.logger if ResoTransport.configuration.logger
15
- #yield faraday if block_given?
15
+ faraday.response :logger, @logger || ResoTransport.configuration.logger
16
+ #yield faraday if block_given?
16
17
  faraday.use Authentication::Middleware, @authentication
17
18
  faraday.adapter Faraday.default_adapter #unless faraday.builder.send(:adapter_set?)
18
19
  end
@@ -7,7 +7,7 @@ module ResoTransport
7
7
 
8
8
  Enum = Struct.new(:name, :type, :is_flags) do
9
9
  def self.from_stream(args)
10
- new("#{args[:schema].namespace}.#{args["Name"]}", args["UnderlyingType"], args["IsFlags"])
10
+ new("#{args[:schema].namespace}.#{args["Name"]}", args["UnderlyingType"], args["IsFlags"].to_s.downcase == "true")
11
11
  end
12
12
 
13
13
  def members
@@ -21,9 +21,9 @@ module ResoTransport
21
21
  def parse_value(value)
22
22
  case data_type
23
23
  when "Edm.DateTimeOffset"
24
- DateTime.parse(value)
24
+ DateTime.parse(value) rescue nil
25
25
  when "Edm.Date"
26
- Date.parse(value)
26
+ Date.parse(value) rescue nil
27
27
  else
28
28
  value
29
29
  end
@@ -59,6 +59,7 @@ module ResoTransport
59
59
  end
60
60
 
61
61
  def count
62
+ p compile_params
62
63
  limit(1).include_count
63
64
  resp = resource.get(compile_params)
64
65
  parsed_body = JSON.parse(resp.body)
@@ -76,7 +77,18 @@ module ResoTransport
76
77
  end
77
78
  end
78
79
 
79
- def execute
80
+ def raw_results
81
+ resp = execute(false)
82
+
83
+ if resp[:success]
84
+ resp[:results]
85
+ else
86
+ puts resp[:meta]
87
+ raise "Request Failed"
88
+ end
89
+ end
90
+
91
+ def execute(parse_values=true)
80
92
  resp = resource.get(compile_params)
81
93
  parsed_body = JSON.parse(resp.body)
82
94
  results = Array(parsed_body.delete("value"))
@@ -84,7 +96,7 @@ module ResoTransport
84
96
  {
85
97
  success: resp.success? && !parsed_body.has_key?("error"),
86
98
  meta: parsed_body,
87
- results: resource.parse(results)
99
+ results: parse_values ? resource.parse(results) : results
88
100
  }
89
101
  end
90
102
 
@@ -1,3 +1,3 @@
1
1
  module ResoTransport
2
- VERSION = "1.3.1"
2
+ VERSION = "1.5.3"
3
3
  end
@@ -24,12 +24,12 @@ Gem::Specification.new do |spec|
24
24
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
25
  spec.require_paths = ["lib"]
26
26
 
27
- spec.add_dependency "faraday", "~> 0.15.0"
27
+ spec.add_dependency "faraday", "~> 1.0.1"
28
28
 
29
- spec.add_development_dependency "bundler", "~> 1.17"
30
- spec.add_development_dependency "rake", "~> 10.0"
29
+ spec.add_development_dependency "bundler", "~> 2"
30
+ spec.add_development_dependency "rake", "~> 13"
31
31
  spec.add_development_dependency "minitest", "~> 5.0"
32
32
  spec.add_development_dependency "minitest-rg", "~> 5.0"
33
- spec.add_development_dependency "vcr", "~> 5.0"
33
+ spec.add_development_dependency "vcr", "~> 6.0"
34
34
  spec.add_development_dependency "byebug"
35
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reso_transport
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Druse
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-02-10 00:00:00.000000000 Z
11
+ date: 2020-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.15.0
19
+ version: 1.0.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.15.0
26
+ version: 1.0.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.17'
33
+ version: '2'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.17'
40
+ version: '2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: '13'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '10.0'
54
+ version: '13'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: minitest
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '5.0'
89
+ version: '6.0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '5.0'
96
+ version: '6.0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: byebug
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -116,6 +116,7 @@ extensions: []
116
116
  extra_rdoc_files: []
117
117
  files:
118
118
  - ".gitignore"
119
+ - ".ruby-version"
119
120
  - ".travis.yml"
120
121
  - CODE_OF_CONDUCT.md
121
122
  - Gemfile
@@ -150,7 +151,7 @@ homepage: http://github.com/wrstudios/reso_transport
150
151
  licenses:
151
152
  - MIT
152
153
  metadata: {}
153
- post_install_message:
154
+ post_install_message:
154
155
  rdoc_options: []
155
156
  require_paths:
156
157
  - lib
@@ -165,8 +166,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
165
166
  - !ruby/object:Gem::Version
166
167
  version: '0'
167
168
  requirements: []
168
- rubygems_version: 3.0.3
169
- signing_key:
169
+ rubygems_version: 3.1.2
170
+ signing_key:
170
171
  specification_version: 4
171
172
  summary: A utility for consuming RESO Web API connections
172
173
  test_files: []