mock_graphql_ai 1.0.1 → 1.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 00f6d9307538663bb130c685e1723fbaac61537fd07b28f9d8b40178ecd7d2ba
4
- data.tar.gz: f7378a06eca11db2ee2dca2219b3b3cd3fabf16d66e55beddf75419efd0aa8f8
3
+ metadata.gz: 614564313f8d558f494753c45131f3cb8d79138544763b37d677aa16e044b706
4
+ data.tar.gz: 3f986c6896e2aad5774a5243219149daf61495e83bce02d6eaa05319996b0395
5
5
  SHA512:
6
- metadata.gz: 27b5ad0bb21d5c02475f640d11a1c62d89e81abd86309d6326c0b77e0b1bac1c4ec68e2fd7210935f972338968909ada81ebac19b8f1c4381fa9b272ff3ebb7d
7
- data.tar.gz: d4d45c85579e474d711b03477a85f9813012b96992b3e02aba2e49942b44d9769398018fd57546899a1fb360d4d740264f6c364beefa576edebb8c216fd69eaf
6
+ metadata.gz: ceb604553eef8501266626528f76b6325c3723e3f6d9ce51ead82a78f7cfeb8efb3edd4c4114077d36abbd2497aeac9316c61978ce9621e77f0dd977e40e0662
7
+ data.tar.gz: 4e15eefe12d33e7b6352a36f858555bb836a20f9dfc1b1c1cd5c3a50d9166c3693de18556cfbe11130ab161eadc71d860fbf08f95c1d117dfeff1dba80a81898
data/Gemfile CHANGED
@@ -1,3 +1,7 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
+ group :test do
4
+ gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby]
5
+ end
6
+
3
7
  gemspec
@@ -0,0 +1,15 @@
1
+ require "rails/generators"
2
+
3
+ module Generators
4
+ class MockController < Rails::Generators::Base
5
+ source_root(File.expand_path("../generators/templates/controllers", __dir__))
6
+
7
+ def copy_controller_file
8
+ copy_file("graphql_mocks_controller.rb", "app/controllers/graphql_mocks_controller.rb")
9
+ end
10
+
11
+ def register_controller_main_route
12
+ route "get '/imitate_graphql', to: 'graphql_mocks#imitate', as: :imitate_graphql"
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,21 @@
1
+ require 'rails/generators'
2
+
3
+ module MockGraphqlAi
4
+ module Generators
5
+ class InstallGenerator < Rails::Generators::Base
6
+ source_root(File.expand_path('../templates', __dir__))
7
+
8
+ def copy_module_file
9
+ copy_file('mockable.rb', 'app/controllers/concerns/mockable.rb')
10
+ end
11
+
12
+ def copy_controller_file
13
+ copy_file('graphql_mocks_controller.rb', 'app/controllers/graphql_mocks_controller.rb')
14
+ end
15
+
16
+ def register_controller_main_route
17
+ route "get '/imitate_graphql', to: 'graphql_mocks#imitate', as: :imitate_graphql"
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,11 @@
1
+ require 'rails/generators'
2
+
3
+ module Generators
4
+ class MockModule < Rails::Generators::Base
5
+ source_root(File.expand_path('../generators/templates', __dir__))
6
+
7
+ def copy_module_file
8
+ copy_file("mockable.rb", "app/controllers/concerns/mockable.rb")
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,5 @@
1
+ class GraphqlMocksController < ApplicationController
2
+ def imitate
3
+ render json: { "data" => { "query" => params[:query], "say" => "Here we'll send Mock API response!" } }
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mockable
4
+ private
5
+
6
+ def bypass_graphql
7
+ redirect_to(imitate_path(query: params[:query]))
8
+ end
9
+ end
@@ -1,3 +1,3 @@
1
1
  module MockGraphqlAi
2
- VERSION = '1.0.1'
2
+ VERSION = '1.0.3'
3
3
  end
@@ -1,13 +1,4 @@
1
1
  require 'mock_graphql_ai/version'
2
2
 
3
3
  module MockGraphqlAi
4
- def self.add_mock_result_assignment(controller_file_path)
5
- file_contents = File.read(controller_file_path)
6
- modified_contents = file_contents.gsub(
7
- /(result\s*=\s*)GraphqlBoilerplateSchema\.execute\(query, variables: variables, context: @context, operation_name: operation_name\)/m,
8
- "result = ENV['GRAPHQL_MOCK_MODE'] ? Mocks::Resource.new({ query: query }).call : \\0"
9
- )
10
-
11
- File.write(controller_file_path, modified_contents)
12
- end
13
4
  end
@@ -19,6 +19,14 @@ Gem::Specification.new do |spec|
19
19
  # spec.add_runtime_dependency 'graphql', '~> 2.0', '>= 2.0.19'
20
20
  spec.add_runtime_dependency 'ruby-openai', '~> 3.5'
21
21
 
22
+ spec.add_development_dependency 'dotenv-rails', '~> 2.8', '>= 2.8.1'
23
+ spec.add_development_dependency 'rails', '~> 6.1.5.1'
24
+ spec.add_development_dependency 'rake', '~> 13.0.3'
25
+ spec.add_development_dependency 'rspec-rails', '~> 6.0.0'
26
+ spec.add_development_dependency 'simplecov', '~> 0.20.0'
27
+ spec.add_development_dependency 'graphql', '~> 2.0', '>= 2.0.11'
28
+
29
+ # Rubocop dependencies
22
30
  spec.add_development_dependency 'rubocop', '~> 1.48', '>= 1.48.1'
23
31
  spec.add_development_dependency 'rubocop-performance', '~> 1.16'
24
32
  spec.add_development_dependency 'rubocop-rspec', '~> 2.19'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mock_graphql_ai
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Moiz Ali
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-27 00:00:00.000000000 Z
11
+ date: 2023-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-openai
@@ -24,6 +24,102 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.5'
27
+ - !ruby/object:Gem::Dependency
28
+ name: dotenv-rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.8'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 2.8.1
37
+ type: :development
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '2.8'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 2.8.1
47
+ - !ruby/object:Gem::Dependency
48
+ name: rails
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: 6.1.5.1
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: 6.1.5.1
61
+ - !ruby/object:Gem::Dependency
62
+ name: rake
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: 13.0.3
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: 13.0.3
75
+ - !ruby/object:Gem::Dependency
76
+ name: rspec-rails
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: 6.0.0
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: 6.0.0
89
+ - !ruby/object:Gem::Dependency
90
+ name: simplecov
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: 0.20.0
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: 0.20.0
103
+ - !ruby/object:Gem::Dependency
104
+ name: graphql
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '2.0'
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 2.0.11
113
+ type: :development
114
+ prerelease: false
115
+ version_requirements: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '2.0'
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 2.0.11
27
123
  - !ruby/object:Gem::Dependency
28
124
  name: rubocop
29
125
  requirement: !ruby/object:Gem::Requirement
@@ -85,6 +181,11 @@ files:
85
181
  - LICENSE
86
182
  - README.md
87
183
  - Rakefile
184
+ - lib/generators/mock_controller.rb
185
+ - lib/generators/mock_graphql_ai/install_generator.rb
186
+ - lib/generators/mock_module.rb
187
+ - lib/generators/templates/graphql_mocks_controller.rb
188
+ - lib/generators/templates/mockable.rb
88
189
  - lib/mock_graphql_ai.rb
89
190
  - lib/mock_graphql_ai/version.rb
90
191
  - mock_graphql_ai.gemspec