fmrest-core 0.20.0.rc1 → 0.21.0

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: e65b80ac2c60bb8c3ba6c356c55c720dec5ed59ee8afdb94e18c025bf327a3fe
4
- data.tar.gz: c144aaafd1b237bd67fdbd90a99423dae90638555703dd4b6b2eb05dbc7f687e
3
+ metadata.gz: 1dcd50851dca459061ccd7a2f55a2b3dcadea27ed5aa91aa854fb23660747667
4
+ data.tar.gz: ee483bb0ded64cda1342d38a9afa97789e1bcc6b813602543787c049eea038b8
5
5
  SHA512:
6
- metadata.gz: ff81e141c358ae0f4c95d1d4b82a58b717caa550239b358345d6fcc0a1c3e9af1df3dee9e5c014e2163a67a73fbf83ab4d2bd1df674a0e16261f3c57c3e6a826
7
- data.tar.gz: 0ed42801b904cc7967dab1c5990aa8389d07727b7a5d3234db6efb40b61d5c3312fbe1e45522bb05058fefc237571456546c209b3f8f752ff0c4a9026770f181
6
+ metadata.gz: 5570a533c122bbfae3d3cbdbcee96bdf4ed1d3ebfe43691ec92acb0ed078a2b5badf0cf546afd2d6a9d877425203fefab737bf24594b92cf64639c66ebb51ba4
7
+ data.tar.gz: adbd2c191f65cc2a67f2db3b571f7c287c12eddbfd6c3c31e32a5d730b7d8ada2f61197c9e0df731aa748b1a2caa443ca3d17d16f483437107d16fc4440c6f79
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  ## Changelog
2
2
 
3
+ ### 0.21.0
4
+
5
+ * Support for Spyke 7 and Faraday 2
6
+ * Drop support for Faraday 1
7
+ * Drop support for Ruby 2.5
8
+
3
9
  ### 0.20.0
4
10
 
5
11
  * Forward proxy options to AWS Client when using `fmrest-cloud` gem
data/README.md CHANGED
@@ -3,6 +3,7 @@
3
3
  [![Gem Version](https://badge.fury.io/rb/fmrest.svg?style=flat)](https://rubygems.org/gems/fmrest)
4
4
  ![CI](https://github.com/beezwax/fmrest-ruby/workflows/CI/badge.svg)
5
5
  [![Yard Docs](http://img.shields.io/badge/yard-docs-blue.svg)](https://rubydoc.info/github/beezwax/fmrest-ruby)
6
+ [![Powered by Beezwax](https://img.shields.io/badge/Powered%20By-Beezwax-gold?logo=data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iMTA5IiBoZWlnaHQ9IjEwOSIgdmlld0JveD0iMCAwIDEwOSAxMDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICA8Zz4NCiAgICAgIDxwYXRoIGQ9Ik01MC44IDEwNi42MjVDNTkuMSA5OS4zMjUgNjEuOSA5MS42MjUgNjEuOSA5MS42MjVDNjMuMiA4Ny43MjUgNjQuNyA4NC41MjUgNjQuNyA2OS4zMjVDNjQuNyA0Ni40MjUgNTYuMiAzOC45MjUgNDcgMzIuMDI1QzQwLjggMjcuMzI1IDI0LjkgMjEuMTI1IDE1LjUgMTcuNjI1TDIuMjk5OTggMjUuMTI1QzEuNDk5OTggMjUuNzI1IDAuOTk5OTc2IDI2LjIyNSAwLjU5OTk3NiAyNi44MjVDMjQuNCAzMi4xMjUgNDEuNSA0OC4wMjUgNDEuNSA2Ni44MjVDNDEuNSA3OC4yMjUgMzUuMSA4OC42MjUgMjQuOSA5Ni4xMjVMNDQuNyAxMDcuNTI1QzQ1LjEgMTA3LjcyNSA0NiAxMDguMTI1IDQ3LjMgMTA4LjEyNUM0Ny45IDEwOC4xMjUgNDkgMTA3LjkyNSA1MC4zIDEwNi44MjVMNTAuOCAxMDYuNjI1WiIgZmlsbD0iI0ZGRDkzOSI+PC9wYXRoPg0KICAgICAgPHBhdGggZD0iTTIyLjkgMTMuMzI0OEw0NCAyMC40MjQ4QzY0LjYgMjcuNzI0OCA3My4yIDM3LjgyNDggNzMuMiAzNy44MjQ4Qzg0LjUgNDkuMTI0OCA4My4yIDYxLjYyNDggODMuMiA3Ni44MjQ4QzgzLjIgODAuNjI0OCA4Mi42IDg0LjkyNDggODEuNyA4OS4wMjQ4TDkzIDgyLjYyNDhDOTUuNiA4MS4xMjQ4IDk1LjYgNzcuOTI0OCA5NS42IDc3LjkyNDhWMjkuMzI0OEM5NS42IDI2LjEyNDggOTMgMjQuNjI0OCA5MyAyNC42MjQ4TDcyLjUgMTMuMjI0OEw1MC42IDAuNjI0ODQ1QzQ4LjEgLTAuNjc1MTU1IDQ1LjUgMC40MjQ4NDUgNDUuMyAwLjYyNDg0NUwyMy4xIDEzLjMyNDhIMjIuOVoiIGZpbGw9IiNGRkQ5MzkiPjwvcGF0aD4NCiAgICAgIDxwYXRoIGQ9Ik0wLjEgMzEuNTI0NFY3OC4yMjQ0QzAuMSA4MC44MjQ0IDIuMiA4Mi4zMjQ0IDIuNyA4Mi43MjQ0TDE0LjggODkuNjI0NEwxNy44IDkxLjMyNDRDMjQuNCA4NC43MjQ0IDI4LjQgNzYuMzI0NCAyOC41IDY3LjEyNDRDMjguNSA1MS41MjQ0IDE2LjggMzguMDI0NCAwIDMxLjUyNDRIMC4xWiIgZmlsbD0iI0ZGRDkzOSI+PC9wYXRoPg0KICAgPC9nPg0KPC9zdmc+)](https://beezwax.net/)
6
7
 
7
8
  A Ruby client for
8
9
  [FileMaker's Data API](https://help.claris.com/en/data-api-guide)
@@ -13,19 +14,8 @@ While pretty feature-rich, fmrest-ruby doesn't yet support 100% of FileMaker
13
14
  table](#api-implementation-completeness-table) to check if a feature you need
14
15
  is natively supported by the gem.
15
16
 
16
- ## Contents
17
-
18
- * [Gems](#gems)
19
- * [Installation](#installation)
20
- * [Simple example](#simple-example)
21
- * [Connection settings](#connection-settings)
22
- * [Session token store](#session-token-store)
23
- * [Date fields and timezones](#date-fields-and-timezones)
24
- * [ActiveRecord-like ORM (fmrest-spyke)](#activerecord-like-orm-fmrest-spyke)
25
- * [Logging](#logging)
26
- * [Gotchas](#gotchas)
27
- * [API implementation completeness table](#api-implementation-completeness-table)
28
- * [Supported Ruby versions](#supported-ruby-versions)
17
+ Need Ruby or FileMaker consulting? Contact us at
18
+ [Beezwax.net](https://beezwax.net/)
29
19
 
30
20
  ## Gems
31
21
 
@@ -121,7 +111,8 @@ to, for instance, disable SSL verification:
121
111
  {
122
112
  host: "…",
123
113
 
124
- ssl: { verify: false }
114
+ ssl: { verify: false },
115
+ proxy: "http://user:password@proxy.host:4321"
125
116
  }
126
117
  ```
127
118
 
@@ -132,13 +123,13 @@ You can also pass a `:log` option for basic request logging, see the section on
132
123
 
133
124
  Option | Description | Format | Default
134
125
  --------------------|--------------------------------------------|-----------------------------|--------
135
- `:host` | Hostname with optional port, e.g. `"example.com:9000"` | String | None
126
+ `:host` | Hostname with optional port, e.g. `example.com:9000` | String | None
136
127
  `:database` | The name of the database to connect to | String | None
137
128
  `:username` | A Data API-ready account | String | None
138
129
  `:password` | Your password | String | None
139
130
  `:account_name` | Alias of `:username` | String | None
140
- `:ssl` | SSL options to be forwarded to Faraday | Faraday SSL options | None
141
- `:proxy` | Proxy URI e.g. `http://username:password@proxy.host:5000` | String / URI | None
131
+ `:ssl` | SSL options to be forwarded to Faraday | [Faraday SSL options](https://www.rubydoc.info/gems/faraday/Faraday/SSLOptions) hash | None
132
+ `:proxy` | Proxy URI, e.g. `http://user:password@proxy.host:4321` | String | None
142
133
  `:log` | Log JSON responses to STDOUT | Boolean | `false`
143
134
  `:log_level` | Which log level to log into | Values accepted by `Logger#level=` | `:debug`
144
135
  `:coerce_dates` | See section on [date fields](#date-fields-and-timezones) | Boolean \| `:hybrid` \| `:full` | `false`
@@ -558,13 +549,8 @@ FM Data API reference: https://help.claris.com/en/data-api-guide/
558
549
 
559
550
  ## Supported Ruby versions
560
551
 
561
- fmrest-ruby aims to support and is [tested against](https://github.com/beezwax/fmrest-ruby/actions?query=workflow%3ACI)
562
- the following Ruby implementations:
563
-
564
- * Ruby 2.5
565
- * Ruby 2.6
566
- * Ruby 2.7
567
- * Ruby 3.0
552
+ fmrest-ruby is [tested against](https://github.com/beezwax/fmrest-ruby/actions?query=workflow%3ACI)
553
+ Ruby 2.6 through 3.1.
568
554
 
569
555
  ## Gem development
570
556
 
@@ -72,7 +72,7 @@ module FmRest
72
72
  elsif is_cloud_host
73
73
  conn.request :authorization, CLARIS_ID_HTTP_AUTH_TYPE, -> { Cloud::ClarisIdTokenManager.new(settings).fetch_token }
74
74
  else
75
- conn.request :basic_auth, settings.username!, settings.password!
75
+ conn.request :authorization, :basic, settings.username!, settings.password!
76
76
  end
77
77
 
78
78
  if settings.log
@@ -80,11 +80,11 @@ module FmRest
80
80
 
81
81
  connection.post do |request|
82
82
  request.url container_path
83
- request.headers['Content-Type'] = ::Faraday::Request::Multipart.mime_type
83
+ request.headers['Content-Type'] = ::Faraday::Multipart::Middleware.mime_type
84
84
 
85
85
  filename = options[:filename] || filename_or_io.try(:original_filename)
86
86
 
87
- request.body = { upload: Faraday::UploadIO.new(filename_or_io, content_type, filename) }
87
+ request.body = { upload: Faraday::Multipart::FilePart.new(filename_or_io, content_type, filename) }
88
88
  end
89
89
  end
90
90
 
@@ -5,7 +5,7 @@ module FmRest
5
5
  # FM Data API response middleware for raising exceptions on API response
6
6
  # errors
7
7
  #
8
- class RaiseErrors < Faraday::Response::Middleware
8
+ class RaiseErrors < Faraday::Middleware
9
9
  # Error codes reference:
10
10
  # https://help.claris.com/en/pro-help/content/error-codes.html
11
11
  ERROR_RANGES = {
@@ -4,7 +4,7 @@ require "fmrest/string_date"
4
4
 
5
5
  module FmRest
6
6
  module V1
7
- class TypeCoercer < Faraday::Response::Middleware
7
+ class TypeCoercer < Faraday::Middleware
8
8
  # We use this date to represent a FileMaker time for consistency with
9
9
  # ginjo-rfm
10
10
  JULIAN_ZERO_DAY = "-4712/1/1"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FmRest
4
- VERSION = "0.20.0.rc1"
4
+ VERSION = "0.21.0"
5
5
  end
data/lib/fmrest.rb CHANGED
@@ -1,17 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "faraday"
4
- require "faraday_middleware"
4
+ require "faraday/multipart"
5
5
 
6
6
  require "fmrest/version"
7
7
  require "fmrest/connection_settings"
8
8
  require "fmrest/errors"
9
9
 
10
10
  module FmRest
11
- autoload :V1, "fmrest/v1"
12
- autoload :TokenStore, "fmrest/token_store"
13
- autoload :Spyke, "fmrest/spyke"
14
- autoload :Layout, "fmrest/spyke"
11
+ autoload :V1, "fmrest/v1"
12
+ autoload :TokenStore, "fmrest/token_store"
13
+ autoload :Spyke, "fmrest/spyke"
14
+ autoload :Layout, "fmrest/spyke"
15
+ autoload :StringDateAwareness, "fmrest/string_date"
15
16
 
16
17
  class << self
17
18
  attr_accessor :token_store
metadata CHANGED
@@ -1,23 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fmrest-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.0.rc1
4
+ version: 0.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pedro Carbajal
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-19 00:00:00.000000000 Z
11
+ date: 2022-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 1.8.0
20
- - - "<"
21
18
  - !ruby/object:Gem::Version
22
19
  version: '2.0'
23
20
  type: :runtime
@@ -25,31 +22,22 @@ dependencies:
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 1.8.0
30
- - - "<"
31
25
  - !ruby/object:Gem::Version
32
26
  version: '2.0'
33
27
  - !ruby/object:Gem::Dependency
34
- name: faraday_middleware
28
+ name: faraday-multipart
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
31
  - - ">="
38
32
  - !ruby/object:Gem::Version
39
- version: 0.9.1
40
- - - "<"
41
- - !ruby/object:Gem::Version
42
- version: '2.0'
33
+ version: '0'
43
34
  type: :runtime
44
35
  prerelease: false
45
36
  version_requirements: !ruby/object:Gem::Requirement
46
37
  requirements:
47
38
  - - ">="
48
39
  - !ruby/object:Gem::Version
49
- version: 0.9.1
50
- - - "<"
51
- - !ruby/object:Gem::Version
52
- version: '2.0'
40
+ version: '0'
53
41
  description: fmrest-core is a FileMaker Data API client built with Faraday. It handles
54
42
  authentication as well as providing many utilities for working with the Data API.
55
43
  An ORM library built on top of fmrest-core is also available.
@@ -104,11 +92,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
104
92
  version: '0'
105
93
  required_rubygems_version: !ruby/object:Gem::Requirement
106
94
  requirements:
107
- - - ">"
95
+ - - ">="
108
96
  - !ruby/object:Gem::Version
109
- version: 1.3.1
97
+ version: '0'
110
98
  requirements: []
111
- rubygems_version: 3.2.3
99
+ rubygems_version: 3.3.3
112
100
  signing_key:
113
101
  specification_version: 4
114
102
  summary: FileMaker Data API client using Faraday, core library