rspec-qbec 0.0.1.beta.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: f65802ef75cba1e2c39d84919083fa5f129fcef1927a88f2d2a148a586fd0cfe
4
+ data.tar.gz: d8a5ee644b2d896980581ff7e47260f4071f79d290c621e486fac5d25de9e9a3
5
+ SHA512:
6
+ metadata.gz: 8d1ac8fbd82c9b7196dd6841e1f9820c5ef227fae11cc480cd1dd268d6bb7f46ea9264d63397512098614a769f82076c759fa2465de31fa5c55b08c0a7841c03
7
+ data.tar.gz: 984c050fd1c5e4aca0f3ae5d713c7cfaf696e4151a308fa99a9019484c5d66c350b5c2b93fb42289d0cc6b97ce5d12378f3dba9bda3ed342181093dcf56e4744
data/.gitignore ADDED
@@ -0,0 +1,3 @@
1
+ *.rbc
2
+ *.gem
3
+ Gemfile.lock
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'time'
4
+ require 'yaml'
5
+ require 'tmpdir'
6
+
7
+ module RSpec
8
+ module Qbec
9
+ def run(cmd)
10
+ Open3.capture3(cmd)
11
+ end
12
+
13
+ def run_qbec(env = '', args = '')
14
+ run("qbec --root #{RSpec.configuration.qbec_root} show #{args} #{env}")
15
+ end
16
+
17
+ def to_ostruct(object)
18
+ case object
19
+ when Hash
20
+ OpenStruct.new(object.transform_values { |v| to_ostruct(v) })
21
+ when Array
22
+ object.map { |x| to_ostruct(x) }
23
+ else
24
+ object
25
+ end
26
+ end
27
+
28
+ def yaml(str, kind = '')
29
+ matches = str.split(/(?:\n+|\A)---(?:\n+|\Z)/m)
30
+ res = []
31
+ matches.each do |v|
32
+ res << to_ostruct(YAML.safe_load(v)) if v != ''
33
+ end
34
+ if kind != ''
35
+ kind = kind.downcase
36
+ res = res.select { |v| v.kind.downcase == kind }
37
+ end
38
+ res
39
+ end
40
+
41
+ def yaml_several(str, template)
42
+ match = str.match(/#{regexp_source(template)}\n(.+?)\n(# Source|\z)/m)
43
+ return if match.nil?
44
+
45
+ str_ar = match[1].split('---')
46
+ yamls = str_ar.each_with_object([]) do |el, res|
47
+ res << to_ostruct(YAML.safe_load(el))
48
+ end
49
+ yamls.reject { |el| el == false }.compact
50
+ end
51
+
52
+ def write_file(str)
53
+ file_path = ''
54
+ loop do
55
+ file_path = Dir.tmpdir + "/qbec_#{DateTime.now.strftime('%Q')}"
56
+ break unless File.exist?(file_path)
57
+ end
58
+ File.open(file_path, 'w') { |file| file.write(str) }
59
+ file_path
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RSpec
4
+ module Qbec
5
+ VERSION = ::Gem::Version.new('0.0.1.beta.0')
6
+
7
+ def self.version
8
+ VERSION
9
+ end
10
+ end
11
+ end
data/lib/rspec/qbec.rb ADDED
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rspec'
4
+ require 'rspec/qbec/version'
5
+ require 'rspec/qbec/helper'
6
+
7
+ RSpec.configure do |config|
8
+ config.include(RSpec::Qbec)
9
+
10
+ config.add_setting(:qbec_root, default: 'qbec')
11
+ end
@@ -0,0 +1,24 @@
1
+ lib = File.expand_path('lib', __dir__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'rspec/qbec/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'rspec-qbec'
7
+ spec.version = RSpec::Qbec.version
8
+
9
+ spec.authors = ['Rustam Zagirov']
10
+ spec.email = 'stammru@gmail.com'
11
+
12
+ spec.summary = 'Helpers for qbec run'
13
+ spec.description = 'RSpec::Wait enables time-resilient expectations in your RSpec test suite.' # rubocop:disable Metrics/LineLength
14
+ spec.homepage = 'https://github.com/stamm/rspec-qbec'
15
+ spec.license = 'MIT'
16
+
17
+ spec.files = `git ls-files -z`.split("\x0")
18
+ spec.test_files = spec.files.grep(/^spec/)
19
+
20
+
21
+ spec.add_runtime_dependency 'rspec', '~> 3'
22
+ spec.add_development_dependency 'bundler'
23
+ spec.add_development_dependency 'rake'
24
+ end
metadata ADDED
@@ -0,0 +1,89 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rspec-qbec
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1.beta.0
5
+ platform: ruby
6
+ authors:
7
+ - Rustam Zagirov
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-05-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description: RSpec::Wait enables time-resilient expectations in your RSpec test suite.
56
+ email: stammru@gmail.com
57
+ executables: []
58
+ extensions: []
59
+ extra_rdoc_files: []
60
+ files:
61
+ - ".gitignore"
62
+ - lib/rspec/qbec.rb
63
+ - lib/rspec/qbec/helper.rb
64
+ - lib/rspec/qbec/version.rb
65
+ - rspec-qbec.gemspec
66
+ homepage: https://github.com/stamm/rspec-qbec
67
+ licenses:
68
+ - MIT
69
+ metadata: {}
70
+ post_install_message:
71
+ rdoc_options: []
72
+ require_paths:
73
+ - lib
74
+ required_ruby_version: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ required_rubygems_version: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">"
82
+ - !ruby/object:Gem::Version
83
+ version: 1.3.1
84
+ requirements: []
85
+ rubygems_version: 3.1.2
86
+ signing_key:
87
+ specification_version: 4
88
+ summary: Helpers for qbec run
89
+ test_files: []