fmrest 0.12.0 → 0.15.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +3 -0
  3. data/CHANGELOG.md +31 -0
  4. data/README.md +252 -851
  5. metadata +71 -108
  6. data/.gitignore +0 -26
  7. data/.rspec +0 -3
  8. data/.travis.yml +0 -5
  9. data/Gemfile +0 -3
  10. data/Rakefile +0 -6
  11. data/UPGRADING +0 -15
  12. data/fmrest.gemspec +0 -49
  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 -9
  18. data/lib/fmrest/spyke/container_field.rb +0 -59
  19. data/lib/fmrest/spyke/model.rb +0 -33
  20. data/lib/fmrest/spyke/model/associations.rb +0 -86
  21. data/lib/fmrest/spyke/model/attributes.rb +0 -163
  22. data/lib/fmrest/spyke/model/auth.rb +0 -43
  23. data/lib/fmrest/spyke/model/connection.rb +0 -163
  24. data/lib/fmrest/spyke/model/container_fields.rb +0 -40
  25. data/lib/fmrest/spyke/model/global_fields.rb +0 -40
  26. data/lib/fmrest/spyke/model/http.rb +0 -77
  27. data/lib/fmrest/spyke/model/orm.rb +0 -256
  28. data/lib/fmrest/spyke/model/record_id.rb +0 -78
  29. data/lib/fmrest/spyke/model/serialization.rb +0 -99
  30. data/lib/fmrest/spyke/model/uri.rb +0 -29
  31. data/lib/fmrest/spyke/portal.rb +0 -55
  32. data/lib/fmrest/spyke/relation.rb +0 -359
  33. data/lib/fmrest/spyke/spyke_formatter.rb +0 -273
  34. data/lib/fmrest/spyke/validation_error.rb +0 -25
  35. data/lib/fmrest/string_date.rb +0 -220
  36. data/lib/fmrest/token_store.rb +0 -12
  37. data/lib/fmrest/token_store/active_record.rb +0 -74
  38. data/lib/fmrest/token_store/base.rb +0 -25
  39. data/lib/fmrest/token_store/memory.rb +0 -26
  40. data/lib/fmrest/token_store/moneta.rb +0 -41
  41. data/lib/fmrest/token_store/null.rb +0 -20
  42. data/lib/fmrest/token_store/redis.rb +0 -45
  43. data/lib/fmrest/v1.rb +0 -23
  44. data/lib/fmrest/v1/auth.rb +0 -30
  45. data/lib/fmrest/v1/connection.rb +0 -115
  46. data/lib/fmrest/v1/container_fields.rb +0 -114
  47. data/lib/fmrest/v1/dates.rb +0 -81
  48. data/lib/fmrest/v1/paths.rb +0 -47
  49. data/lib/fmrest/v1/raise_errors.rb +0 -57
  50. data/lib/fmrest/v1/token_session.rb +0 -133
  51. data/lib/fmrest/v1/token_store/active_record.rb +0 -13
  52. data/lib/fmrest/v1/token_store/memory.rb +0 -13
  53. data/lib/fmrest/v1/type_coercer.rb +0 -192
  54. data/lib/fmrest/v1/utils.rb +0 -94
  55. 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.12.0
4
+ version: 0.15.1
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-11-12 00:00:00.000000000 Z
11
+ date: 2021-04-05 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.1
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.1
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
- - - ">="
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.15.1
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.15.1
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,21 +81,21 @@ 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
  - - ">="
100
88
  - !ruby/object:Gem::Version
101
- version: 5.3.3
89
+ version: '0'
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
93
  requirements:
106
94
  - - ">="
107
95
  - !ruby/object:Gem::Version
108
- version: 5.3.3
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,49 +137,49 @@ 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
+ - - ">="
156
144
  - !ruby/object:Gem::Version
157
- version: 1.4.0
145
+ version: '0'
158
146
  type: :development
159
147
  prerelease: false
160
148
  version_requirements: !ruby/object:Gem::Requirement
161
149
  requirements:
162
- - - "~>"
150
+ - - ">="
163
151
  - !ruby/object:Gem::Version
164
- version: 1.4.0
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,73 +206,48 @@ 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
- - ".gitignore"
230
- - ".rspec"
231
- - ".travis.yml"
232
216
  - ".yardopts"
233
217
  - CHANGELOG.md
234
- - Gemfile
235
218
  - LICENSE.txt
236
219
  - README.md
237
- - Rakefile
238
- - UPGRADING
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/record_id.rb
256
- - lib/fmrest/spyke/model/serialization.rb
257
- - lib/fmrest/spyke/model/uri.rb
258
- - lib/fmrest/spyke/portal.rb
259
- - lib/fmrest/spyke/relation.rb
260
- - lib/fmrest/spyke/spyke_formatter.rb
261
- - lib/fmrest/spyke/validation_error.rb
262
- - lib/fmrest/string_date.rb
263
- - lib/fmrest/token_store.rb
264
- - lib/fmrest/token_store/active_record.rb
265
- - lib/fmrest/token_store/base.rb
266
- - lib/fmrest/token_store/memory.rb
267
- - lib/fmrest/token_store/moneta.rb
268
- - lib/fmrest/token_store/null.rb
269
- - lib/fmrest/token_store/redis.rb
270
- - lib/fmrest/v1.rb
271
- - lib/fmrest/v1/auth.rb
272
- - lib/fmrest/v1/connection.rb
273
- - lib/fmrest/v1/container_fields.rb
274
- - lib/fmrest/v1/dates.rb
275
- - lib/fmrest/v1/paths.rb
276
- - lib/fmrest/v1/raise_errors.rb
277
- - lib/fmrest/v1/token_session.rb
278
- - lib/fmrest/v1/token_store/active_record.rb
279
- - lib/fmrest/v1/token_store/memory.rb
280
- - lib/fmrest/v1/type_coercer.rb
281
- - lib/fmrest/v1/utils.rb
282
- - lib/fmrest/version.rb
283
220
  homepage: https://github.com/beezwax/fmrest-ruby
284
221
  licenses:
285
222
  - MIT
286
223
  metadata: {}
287
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
+
288
251
  =======================================
289
252
  Notes on upgrading from fmrest < 0.12
290
253
  =======================================
@@ -317,6 +280,6 @@ requirements: []
317
280
  rubygems_version: 3.0.6
318
281
  signing_key:
319
282
  specification_version: 4
320
- summary: FileMaker Data API client using Faraday
283
+ summary: FileMaker Data API client
321
284
  test_files: []
322
285
  ...
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/UPGRADING DELETED
@@ -1,15 +0,0 @@
1
- =======================================
2
- Notes on upgrading from fmrest < 0.12
3
- =======================================
4
-
5
- There's a small breaking change in fmrest 0.12 that will most likely not affect
6
- you, but you may want to be aware of:
7
-
8
- Previous to this version the record ID on an FmRest::Spyke::Base instance could
9
- be set with `id=`. This caused problems in cases where a FileMaker layout had a
10
- field named `id`, so `id=` got renamed to `__record_id=`. Setting the record ID
11
- by hand however isn't something useful or that should be done at all, so it's
12
- very unlikely that this change will affect your existing code at all.
13
-
14
- Thanks for using fmrest-ruby!
15
-
data/fmrest.gemspec DELETED
@@ -1,49 +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{^(\.github|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
- if File.exist?('UPGRADING')
24
- spec.post_install_message = File.read("UPGRADING")
25
- end
26
-
27
- spec.add_dependency 'faraday', '>= 0.9.0', '< 2.0'
28
- spec.add_dependency 'faraday_middleware', '>= 0.9.1', '< 2.0'
29
-
30
- spec.add_development_dependency "bundler"
31
- spec.add_development_dependency "rake"
32
- spec.add_development_dependency "rspec", "~> 3.0"
33
- spec.add_development_dependency "spyke", ">= 5.3.3"
34
- spec.add_development_dependency "webmock"
35
- spec.add_development_dependency "pry-byebug"
36
- spec.add_development_dependency "activerecord", ENV["ACTIVE_RECORD_VERSION"]
37
-
38
- sqlite3_version = if (4.2..5.2).include?(ENV["ACTIVE_RECORD_VERSION"].to_s.gsub(/[^\d.]/, "").to_f)
39
- "~> 1.3.0"
40
- else
41
- "~> 1.4.0"
42
- end
43
-
44
- spec.add_development_dependency "sqlite3", sqlite3_version
45
- spec.add_development_dependency "mock_redis"
46
- spec.add_development_dependency "moneta"
47
- spec.add_development_dependency "yard"
48
- spec.add_development_dependency "yard-activesupport-concern"
49
- 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