rspec_api_blueprint_matchers 0.1.3 → 0.1.4

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: 00bbd623fac3c63470843d99199dec55cb21933d
4
- data.tar.gz: a685889ecb9d20e98bdd4259edb41ad839a8fcc1
3
+ metadata.gz: 6dc5ebff2689d095904f17137d1554b9a3d05240
4
+ data.tar.gz: bb68a6dcf5100596475dc17b36eb5e0e88f5ebe5
5
5
  SHA512:
6
- metadata.gz: c8c62e6ea5459d29d6cac59df4a6f087d59c3f601d1c4e054c72bb7c858237a02072d7be62a61b10dce3f0b8271b17ff54e98888ad851902d76c46fdce097cf0
7
- data.tar.gz: 6941c13aa25247839e24588320b01d6c7f499f2fd555eeee7318094d13928f0f277669359f29c464683e4f8aaed93d748defd8c362ae00c4bd08e06367548967
6
+ metadata.gz: 6029d68ee28a95f469637a4385f2e5ff663d7452cf6e37e886117c9c0ea25208ebbcbe0dce3ebcfbc12bf08388c83d82b0f5d8b30a95bb078bd4268a85d571bb
7
+ data.tar.gz: f596a4f15ecede8ac78cacd95ddae170364620fba52484f743912b90b3348e1ba7e4774753e7b8af2085049b88a3da24ffc7427262017ec6f6b5fb68ecb6919a
data/.codeclimate.yml CHANGED
@@ -3,10 +3,6 @@
3
3
  # https://docs.codeclimate.com/docs/getting-started-configuration
4
4
 
5
5
  engines:
6
- brakeman:
7
- enabled: true
8
- bundler-audit:
9
- enabled: true
10
6
  duplication:
11
7
  enabled: true
12
8
  config:
@@ -17,10 +13,6 @@ engines:
17
13
  enabled: true
18
14
  rubocop:
19
15
  enabled: true
20
- reek:
21
- enabled: true
22
- eslint:
23
- enabled: true
24
16
  ratings:
25
17
  paths:
26
18
  - Gemfile.lock
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  module RSpecApib
3
+ # Configuration
3
4
  class Config
4
5
  attr_accessor :default_blueprint_file
5
6
  def batch_configure
@@ -12,7 +13,7 @@ module RSpecApib
12
13
  # parsed the default blueprint file
13
14
  # @return [::RSpecApib::Parser] The parser
14
15
  def default_parser
15
- @default_parser ||= Parser.new.tap { |p| p.parse_file(default_blueprint_file) }
16
+ @default_parser ||= Parser.new.tap { |parser| parser.parse_file(default_blueprint_file) }
16
17
  end
17
18
  end
18
19
  end
@@ -5,7 +5,7 @@ module RSpecApib
5
5
  # Represents a collection of href variables in api-elements (http://api-elements.readthedocs.io/en/latest/)
6
6
  class HrefVariables < Base
7
7
  def [](key)
8
- member = content.find { |h| h.is_a?(Member) && h.content.key?(key) }
8
+ member = content.find { |href_variable| href_variable.is_a?(Member) && href_variable.content.key?(key) }
9
9
  return nil if member.nil?
10
10
  member.content[key]
11
11
  end
@@ -4,13 +4,13 @@ module RSpecApib
4
4
  # Represents a collection of http headers in api-elements (http://api-elements.readthedocs.io/en/latest/)
5
5
  class HttpHeaders < Base
6
6
  def [](key)
7
- member = content.find { |h| h.is_a?(Member) && h.content.key?(key) }
7
+ member = content.find { |http_header| http_header.is_a?(Member) && http_header.content.key?(key) }
8
8
  return nil if member.nil?
9
9
  member.content[key]
10
10
  end
11
11
 
12
12
  def each_pair
13
- content.select { |h| h.is_a?(Member) }.each do |header|
13
+ content.select { |http_header| http_header.is_a?(Member) }.each do |header|
14
14
  yield header.key, header.value
15
15
  end
16
16
  end
@@ -18,7 +18,7 @@ module RSpecApib
18
18
  def keep_if
19
19
  results = dup
20
20
  results.content = []
21
- content.select { |h| h.is_a?(Member) }.each do |header|
21
+ content.select { |http_header| http_header.is_a?(Member) }.each do |header|
22
22
  results.content << header if yield header.key, header.value
23
23
  end
24
24
  results
@@ -38,9 +38,8 @@ module RSpecApib
38
38
  private
39
39
 
40
40
  def body_schema_asset
41
- content.find { |n| n.is_a?(Asset) && n.meta && n.meta["classes"] && n.meta["classes"].include?("messageBodySchema")}
41
+ content.find { |node| node.is_a?(Asset) && node.meta && node.meta["classes"] && node.meta["classes"].include?("messageBodySchema")}
42
42
  end
43
-
44
43
  end
45
44
  end
46
45
  end
@@ -5,15 +5,15 @@ require "rspec_apib/elements"
5
5
  require "open3"
6
6
  require "json"
7
7
  module RSpecApib
8
+ # Transcludes and parses a api blueprint file
8
9
  class Parser
9
-
10
10
  def initialize(transcluder: Transcluder, base_element: Element::Base)
11
11
  self.transcluder = transcluder
12
12
  self.base_element = base_element
13
13
  end
14
14
 
15
15
  def parse_file(file)
16
- self.parsed_file = call_parser(file)
16
+ self.parsed_file = decode_file(file)
17
17
  document, index = parse_document
18
18
  self.document = document
19
19
  self.index = index
@@ -64,17 +64,25 @@ module RSpecApib
64
64
  "drafter"
65
65
  end
66
66
 
67
+ def decode_file(file)
68
+ JSON.parse call_parser(file)
69
+ end
70
+
67
71
  def call_parser(file)
68
72
  op = nil
69
73
  Open3.popen3("#{bin_path} -f json") do |stdin, stdout, _stderr, wait_thr|
70
- transcluder.each_line(file) do |line|
71
- stdin.write line
72
- end
73
- stdin.close
74
+ send_document(file: file, buffer: stdin)
74
75
  op = stdout.read
75
76
  exit_status = wait_thr.value
76
77
  end
77
- JSON.parse op
78
+ op
79
+ end
80
+
81
+ def send_document(file:, buffer:)
82
+ transcluder.each_line(file) do |line|
83
+ buffer.write line
84
+ end
85
+ buffer.close
78
86
  end
79
87
  end
80
88
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module RSpecApib
3
- VERSION = "0.1.3".freeze
3
+ VERSION = "0.1.4".freeze
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec_api_blueprint_matchers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shift Commerce Ltd
@@ -163,7 +163,6 @@ files:
163
163
  - lib/rspec_apib/elements/string.rb
164
164
  - lib/rspec_apib/elements/templated_href.rb
165
165
  - lib/rspec_apib/elements/transition.rb
166
- - lib/rspec_apib/engine.rb
167
166
  - lib/rspec_apib/extractors.rb
168
167
  - lib/rspec_apib/extractors/http_transaction.rb
169
168
  - lib/rspec_apib/extractors/resource.rb
File without changes