mock_graphql_ai 1.0.1 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
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