liedetector 0.2.1 → 0.2.2

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
  SHA1:
3
- metadata.gz: d61795781cd370a2ac0d5aec455ce7ec975809bf
4
- data.tar.gz: c2a9cfdc741c5f04a7976c144507d2a18a17aa14
3
+ metadata.gz: aa03058163399affa0461be6673a9d3e5a12c890
4
+ data.tar.gz: 1c53a79fe362a04d08772d26bc805877c9b2e098
5
5
  SHA512:
6
- metadata.gz: dbb02fb245886090664c4b78ac42e8f0c73e59d2e750930189608517d3aff88f58aa78d5f636c658af654e949ecfce12ca39f9c56d2c5ad6c0848b56ce9b909e
7
- data.tar.gz: d60f6ada6be527870ae719e953683e89bee2845316a3ce7a1e99497a7f30cd5bb4dbb4843b1ce31095fa7d9a489175f30754949aeffeeb5d7b0f0ccc789cdc81
6
+ metadata.gz: 20a421fc36dbd658fc3d6dbed033d94e32c3a8e5fd8f1ae71bab8e42304636698037baec78522f5c8dcfc6bcb78bd548eb1b26443f5f9b8953361cc8466018af
7
+ data.tar.gz: 5d19b4011700ddd9b7482a5b1164929d64846d2c666e8cef031f92203039cd5eadd76da67b88f1de953d83f5d718e486a3b1ae95f9657bca6d3d757bc2e9f17a
data/Gemfile.lock CHANGED
@@ -27,7 +27,7 @@ GEM
27
27
  rspec-support (~> 3.0.0)
28
28
  rspec-support (3.0.3)
29
29
  thread_safe (0.3.4)
30
- trafaret (1.5.7)
30
+ trafaret (1.5.9)
31
31
  activesupport
32
32
  tzinfo (1.2.1)
33
33
  thread_safe (~> 0.1)
@@ -4,40 +4,27 @@ module LieDetector
4
4
  @suite = suite
5
5
  end
6
6
 
7
- def method(method)
8
- @method = method
9
- end
10
-
11
- def path(path)
12
- @path = path
13
- end
14
-
15
- def data(data)
16
- @data = data
17
- end
18
-
19
- def query(query)
20
- @query = query
21
- end
7
+ %w{method path data query headers status description}.each do |name|
8
+ define_method name do |arg|
9
+ self.instance_variable_set("@#{name}", arg)
10
+ end
22
11
 
23
- def headers(headers)
24
- @headers = headers
12
+ define_method "get_#{name}" do
13
+ data = self.instance_variable_get("@#{name}")
14
+ if data.is_a? Proc
15
+ @suite.instance_eval &data
16
+ else
17
+ data
18
+ end
19
+ end
25
20
  end
26
21
 
27
22
  def await(trafaret)
28
23
  @trafaret = T.construct(trafaret)
29
24
  end
30
25
 
31
- def description(description)
32
- @description = description
33
- end
34
-
35
26
  def describe
36
- "#{@description}\nExecute #{@method.to_s.upcase} #{@path}\n"
37
- end
38
-
39
- def status(status)
40
- @status = status
27
+ "#{@description}\nExecute #{@method.to_s.upcase} #{get_path}\n"
41
28
  end
42
29
 
43
30
  def store(name)
@@ -46,21 +33,21 @@ module LieDetector
46
33
 
47
34
  def call
48
35
  res = @suite.session.send(
49
- @method,
50
- @suite.build_uri(@path, query: @query),
36
+ get_method,
37
+ @suite.build_uri(get_path, query: get_query),
51
38
  {
52
- data: @data,
53
- header: @suite.headers_defaults.merge(@headers || {})
39
+ data: get_data,
40
+ header: @suite.headers_defaults.merge(get_headers || {})
54
41
  }
55
42
  )
56
- unless res.status == @status
57
- raise "Bad status(#{@status} != #{res.status}): #{res.inspect}"
43
+ unless res.status == get_status
44
+ raise "Bad status(#{get_status} != #{res.status}): #{res.inspect}"
58
45
  end
59
- res = @trafaret.call(Oj.load(res.content))
60
- if res.is_a? Trafaret::Error
61
- raise "Unmatched data #{res.dump}"
46
+ check = @trafaret.call(Oj.load(res.content))
47
+ if check.is_a? Trafaret::Error
48
+ raise "Unmatched data #{check.dump} #{res.content}"
62
49
  end
63
- @suite.store_key(@store_key, res) if @store_key
50
+ @suite.store_key(@store_key, check) if @store_key
64
51
  end
65
52
  end
66
53
  end
@@ -3,6 +3,8 @@ module LieDetector
3
3
  HEADERS_DEFAULTS = {'Accept' => 'application/json'}
4
4
  HTTP_DEFAULTS = {host: '127.0.0.1', port: 3000}
5
5
 
6
+ attr_accessor :http_defaults
7
+
6
8
  def headers_defaults
7
9
  HEADERS_DEFAULTS
8
10
  end
@@ -1,3 +1,3 @@
1
1
  module LieDetector
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: liedetector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mikhail Krivushin