fmrest 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
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