fmrest 0.11.0 → 0.14.0

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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +2 -0
  3. data/CHANGELOG.md +32 -0
  4. data/README.md +228 -844
  5. metadata +71 -101
  6. data/.github/workflows/ci.yml +0 -33
  7. data/.gitignore +0 -26
  8. data/.rspec +0 -3
  9. data/.travis.yml +0 -5
  10. data/Gemfile +0 -3
  11. data/Rakefile +0 -6
  12. data/fmrest.gemspec +0 -38
  13. data/lib/fmrest.rb +0 -34
  14. data/lib/fmrest/connection_settings.rb +0 -124
  15. data/lib/fmrest/errors.rb +0 -30
  16. data/lib/fmrest/spyke.rb +0 -21
  17. data/lib/fmrest/spyke/base.rb +0 -23
  18. data/lib/fmrest/spyke/container_field.rb +0 -59
  19. data/lib/fmrest/spyke/model.rb +0 -36
  20. data/lib/fmrest/spyke/model/associations.rb +0 -82
  21. data/lib/fmrest/spyke/model/attributes.rb +0 -171
  22. data/lib/fmrest/spyke/model/auth.rb +0 -43
  23. data/lib/fmrest/spyke/model/connection.rb +0 -135
  24. data/lib/fmrest/spyke/model/container_fields.rb +0 -25
  25. data/lib/fmrest/spyke/model/global_fields.rb +0 -40
  26. data/lib/fmrest/spyke/model/http.rb +0 -37
  27. data/lib/fmrest/spyke/model/orm.rb +0 -212
  28. data/lib/fmrest/spyke/model/serialization.rb +0 -91
  29. data/lib/fmrest/spyke/model/uri.rb +0 -30
  30. data/lib/fmrest/spyke/portal.rb +0 -55
  31. data/lib/fmrest/spyke/relation.rb +0 -359
  32. data/lib/fmrest/spyke/spyke_formatter.rb +0 -273
  33. data/lib/fmrest/spyke/validation_error.rb +0 -25
  34. data/lib/fmrest/string_date.rb +0 -220
  35. data/lib/fmrest/token_store.rb +0 -12
  36. data/lib/fmrest/token_store/active_record.rb +0 -74
  37. data/lib/fmrest/token_store/base.rb +0 -25
  38. data/lib/fmrest/token_store/memory.rb +0 -26
  39. data/lib/fmrest/token_store/moneta.rb +0 -41
  40. data/lib/fmrest/token_store/redis.rb +0 -45
  41. data/lib/fmrest/v1.rb +0 -23
  42. data/lib/fmrest/v1/auth.rb +0 -30
  43. data/lib/fmrest/v1/connection.rb +0 -115
  44. data/lib/fmrest/v1/container_fields.rb +0 -114
  45. data/lib/fmrest/v1/dates.rb +0 -81
  46. data/lib/fmrest/v1/paths.rb +0 -47
  47. data/lib/fmrest/v1/raise_errors.rb +0 -59
  48. data/lib/fmrest/v1/token_session.rb +0 -134
  49. data/lib/fmrest/v1/token_store/active_record.rb +0 -13
  50. data/lib/fmrest/v1/token_store/memory.rb +0 -13
  51. data/lib/fmrest/v1/type_coercer.rb +0 -192
  52. data/lib/fmrest/v1/utils.rb +0 -94
  53. data/lib/fmrest/version.rb +0 -5
metadata CHANGED
@@ -1,83 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fmrest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pedro Carbajal
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-23 00:00:00.000000000 Z
11
+ date: 2021-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: faraday
14
+ name: fmrest-core
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 0.9.0
20
- - - "<"
17
+ - - '='
21
18
  - !ruby/object:Gem::Version
22
- version: '2.0'
19
+ version: 0.14.0
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ">="
24
+ - - '='
28
25
  - !ruby/object:Gem::Version
29
- version: 0.9.0
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '2.0'
26
+ version: 0.14.0
33
27
  - !ruby/object:Gem::Dependency
34
- name: faraday_middleware
28
+ name: fmrest-spyke
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: 0.9.1
40
- - - "<"
31
+ - - '='
41
32
  - !ruby/object:Gem::Version
42
- version: '2.0'
33
+ version: 0.14.0
43
34
  type: :runtime
44
35
  prerelease: false
45
36
  version_requirements: !ruby/object:Gem::Requirement
46
37
  requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: 0.9.1
50
- - - "<"
38
+ - - '='
51
39
  - !ruby/object:Gem::Version
52
- version: '2.0'
40
+ version: 0.14.0
53
41
  - !ruby/object:Gem::Dependency
54
42
  name: bundler
55
43
  requirement: !ruby/object:Gem::Requirement
56
44
  requirements:
57
- - - ">="
45
+ - - "~>"
58
46
  - !ruby/object:Gem::Version
59
- version: '0'
47
+ version: 2.2.0
60
48
  type: :development
61
49
  prerelease: false
62
50
  version_requirements: !ruby/object:Gem::Requirement
63
51
  requirements:
64
- - - ">="
52
+ - - "~>"
65
53
  - !ruby/object:Gem::Version
66
- version: '0'
54
+ version: 2.2.0
67
55
  - !ruby/object:Gem::Dependency
68
56
  name: rake
69
57
  requirement: !ruby/object:Gem::Requirement
70
58
  requirements:
71
- - - ">="
59
+ - - "~>"
72
60
  - !ruby/object:Gem::Version
73
- version: '0'
61
+ version: '13.0'
74
62
  type: :development
75
63
  prerelease: false
76
64
  version_requirements: !ruby/object:Gem::Requirement
77
65
  requirements:
78
- - - ">="
66
+ - - "~>"
79
67
  - !ruby/object:Gem::Version
80
- version: '0'
68
+ version: '13.0'
81
69
  - !ruby/object:Gem::Dependency
82
70
  name: rspec
83
71
  requirement: !ruby/object:Gem::Requirement
@@ -93,7 +81,7 @@ dependencies:
93
81
  - !ruby/object:Gem::Version
94
82
  version: '3.0'
95
83
  - !ruby/object:Gem::Dependency
96
- name: spyke
84
+ name: webmock
97
85
  requirement: !ruby/object:Gem::Requirement
98
86
  requirements:
99
87
  - - ">="
@@ -107,7 +95,7 @@ dependencies:
107
95
  - !ruby/object:Gem::Version
108
96
  version: '0'
109
97
  - !ruby/object:Gem::Dependency
110
- name: webmock
98
+ name: rexml
111
99
  requirement: !ruby/object:Gem::Requirement
112
100
  requirements:
113
101
  - - ">="
@@ -135,7 +123,7 @@ dependencies:
135
123
  - !ruby/object:Gem::Version
136
124
  version: '0'
137
125
  - !ruby/object:Gem::Dependency
138
- name: activerecord
126
+ name: yard
139
127
  requirement: !ruby/object:Gem::Requirement
140
128
  requirements:
141
129
  - - ">="
@@ -149,7 +137,7 @@ dependencies:
149
137
  - !ruby/object:Gem::Version
150
138
  version: '0'
151
139
  - !ruby/object:Gem::Dependency
152
- name: sqlite3
140
+ name: yard-activesupport-concern
153
141
  requirement: !ruby/object:Gem::Requirement
154
142
  requirements:
155
143
  - - ">="
@@ -163,35 +151,35 @@ dependencies:
163
151
  - !ruby/object:Gem::Version
164
152
  version: '0'
165
153
  - !ruby/object:Gem::Dependency
166
- name: mock_redis
154
+ name: activerecord
167
155
  requirement: !ruby/object:Gem::Requirement
168
156
  requirements:
169
- - - ">="
157
+ - - "~>"
170
158
  - !ruby/object:Gem::Version
171
- version: '0'
159
+ version: '6.0'
172
160
  type: :development
173
161
  prerelease: false
174
162
  version_requirements: !ruby/object:Gem::Requirement
175
163
  requirements:
176
- - - ">="
164
+ - - "~>"
177
165
  - !ruby/object:Gem::Version
178
- version: '0'
166
+ version: '6.0'
179
167
  - !ruby/object:Gem::Dependency
180
- name: moneta
168
+ name: sqlite3
181
169
  requirement: !ruby/object:Gem::Requirement
182
170
  requirements:
183
- - - ">="
171
+ - - "~>"
184
172
  - !ruby/object:Gem::Version
185
- version: '0'
173
+ version: 1.4.0
186
174
  type: :development
187
175
  prerelease: false
188
176
  version_requirements: !ruby/object:Gem::Requirement
189
177
  requirements:
190
- - - ">="
178
+ - - "~>"
191
179
  - !ruby/object:Gem::Version
192
- version: '0'
180
+ version: 1.4.0
193
181
  - !ruby/object:Gem::Dependency
194
- name: yard
182
+ name: mock_redis
195
183
  requirement: !ruby/object:Gem::Requirement
196
184
  requirements:
197
185
  - - ">="
@@ -205,7 +193,7 @@ dependencies:
205
193
  - !ruby/object:Gem::Version
206
194
  version: '0'
207
195
  - !ruby/object:Gem::Dependency
208
- name: yard-activesupport-concern
196
+ name: moneta
209
197
  requirement: !ruby/object:Gem::Requirement
210
198
  requirements:
211
199
  - - ">="
@@ -218,71 +206,52 @@ dependencies:
218
206
  - - ">="
219
207
  - !ruby/object:Gem::Version
220
208
  version: '0'
221
- description: FileMaker Data API client using Faraday, with optional ActiveRecord-like
222
- ORM based on Spyke
209
+ description: 'fmrest is just a wrapper for two other gems: fmrest-core and fmrest-spyke.'
223
210
  email:
224
211
  - pedro_c@beezwax.net
225
212
  executables: []
226
213
  extensions: []
227
214
  extra_rdoc_files: []
228
215
  files:
229
- - ".github/workflows/ci.yml"
230
- - ".gitignore"
231
- - ".rspec"
232
- - ".travis.yml"
233
216
  - ".yardopts"
234
217
  - CHANGELOG.md
235
- - Gemfile
236
218
  - LICENSE.txt
237
219
  - README.md
238
- - Rakefile
239
- - fmrest.gemspec
240
- - lib/fmrest.rb
241
- - lib/fmrest/connection_settings.rb
242
- - lib/fmrest/errors.rb
243
- - lib/fmrest/spyke.rb
244
- - lib/fmrest/spyke/base.rb
245
- - lib/fmrest/spyke/container_field.rb
246
- - lib/fmrest/spyke/model.rb
247
- - lib/fmrest/spyke/model/associations.rb
248
- - lib/fmrest/spyke/model/attributes.rb
249
- - lib/fmrest/spyke/model/auth.rb
250
- - lib/fmrest/spyke/model/connection.rb
251
- - lib/fmrest/spyke/model/container_fields.rb
252
- - lib/fmrest/spyke/model/global_fields.rb
253
- - lib/fmrest/spyke/model/http.rb
254
- - lib/fmrest/spyke/model/orm.rb
255
- - lib/fmrest/spyke/model/serialization.rb
256
- - lib/fmrest/spyke/model/uri.rb
257
- - lib/fmrest/spyke/portal.rb
258
- - lib/fmrest/spyke/relation.rb
259
- - lib/fmrest/spyke/spyke_formatter.rb
260
- - lib/fmrest/spyke/validation_error.rb
261
- - lib/fmrest/string_date.rb
262
- - lib/fmrest/token_store.rb
263
- - lib/fmrest/token_store/active_record.rb
264
- - lib/fmrest/token_store/base.rb
265
- - lib/fmrest/token_store/memory.rb
266
- - lib/fmrest/token_store/moneta.rb
267
- - lib/fmrest/token_store/redis.rb
268
- - lib/fmrest/v1.rb
269
- - lib/fmrest/v1/auth.rb
270
- - lib/fmrest/v1/connection.rb
271
- - lib/fmrest/v1/container_fields.rb
272
- - lib/fmrest/v1/dates.rb
273
- - lib/fmrest/v1/paths.rb
274
- - lib/fmrest/v1/raise_errors.rb
275
- - lib/fmrest/v1/token_session.rb
276
- - lib/fmrest/v1/token_store/active_record.rb
277
- - lib/fmrest/v1/token_store/memory.rb
278
- - lib/fmrest/v1/type_coercer.rb
279
- - lib/fmrest/v1/utils.rb
280
- - lib/fmrest/version.rb
281
220
  homepage: https://github.com/beezwax/fmrest-ruby
282
221
  licenses:
283
222
  - MIT
284
223
  metadata: {}
285
- post_install_message:
224
+ post_install_message: |+
225
+ =======================================
226
+ Notes on upgrading from fmrest < 0.13
227
+ =======================================
228
+
229
+ From v0.13 onward fmrest becomes a wrapper for two other gems: fmrest-core and
230
+ fmrest-spyke.
231
+
232
+ If you're using FmRest::Spyke::Base in your project then you no
233
+ longer need to explicitly include spyke in your Gemfile, as it's now a hard
234
+ dependency of fmrest-spyke.
235
+
236
+ If you're not using FmRest::Spyke::Base and just want to use the Faraday
237
+ connection you may want to change your Gemfile to depend on fmrest-core
238
+ instead, to avoid including spyke as an useless dependency in your project.
239
+
240
+ =======================================
241
+ Notes on upgrading from fmrest < 0.12
242
+ =======================================
243
+
244
+ There's a small breaking change in fmrest 0.12 that will most likely not affect
245
+ you, but you may want to be aware of:
246
+
247
+ Previous to this version the record ID on an FmRest::Spyke::Base instance could
248
+ be set with `id=`. This caused problems in cases where a FileMaker layout had a
249
+ field named `id`, so `id=` got renamed to `__record_id=`. Setting the record ID
250
+ by hand however isn't something useful or that should be done at all, so it's
251
+ very unlikely that this change will affect your existing code at all.
252
+
253
+ Thanks for using fmrest-ruby!
254
+
286
255
  rdoc_options: []
287
256
  require_paths:
288
257
  - lib
@@ -300,5 +269,6 @@ requirements: []
300
269
  rubygems_version: 3.0.6
301
270
  signing_key:
302
271
  specification_version: 4
303
- summary: FileMaker Data API client using Faraday
272
+ summary: FileMaker Data API client
304
273
  test_files: []
274
+ ...
@@ -1,33 +0,0 @@
1
- # This workflow uses actions that are not certified by GitHub.
2
- # They are provided by a third-party and are governed by
3
- # separate terms of service, privacy policy, and support
4
- # documentation.
5
- # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
- # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
-
8
- name: CI
9
-
10
- on:
11
- push:
12
- branches: [ master ]
13
- pull_request:
14
- branches: [ master ]
15
-
16
- jobs:
17
- test:
18
-
19
- runs-on: ubuntu-latest
20
-
21
- steps:
22
- - uses: actions/checkout@v2
23
- - name: Set up Ruby
24
- # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
25
- # change this to (see https://github.com/ruby/setup-ruby#versioning):
26
- # uses: ruby/setup-ruby@v1
27
- uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
28
- with:
29
- ruby-version: 2.6
30
- - name: Install dependencies
31
- run: bundle install
32
- - name: Run specs
33
- run: bundle exec rspec spec
data/.gitignore DELETED
@@ -1,26 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp
18
- *.bundle
19
- *.so
20
- *.o
21
- *.a
22
- mkmf.log
23
- spec/db/*
24
-
25
- # rspec failure tracking
26
- .rspec_status
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --format documentation
2
- --color
3
- --require spec_helper
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.3.3
5
- before_install: gem install bundler -v 1.16.1
data/Gemfile DELETED
@@ -1,3 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec
data/Rakefile DELETED
@@ -1,6 +0,0 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
-
4
- RSpec::Core::RakeTask.new(:spec)
5
-
6
- task :default => :spec
data/fmrest.gemspec DELETED
@@ -1,38 +0,0 @@
1
- lib = File.expand_path("../lib", __FILE__)
2
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require "fmrest/version"
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = "fmrest"
7
- spec.version = FmRest::VERSION
8
- spec.authors = ["Pedro Carbajal"]
9
- spec.email = ["pedro_c@beezwax.net"]
10
-
11
- spec.summary = %q{FileMaker Data API client using Faraday}
12
- spec.description = %q{FileMaker Data API client using Faraday, with optional ActiveRecord-like ORM based on Spyke}
13
- spec.homepage = "https://github.com/beezwax/fmrest-ruby"
14
- spec.license = "MIT"
15
-
16
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
- f.match(%r{^(test|spec|features|bin)/})
18
- end
19
- spec.bindir = "exe"
20
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
- spec.require_paths = ["lib"]
22
-
23
- spec.add_dependency 'faraday', '>= 0.9.0', '< 2.0'
24
- spec.add_dependency 'faraday_middleware', '>= 0.9.1', '< 2.0'
25
-
26
- spec.add_development_dependency "bundler"
27
- spec.add_development_dependency "rake"
28
- spec.add_development_dependency "rspec", "~> 3.0"
29
- spec.add_development_dependency "spyke"
30
- spec.add_development_dependency "webmock"
31
- spec.add_development_dependency "pry-byebug"
32
- spec.add_development_dependency "activerecord", ENV["ACTIVE_RECORD_VERSION"]
33
- spec.add_development_dependency "sqlite3", ENV["SQLITE3_VERSION"]
34
- spec.add_development_dependency "mock_redis"
35
- spec.add_development_dependency "moneta"
36
- spec.add_development_dependency "yard"
37
- spec.add_development_dependency "yard-activesupport-concern"
38
- end
data/lib/fmrest.rb DELETED
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "faraday"
4
- require "faraday_middleware"
5
-
6
- require "fmrest/version"
7
- require "fmrest/connection_settings"
8
-
9
- module FmRest
10
- autoload :V1, "fmrest/v1"
11
- autoload :TokenStore, "fmrest/token_store"
12
-
13
- class << self
14
- attr_accessor :token_store
15
-
16
- def default_connection_settings=(settings)
17
- @default_connection_settings = ConnectionSettings.wrap(settings, skip_validation: true)
18
- end
19
-
20
- def default_connection_settings
21
- @default_connection_settings || ConnectionSettings.new({}, skip_validation: true)
22
- end
23
-
24
- def config=(connection_hash)
25
- warn "[DEPRECATION] `FmRest.config=` is deprecated, use `FmRest.default_connection_settings=` instead"
26
- self.default_connection_settings = connection_hash
27
- end
28
-
29
- def config
30
- warn "[DEPRECATION] `FmRest.config` is deprecated, use `FmRest.default_connection_settings` instead"
31
- default_connection_settings
32
- end
33
- end
34
- end