ruby_raider 0.4.9 → 0.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 72809bc4815e52fc26dcd2986702462c2f80c58eea9d5d3ae4093b46b60497d3
4
- data.tar.gz: 367da2b34c2cebb02ceef20c4bea7cd4928ed18be55f02bccfe6d6b41b73ba0e
3
+ metadata.gz: 3eb106f129e5b690948b563085637b1bf775ffbd0258972b8fd7551021abe64e
4
+ data.tar.gz: ad19ffdff7e43f3dc4f8a81f7720022c519070cc685bf9bd489ff130ad484fe6
5
5
  SHA512:
6
- metadata.gz: a654e20f8320af80c083e7e4274ba18b4717a6ba070d858d0334ffae46785031b8e5098061fd54ca9d66562211dfedc797b17e34c81381bac7d4a388ad6e450f
7
- data.tar.gz: 8209f8add377cae9e94ce8e2db3825cf1d6eb40f07432b49a5c1e098963e99d3cbd7086cf9a1e8109b41ea498772d875826d12486d0b83271fdc28668608c1d3
6
+ metadata.gz: a319a898af7c5d4282d06904bdf298efcb1aeff70715c8ba18bee62b5af289375d8fc398cfd2fe1d236518569f367500532989e55bac102ee6ea45397922d3c9
7
+ data.tar.gz: c4d26509776661ee9d52d8962f00929a8e50b3e7e14583b65568685b7f9562c3cc7412eb0151659f34c9cf7edccad8225238293c6187ab402919ab8964866204
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'thor'
4
4
  require_relative '../utilities/utilities'
5
+ require_relative '../utilities/open_ai'
5
6
 
6
7
  class UtilityCommands < Thor
7
8
  desc 'path [PATH]', 'Sets the default path for scaffolding'
@@ -73,7 +74,7 @@ class UtilityCommands < Thor
73
74
  option :delete,
74
75
  type: :boolean, required: false, desc: 'This will delete the selected config file', aliases: '-d'
75
76
 
76
- desc 'platform [platform]', 'Sets the default platform for a cross-platform project'
77
+ desc 'platform [PLATFORM]', 'Sets the default platform for a cross-platform project'
77
78
 
78
79
  def platform(platform)
79
80
  Utilities.new.platform = platform
@@ -81,7 +82,7 @@ class UtilityCommands < Thor
81
82
 
82
83
  map '-pl' => 'platform'
83
84
 
84
- desc 'download_builds [build_type]', 'It downloads the example builds for appium projects'
85
+ desc 'download_builds [BUILD_TYPE]', 'It downloads the example builds for appium projects'
85
86
  def download_builds(build_type)
86
87
  if %w[android, ios, both].include?(build_type)
87
88
  raise 'Please select one of the following build types: android, ios, both'
@@ -94,8 +95,22 @@ class UtilityCommands < Thor
94
95
 
95
96
  desc 'version', 'It shows the version of Ruby Raider you are currently using'
96
97
  def version
97
- puts 'The Ruby Raider version is 0.4.7, Happy testing!'
98
+ puts 'The Ruby Raider version is 0.5.0, Happy testing!'
98
99
  end
99
100
 
100
101
  map '-v' => 'version'
102
+
103
+ desc 'open_ai [REQUEST]', 'Uses open AI to create a file or generate output'
104
+ option :path,
105
+ type: :string, required: false, desc: 'The path where your file will be created', aliases: '-p'
106
+ option :output,
107
+ type: :string, required: false, desc: 'This will output the response from open AI on the terminal', aliases: '-o'
108
+
109
+ def open_ai(request)
110
+ if options[:path]
111
+ OpenAi.create_file(choice = 0, options[:path], request)
112
+ else
113
+ OpenAi.output(request)
114
+ end
115
+ end
101
116
  end
@@ -0,0 +1,37 @@
1
+ require 'openai'
2
+ require 'fileutils'
3
+
4
+ module OpenAi
5
+ class << self
6
+ def create_client
7
+ configure_client
8
+ OpenAI::Client.new
9
+ end
10
+
11
+ def configure_client
12
+ OpenAI.configure do |config|
13
+ config.access_token = ENV.fetch('OPENAI_ACCESS_TOKEN')
14
+ config.organization_id = ENV.fetch('OPENAI_ORGANIZATION_ID', nil)
15
+ end
16
+ end
17
+
18
+ def input(model = "gpt-3.5-turbo", temperature = 0.7, request)
19
+ create_client.chat(
20
+ parameters: {
21
+ model: model,
22
+ messages: [{ role: "user", content: request }],
23
+ temperature: temperature
24
+ })
25
+ end
26
+
27
+ def create_file(choice = 0, path, request)
28
+ response = input(request)
29
+ File.write(path, response.dig("choices", choice, "message", "content"))
30
+ end
31
+
32
+ def output(choice = 0, request)
33
+ response = input(request)
34
+ puts response.dig("choices", choice, "message", "content")
35
+ end
36
+ end
37
+ end
data/ruby_raider.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'ruby_raider'
5
- s.version = '0.4.9'
5
+ s.version = '0.5.0'
6
6
  s.summary = 'A gem to make setup and start of UI automation projects easier'
7
7
  s.description = 'This gem has everything you need to start working with test automation'
8
8
  s.authors = ['Agustin Pequeno']
@@ -22,4 +22,5 @@ Gem::Specification.new do |s|
22
22
 
23
23
  s.add_runtime_dependency 'thor', '~> 1.2.1'
24
24
  s.add_runtime_dependency 'tty-prompt', '~> 0.23.1'
25
+ s.add_runtime_dependency 'ruby-openai', '~> 3.5'
25
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_raider
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.9
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Agustin Pequeno
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-20 00:00:00.000000000 Z
11
+ date: 2023-03-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: 0.23.1
125
+ - !ruby/object:Gem::Dependency
126
+ name: ruby-openai
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '3.5'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '3.5'
125
139
  description: This gem has everything you need to start working with test automation
126
140
  email: agustin.pe94@gmail.com
127
141
  executables:
@@ -217,6 +231,7 @@ files:
217
231
  - lib/scaffolding/templates/helper.tt
218
232
  - lib/scaffolding/templates/page_object.tt
219
233
  - lib/scaffolding/templates/spec.tt
234
+ - lib/utilities/open_ai.rb
220
235
  - lib/utilities/utilities.rb
221
236
  - ruby_raider.gemspec
222
237
  - spec/automation_generator_spec.rb
@@ -245,7 +260,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
245
260
  - !ruby/object:Gem::Version
246
261
  version: '0'
247
262
  requirements: []
248
- rubygems_version: 3.3.3
263
+ rubygems_version: 3.3.7
249
264
  signing_key:
250
265
  specification_version: 4
251
266
  summary: A gem to make setup and start of UI automation projects easier