mock_graphql_ai 1.0.1 → 1.0.2

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: eb274ab2dd29c721291b5a461e01bb84a33d84bcb4de379d8834a4450d573659
4
+ data.tar.gz: e84b1dd3126af1e1956cc7d45ca7ac72a015861034c6182ee6d461f7893b587d
5
5
  SHA512:
6
- metadata.gz: 27b5ad0bb21d5c02475f640d11a1c62d89e81abd86309d6326c0b77e0b1bac1c4ec68e2fd7210935f972338968909ada81ebac19b8f1c4381fa9b272ff3ebb7d
7
- data.tar.gz: d4d45c85579e474d711b03477a85f9813012b96992b3e02aba2e49942b44d9769398018fd57546899a1fb360d4d740264f6c364beefa576edebb8c216fd69eaf
6
+ metadata.gz: 992d197a6c19f9f25ef863fe3b65253e7e30fa2e0a933a54a2983492ffa081f6140e30285fbc25b37eca71b0311ae17f3db152be58c7714612dc98e2fdfecf80
7
+ data.tar.gz: 803fe30465606aa611b0af9b5f12e3fd7e04209db86781dc80fd8b4c2990c45fdd76eb2b521a53616345e239752715bcb976594720b5dc16f224d1f79ea6dfaf
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,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.2'
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.2
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,10 @@ files:
85
181
  - LICENSE
86
182
  - README.md
87
183
  - Rakefile
184
+ - lib/generators/mock_controller.rb
185
+ - lib/generators/mock_module.rb
186
+ - lib/generators/templates/controllers/graphql_mocks_controller.rb
187
+ - lib/generators/templates/mockable.rb
88
188
  - lib/mock_graphql_ai.rb
89
189
  - lib/mock_graphql_ai/version.rb
90
190
  - mock_graphql_ai.gemspec