mirage 4.0.0.alpha4 → 4.0.0.alpha5

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
  SHA1:
3
- metadata.gz: 50bcf605e3374afe59ec1b2be22653369896d4be
4
- data.tar.gz: 13a198c558c1c29bc7fe46108243a4bd1fc0f170
3
+ metadata.gz: 224a5f945b7e5a6141efdf2d0e69cfebbb55546f
4
+ data.tar.gz: d15b39a80c0d32ccf2eaeda7fa5b48435da57d2d
5
5
  SHA512:
6
- metadata.gz: 2dacb34cb36454410853fe7a199cb28588e3914b3bf1cff0a76785f5c922d69ca8a7429582fc4d59521236103d35c27f6b9b40deedfac95ef5b18b1d3b8c058b
7
- data.tar.gz: 50e561d322773aab49bbeacf29103eb72b708e0b922a1c57fda29bf6d9c2e6821eac0d6e00aca65cd26cb03f00749f8b96fb57ae70a7ca22cc85195188fb2892
6
+ metadata.gz: 81e98272e32815fc4d3ec0d3b6b129f40a7a6f2a60993ae8f6050199adea19b92454a39d01178140ce5602e9b34791e24664940f6691ecb727fb1fe65ae5b80d
7
+ data.tar.gz: 1aa92fbfb9dd42cddb20a57e8b8ad677aab17729913526a452ca4334003d9c0f205ceca045bf06322e051c3099d5339898f590085995844c01ba22f49f62a73d
@@ -50,7 +50,7 @@ module Mirage
50
50
  options[:http_method].upcase!
51
51
  http_method = options[:http_method]
52
52
  default_responses = subdomains(options[:endpoint]).collect do |domain|
53
- if (responses_for_domain = responses.fuzzy_find(domain))
53
+ if (responses_for_domain = responses.fuzzy_find(domain, http_method))
54
54
  responses_for_domain[http_method].find_all { |response| response.default? } if responses_for_domain[http_method]
55
55
  end
56
56
  end.flatten.compact
@@ -67,7 +67,7 @@ module Mirage
67
67
  end
68
68
 
69
69
  def find(options)
70
- options[:response_set] = responses.fuzzy_find(options[:endpoint])
70
+ options[:response_set] = responses.fuzzy_find(options[:endpoint], options[:http_method])
71
71
  find_in_response_set(options) || raise(ServerResponseNotFound)
72
72
  end
73
73
 
@@ -1,10 +1,14 @@
1
1
  module Mirage
2
2
  class MockResponseSet < Hash
3
- def fuzzy_find desired_key
3
+ def fuzzy_find desired_key, http_method
4
4
  result = self[desired_key]
5
5
  return result unless result.nil?
6
- key, value = find{|key, value| key.is_a?(Regexp) && desired_key.is_a?(String) && key.match(desired_key) }
7
- value
6
+ result = find_all do |key, value|
7
+ key.is_a?(Regexp) && desired_key.is_a?(String) && key.match(desired_key) && value[http_method]
8
+ end.sort do |a,b|
9
+ b.first.source.size <=> a.first.source.size
10
+ end
11
+ result.first && result.first[1]
8
12
  end
9
13
  end
10
14
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mirage
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.alpha4
4
+ version: 4.0.0.alpha5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leon Davis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-11 00:00:00.000000000 Z
11
+ date: 2018-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sinatra