fmrest 0.10.0 → 0.13.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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +2 -0
  3. data/CHANGELOG.md +38 -0
  4. data/README.md +194 -763
  5. metadata +70 -97
  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/fmrest.gemspec +0 -38
  12. data/lib/fmrest.rb +0 -29
  13. data/lib/fmrest/errors.rb +0 -28
  14. data/lib/fmrest/spyke.rb +0 -21
  15. data/lib/fmrest/spyke/base.rb +0 -23
  16. data/lib/fmrest/spyke/container_field.rb +0 -59
  17. data/lib/fmrest/spyke/model.rb +0 -36
  18. data/lib/fmrest/spyke/model/associations.rb +0 -82
  19. data/lib/fmrest/spyke/model/attributes.rb +0 -171
  20. data/lib/fmrest/spyke/model/auth.rb +0 -35
  21. data/lib/fmrest/spyke/model/connection.rb +0 -74
  22. data/lib/fmrest/spyke/model/container_fields.rb +0 -25
  23. data/lib/fmrest/spyke/model/global_fields.rb +0 -40
  24. data/lib/fmrest/spyke/model/http.rb +0 -37
  25. data/lib/fmrest/spyke/model/orm.rb +0 -212
  26. data/lib/fmrest/spyke/model/serialization.rb +0 -91
  27. data/lib/fmrest/spyke/model/uri.rb +0 -30
  28. data/lib/fmrest/spyke/portal.rb +0 -55
  29. data/lib/fmrest/spyke/relation.rb +0 -359
  30. data/lib/fmrest/spyke/spyke_formatter.rb +0 -273
  31. data/lib/fmrest/spyke/validation_error.rb +0 -25
  32. data/lib/fmrest/string_date.rb +0 -220
  33. data/lib/fmrest/token_store.rb +0 -6
  34. data/lib/fmrest/token_store/active_record.rb +0 -74
  35. data/lib/fmrest/token_store/base.rb +0 -25
  36. data/lib/fmrest/token_store/memory.rb +0 -26
  37. data/lib/fmrest/token_store/moneta.rb +0 -41
  38. data/lib/fmrest/token_store/redis.rb +0 -45
  39. data/lib/fmrest/v1.rb +0 -21
  40. data/lib/fmrest/v1/connection.rb +0 -89
  41. data/lib/fmrest/v1/container_fields.rb +0 -114
  42. data/lib/fmrest/v1/dates.rb +0 -81
  43. data/lib/fmrest/v1/paths.rb +0 -47
  44. data/lib/fmrest/v1/raise_errors.rb +0 -57
  45. data/lib/fmrest/v1/token_session.rb +0 -142
  46. data/lib/fmrest/v1/token_store/active_record.rb +0 -13
  47. data/lib/fmrest/v1/token_store/memory.rb +0 -13
  48. data/lib/fmrest/v1/type_coercer.rb +0 -192
  49. data/lib/fmrest/v1/utils.rb +0 -95
  50. 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.10.0
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pedro Carbajal
8
- autorequire:
9
- bindir: exe
8
+ autorequire:
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-31 00:00:00.000000000 Z
11
+ date: 2021-02-11 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.13.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.13.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
- - - ">="
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.13.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.13.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: '1.16'
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: '1.16'
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: '10.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: '10.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,68 +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
- - ".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
- - fmrest.gemspec
239
- - lib/fmrest.rb
240
- - lib/fmrest/errors.rb
241
- - lib/fmrest/spyke.rb
242
- - lib/fmrest/spyke/base.rb
243
- - lib/fmrest/spyke/container_field.rb
244
- - lib/fmrest/spyke/model.rb
245
- - lib/fmrest/spyke/model/associations.rb
246
- - lib/fmrest/spyke/model/attributes.rb
247
- - lib/fmrest/spyke/model/auth.rb
248
- - lib/fmrest/spyke/model/connection.rb
249
- - lib/fmrest/spyke/model/container_fields.rb
250
- - lib/fmrest/spyke/model/global_fields.rb
251
- - lib/fmrest/spyke/model/http.rb
252
- - lib/fmrest/spyke/model/orm.rb
253
- - lib/fmrest/spyke/model/serialization.rb
254
- - lib/fmrest/spyke/model/uri.rb
255
- - lib/fmrest/spyke/portal.rb
256
- - lib/fmrest/spyke/relation.rb
257
- - lib/fmrest/spyke/spyke_formatter.rb
258
- - lib/fmrest/spyke/validation_error.rb
259
- - lib/fmrest/string_date.rb
260
- - lib/fmrest/token_store.rb
261
- - lib/fmrest/token_store/active_record.rb
262
- - lib/fmrest/token_store/base.rb
263
- - lib/fmrest/token_store/memory.rb
264
- - lib/fmrest/token_store/moneta.rb
265
- - lib/fmrest/token_store/redis.rb
266
- - lib/fmrest/v1.rb
267
- - lib/fmrest/v1/connection.rb
268
- - lib/fmrest/v1/container_fields.rb
269
- - lib/fmrest/v1/dates.rb
270
- - lib/fmrest/v1/paths.rb
271
- - lib/fmrest/v1/raise_errors.rb
272
- - lib/fmrest/v1/token_session.rb
273
- - lib/fmrest/v1/token_store/active_record.rb
274
- - lib/fmrest/v1/token_store/memory.rb
275
- - lib/fmrest/v1/type_coercer.rb
276
- - lib/fmrest/v1/utils.rb
277
- - lib/fmrest/version.rb
278
220
  homepage: https://github.com/beezwax/fmrest-ruby
279
221
  licenses:
280
222
  - MIT
281
223
  metadata: {}
282
- 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
+
283
255
  rdoc_options: []
284
256
  require_paths:
285
257
  - lib
@@ -294,8 +266,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
294
266
  - !ruby/object:Gem::Version
295
267
  version: '0'
296
268
  requirements: []
297
- rubygems_version: 3.0.6
298
- signing_key:
269
+ rubygems_version: 3.2.3
270
+ signing_key:
299
271
  specification_version: 4
300
- summary: FileMaker Data API client using Faraday
272
+ summary: FileMaker Data API client
301
273
  test_files: []
274
+ ...
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", "~> 1.16"
27
- spec.add_development_dependency "rake", "~> 10.0"
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,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "faraday"
4
- require "faraday_middleware"
5
-
6
- require "fmrest/version"
7
- require "fmrest/v1"
8
-
9
- module FmRest
10
- class << self
11
- attr_accessor :token_store
12
-
13
- attr_writer :default_connection_settings
14
-
15
- def default_connection_settings
16
- @default_connection_settings || {}
17
- end
18
-
19
- def config=(connection_hash)
20
- warn "[DEPRECATION] `FmRest.config=` is deprecated, use `FmRest.default_connection_settings=` instead"
21
- self.default_connection_settings = connection_hash
22
- end
23
-
24
- def config
25
- warn "[DEPRECATION] `FmRest.config` is deprecated, use `FmRest.default_connection_settings` instead"
26
- default_connection_settings
27
- end
28
- end
29
- end
data/lib/fmrest/errors.rb DELETED
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module FmRest
4
- class Error < StandardError; end
5
-
6
- class APIError < Error
7
- attr_reader :code
8
-
9
- def initialize(code, message = nil)
10
- @code = code
11
- super("FileMaker Data API responded with error #{code}: #{message}")
12
- end
13
- end
14
-
15
- class APIError::UnknownError < APIError; end # error code -1
16
- class APIError::ResourceMissingError < APIError; end # error codes 100..199
17
- class APIError::RecordMissingError < APIError::ResourceMissingError; end
18
- class APIError::AccountError < APIError; end # error codes 200..299
19
- class APIError::LockError < APIError; end # error codes 300..399
20
- class APIError::ParameterError < APIError; end # error codes 400..499
21
- class APIError::NoMatchingRecordsError < APIError::ParameterError; end
22
- class APIError::ValidationError < APIError; end # error codes 500..599
23
- class APIError::SystemError < APIError; end # error codes 800..899
24
- class APIError::ScriptError < APIError; end # error codes 1200..1299
25
- class APIError::ODBCError < APIError; end # error codes 1400..1499
26
-
27
- class ContainerFieldError < Error; end
28
- end