fmrest 0.2.2 → 0.2.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9e9c7970a1312d387699578cbe88a61307c0ed6eb2f7951bde931032fcdbab21
4
- data.tar.gz: 0af953e25167c45daf01bf7107b29ebdd6e5ac72ce10dc67e82f3ec70a53ac96
3
+ metadata.gz: 996b7a73eb92f7a6d7df2b0e6f7a5f082005dc258b5ab2ba5589967e9c87b60e
4
+ data.tar.gz: 3ac6ecdcd60573186ca63bd30d32202ed33cb04884de8acc5bc572e13d8976f3
5
5
  SHA512:
6
- metadata.gz: a6aaea5914f68905024026ff9480b3867ed9f3603925a043ba2b01e421eadf767811c0745b3aabddf837e55c4194dd2050383a35ce574572386fd683a32c5069
7
- data.tar.gz: fd4ad5c30ce611a22ad68281ebeda50565e8a92307dc9134f96be28f2695f831cbe857281f1e1969e07548b5c31260bd0f9d07a5f30adc4d921d501f235611c4
6
+ metadata.gz: a1f892950743e0ef1cdcaf5eccb51131f4de935c6b56b3a09e0893eb39f031b0d54830e34fc88624249f4ec29cebd8aa7993e3e52b0c99c9dfc35436a9150de6
7
+ data.tar.gz: 5d030409c8f51aec4bd4cae244e667be3bf758da672837893c3f34a6a82ec8d3e7f2b3461c54057a0849d63a9965bc800e5b7490510bd2e8ca4f50533064318e
data/lib/fmrest/spyke.rb CHANGED
@@ -7,6 +7,7 @@ rescue LoadError => e
7
7
  raise e
8
8
  end
9
9
 
10
+ require "fmrest"
10
11
  require "fmrest/spyke/json_parser"
11
12
  require "fmrest/spyke/model"
12
13
  require "fmrest/spyke/base"
@@ -7,10 +7,14 @@ module FmRest
7
7
  end
8
8
 
9
9
  class << self
10
- def Base(config = {})
11
- Class.new(::FmRest::Spyke::Base) do
12
- self.fmrest_config = config
10
+ def Base(config = nil)
11
+ if config
12
+ return Class.new(::FmRest::Spyke::Base) do
13
+ self.fmrest_config = config
14
+ end
13
15
  end
16
+
17
+ ::FmRest::Spyke::Base
14
18
  end
15
19
  end
16
20
  end
@@ -7,8 +7,9 @@ module FmRest
7
7
  # Response Faraday middleware for converting FM API's response JSON into
8
8
  # Spyke's expected format
9
9
  class JsonParser < ::Faraday::Response::Middleware
10
- SINGLE_RECORD_RE = %r(/records/\d+\Z).freeze
11
- MULTIPLE_RECORDS_RE = %r(/records\Z).freeze
10
+ SINGLE_RECORD_RE = %r(/records/\d+\z).freeze
11
+ MULTIPLE_RECORDS_RE = %r(/records\z).freeze
12
+ CONTAINER_RE = %r(/records/\d+/containers/[^/]+/\d+\z).freeze
12
13
  FIND_RECORDS_RE = %r(/_find\b).freeze
13
14
 
14
15
  VALIDATION_ERROR_RANGE = 500..599
@@ -29,7 +30,7 @@ module FmRest
29
30
  env.body = prepare_single_record(json)
30
31
  when multiple_records_request?(env), find_request?(env)
31
32
  env.body = prepare_collection(json)
32
- when create_request?(env), update_request?(env), delete_request?(env)
33
+ when create_request?(env), update_request?(env), delete_request?(env), container_upload_request?(env)
33
34
  env.body = prepare_save_response(json)
34
35
  end
35
36
  end
@@ -185,6 +186,11 @@ module FmRest
185
186
  env.method == :post && env.url.path.match(MULTIPLE_RECORDS_RE)
186
187
  end
187
188
 
189
+ # (see #single_record_request?)
190
+ def container_upload_request?(env)
191
+ env.method == :post && env.url.path.match(CONTAINER_RE)
192
+ end
193
+
188
194
  # (see #single_record_request?)
189
195
  def delete_request?(env)
190
196
  env.method == :delete && env.url.path.match(SINGLE_RECORD_RE)
@@ -38,7 +38,7 @@ module FmRest
38
38
  private
39
39
 
40
40
  def fmrest_connection
41
- @fmrest_connection ||= FmRest::V1.build_connection(fmrest_config) do |conn|
41
+ @fmrest_connection ||= FmRest::V1.build_connection(fmrest_config || FmRest.config) do |conn|
42
42
  faraday_block.call(conn) if faraday_block
43
43
 
44
44
  # Pass the class to JsonParser's initializer so it can have
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FmRest
4
- VERSION = "0.2.2"
4
+ VERSION = "0.2.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fmrest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pedro Carbajal
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-07-11 00:00:00.000000000 Z
11
+ date: 2019-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday