fmrest 0.11.1 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +2 -0
  3. data/CHANGELOG.md +33 -0
  4. data/README.md +247 -847
  5. metadata +82 -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 -36
  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 -99
  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 -57
  48. data/lib/fmrest/v1/token_session.rb +0 -133
  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.1
4
+ version: 0.15.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-24 00:00:00.000000000 Z
11
+ date: 2021-04-01 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.15.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.15.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.15.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.15.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,63 @@ 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.15
227
+ =======================================
228
+
229
+ There's a breaking change in the way the `.query` method behaves when chained.
230
+
231
+ Previously it would add new conditions as a logical OR in relation to
232
+ already set ones, whereas now by default it adds new conditions as a logical
233
+ AND relative to existing ones. To keep the old behavior you can use `.or.query`
234
+ in chained query calls instead. See documentation on querying for details.
235
+
236
+ =======================================
237
+ Notes on upgrading from fmrest < 0.13
238
+ =======================================
239
+
240
+ From v0.13 onward fmrest becomes a wrapper for two other gems: fmrest-core and
241
+ fmrest-spyke.
242
+
243
+ If you're using FmRest::Spyke::Base in your project then you no
244
+ longer need to explicitly include spyke in your Gemfile, as it's now a hard
245
+ dependency of fmrest-spyke.
246
+
247
+ If you're not using FmRest::Spyke::Base and just want to use the Faraday
248
+ connection you may want to change your Gemfile to depend on fmrest-core
249
+ instead, to avoid including spyke as an useless dependency in your project.
250
+
251
+ =======================================
252
+ Notes on upgrading from fmrest < 0.12
253
+ =======================================
254
+
255
+ There's a small breaking change in fmrest 0.12 that will most likely not affect
256
+ you, but you may want to be aware of:
257
+
258
+ Previous to this version the record ID on an FmRest::Spyke::Base instance could
259
+ be set with `id=`. This caused problems in cases where a FileMaker layout had a
260
+ field named `id`, so `id=` got renamed to `__record_id=`. Setting the record ID
261
+ by hand however isn't something useful or that should be done at all, so it's
262
+ very unlikely that this change will affect your existing code at all.
263
+
264
+ Thanks for using fmrest-ruby!
265
+
286
266
  rdoc_options: []
287
267
  require_paths:
288
268
  - lib
@@ -300,5 +280,6 @@ requirements: []
300
280
  rubygems_version: 3.0.6
301
281
  signing_key:
302
282
  specification_version: 4
303
- summary: FileMaker Data API client using Faraday
283
+ summary: FileMaker Data API client
304
284
  test_files: []
285
+ ...
@@ -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,36 +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
- require "fmrest/errors"
10
-
11
- module FmRest
12
- autoload :V1, "fmrest/v1"
13
- autoload :TokenStore, "fmrest/token_store"
14
-
15
- class << self
16
- attr_accessor :token_store
17
-
18
- def default_connection_settings=(settings)
19
- @default_connection_settings = ConnectionSettings.wrap(settings, skip_validation: true)
20
- end
21
-
22
- def default_connection_settings
23
- @default_connection_settings || ConnectionSettings.new({}, skip_validation: true)
24
- end
25
-
26
- def config=(connection_hash)
27
- warn "[DEPRECATION] `FmRest.config=` is deprecated, use `FmRest.default_connection_settings=` instead"
28
- self.default_connection_settings = connection_hash
29
- end
30
-
31
- def config
32
- warn "[DEPRECATION] `FmRest.config` is deprecated, use `FmRest.default_connection_settings` instead"
33
- default_connection_settings
34
- end
35
- end
36
- end