yarh 0.1.2 → 0.1.3
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 +4 -4
- data/exe/yarh +2 -4
- data/lib/yarh/cli.rb +24 -0
- data/lib/yarh/request_builder.rb +37 -0
- data/lib/yarh/request_runner.rb +28 -0
- data/lib/yarh/version.rb +1 -1
- data/lib/yarh/yaml_parser.rb +12 -0
- data/lib/yarh.rb +5 -2
- metadata +21 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be06fa99910b08969531006fb8437dd82770a62fdd4d7d428d9d10599c33786e
|
4
|
+
data.tar.gz: 9ced27dcff33621e24ac55aa181af3cadfbbcd32255c3184ac2e73bf44dbecfa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c6e28d50e58caadd9fe64e15f20fa4d001648af8c8bfebd200f0361c163032774171997060af51a8c6b3f0970c0450dfdc1e4d08d6e8acd51eb70f4a9748fc11
|
7
|
+
data.tar.gz: 78f9bf12359dde945a9dcb969224a5321020a43cddaa07bdae549d3cb870d77cbc6a08212f4028c31bbc20302dff49a1cae9980db7a9dcaa56d1e1057bcc54ae
|
data/exe/yarh
CHANGED
data/lib/yarh/cli.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'thor'
|
4
|
+
require_relative 'version'
|
5
|
+
require_relative '../yarh'
|
6
|
+
|
7
|
+
module Yarh
|
8
|
+
# CLI
|
9
|
+
class CLI < Thor
|
10
|
+
package_name 'Yarh'
|
11
|
+
map '-v' => :version
|
12
|
+
map '-r' => :run_requests
|
13
|
+
|
14
|
+
desc '-r PATH', 'execute requests from file'
|
15
|
+
def run_requests(path)
|
16
|
+
Yarh.run_requests(path)
|
17
|
+
end
|
18
|
+
|
19
|
+
desc 'version', 'show Yarh version'
|
20
|
+
def version
|
21
|
+
puts "Yarh #{Yarh::VERSION}"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'faraday'
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
module Yarh
|
7
|
+
# RequestBuilder
|
8
|
+
class RequestBuilder
|
9
|
+
attr_reader :response
|
10
|
+
|
11
|
+
def initialize(data)
|
12
|
+
@data = data
|
13
|
+
@response = nil
|
14
|
+
end
|
15
|
+
|
16
|
+
def request
|
17
|
+
conn = Faraday.new(url: data['url'])
|
18
|
+
|
19
|
+
response = conn.send(data['method'].downcase.to_sym) do |req|
|
20
|
+
build_headers(req, data['headers'])
|
21
|
+
req.body = data['body'].to_json
|
22
|
+
end
|
23
|
+
|
24
|
+
@response = response
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
attr_reader :data
|
30
|
+
|
31
|
+
def build_headers(req, headers)
|
32
|
+
headers.each do |header, value|
|
33
|
+
req.headers[header] = value
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'yaml_parser'
|
4
|
+
require_relative 'request_builder'
|
5
|
+
|
6
|
+
module Yarh
|
7
|
+
# request run
|
8
|
+
class RequestRunner
|
9
|
+
attr_accessor :path
|
10
|
+
|
11
|
+
def initialize(path)
|
12
|
+
@path = path
|
13
|
+
end
|
14
|
+
|
15
|
+
def run
|
16
|
+
parsed_yaml.each_value do |data|
|
17
|
+
request = RequestBuilder.new(data)
|
18
|
+
request.request
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def parsed_yaml
|
25
|
+
@parsed_yaml ||= YamlParser.parse(path)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/lib/yarh/version.rb
CHANGED
data/lib/yarh.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yarh
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kirill Leonov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-05-
|
11
|
+
date: 2024-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -24,7 +24,21 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '2.9'
|
27
|
-
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: thor
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.3'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.3'
|
41
|
+
description: Create specifications for HTTP requests without a single line of code
|
28
42
|
email: leonov7632@gmail.com
|
29
43
|
executables:
|
30
44
|
- yarh
|
@@ -33,7 +47,11 @@ extra_rdoc_files: []
|
|
33
47
|
files:
|
34
48
|
- exe/yarh
|
35
49
|
- lib/yarh.rb
|
50
|
+
- lib/yarh/cli.rb
|
51
|
+
- lib/yarh/request_builder.rb
|
52
|
+
- lib/yarh/request_runner.rb
|
36
53
|
- lib/yarh/version.rb
|
54
|
+
- lib/yarh/yaml_parser.rb
|
37
55
|
homepage: https://github.com/leonovk/yarh
|
38
56
|
licenses:
|
39
57
|
- MIT
|