surikat 0.2.2 → 0.2.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.
data/README.md CHANGED
@@ -382,6 +382,16 @@ Example query:
382
382
  }
383
383
  ```
384
384
 
385
+ ## System Dependencies
386
+
387
+ For improved performance, Surikat uses a C++ library to parse GraplQL queries, [libgraphqlparser](https://github.com/graphql/libgraphqlparser).
388
+
389
+ On Mac OS X, install with Homebrew:
390
+
391
+ ```bash
392
+ brew install libgraphqlparser
393
+ ```
394
+
385
395
  ## Development
386
396
 
387
397
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -3,9 +3,5 @@
3
3
  require "bundler/setup"
4
4
  require "surikat"
5
5
 
6
- # (If you use this, don't forget to add pry to your Gemfile!)
7
6
  require "pry"
8
7
  Pry.start
9
-
10
- # require "irb"
11
- # IRB.start(__FILE__)
@@ -43,6 +43,7 @@ def list_routes
43
43
 
44
44
  %w(queries mutations).each do |group, queries|
45
45
  puts "\n#{group.capitalize}:\n----------\n"
46
+ next unless all_queries[group].is_a? Hash
46
47
  all_queries[group].keys.sort.each do |key|
47
48
  input_s = (all_queries[group][key]['arguments'].to_a.map {|t_name, t_type| "#{t_name}: #{t_type}"}).join(', ')
48
49
  puts "Name: #{key}, resolves in #{all_queries[group][key]['class']}##{all_queries[group][key]['method']}, result returned as #{all_queries[group][key]['output_type']}, input arguments: " +
@@ -167,6 +168,8 @@ def exemplify(arguments)
167
168
 
168
169
  route, collection = nil, nil
169
170
  %w(queries mutations).each do |col|
171
+ next unless all_routes[col].is_a? Hash
172
+
170
173
  fr = all_routes[col].keys.detect do |r|
171
174
  qr = all_routes[col][r]
172
175
  [qr['class'], qr['method']] == [class_n, method_n]
@@ -1,8 +1,9 @@
1
1
  require 'surikat/version'
2
2
 
3
3
  module Surikat
4
- require 'graphql/libgraphqlparser'
5
4
  require 'active_support'
5
+ require 'graphql/libgraphqlparser'
6
+
6
7
  require 'surikat/yaml_configurator'
7
8
 
8
9
  class << self
@@ -22,8 +23,8 @@ module Surikat
22
23
  %w(queries models).each do |dir|
23
24
  Dir.glob("#{FileUtils.pwd}/app/#{dir}/*.rb").each {|f| require(f)}
24
25
  end
25
-
26
26
  require 'surikat/types'
27
+
27
28
  require 'surikat/routes'
28
29
  require 'surikat/session'
29
30
 
@@ -250,8 +251,8 @@ module Surikat
250
251
  value = variables[expected_var_name]
251
252
 
252
253
  expected_var_type_singular = expected_var_type.gsub(/[\[\]]/, '')
253
- expected_var_type_simple = expected_var_type.gsub(/[\[\]\!]/, '')
254
- is_plural = [expected_var_type.first, expected_var_type.last] == %w([ ])
254
+ expected_var_type_simple = expected_var_type.gsub(/[\[\]\!]/, '')
255
+ is_plural = [expected_var_type.first, expected_var_type.last] == %w([ ])
255
256
 
256
257
  if is_plural
257
258
  unless value.is_a? Array
@@ -1,8 +1,6 @@
1
1
  require 'active_record'
2
2
  require 'ransack'
3
3
 
4
- #require File.join(Gem::Specification.find_by_name("surikat").full_gem_path, "lib/surikat/yaml_configurator")
5
-
6
4
  module Surikat
7
5
 
8
6
  class BaseModel < ActiveRecord::Base
@@ -69,7 +69,7 @@ describe % {class_name}Queries do
69
69
  context "When testing the %{class_name} mutations" do
70
70
 
71
71
  before(:all) do
72
- Author.destroy_all
72
+ %{class_name}.destroy_all
73
73
 
74
74
  @expected_fields = [ %{columns_space} ]
75
75
  end
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env ruby
1
+ #!/usr/bin/env ruby -W0
2
2
  ENV['RACK_ENV'] ||= 'development'
3
3
 
4
4
  require "bundler/setup"
@@ -1,3 +1,3 @@
1
1
  module Surikat
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
@@ -43,5 +43,15 @@ Gem::Specification.new do |spec|
43
43
  # spec.add_development_dependency "standalone_migrations", "~> 5.2", ">= 5.2.5"
44
44
  # spec.add_development_dependency "ransack", "~> 1.8", ">= 1.8.2"
45
45
 
46
+ spec.add_runtime_dependency "oj", "~> 3.3"
47
+ spec.add_runtime_dependency "standalone_migrations", "~> 5.2", '>= 5.2.5 '
48
+ spec.add_runtime_dependency "sqlite3", "~> 1.3", '>= 1.3.13'
49
+ spec.add_runtime_dependency "rspec", "~> 3.7", '>= 3.7.0'
50
+ spec.add_runtime_dependency "graphql-libgraphqlparser", "~> 1.2", ">= 1.2.0"
51
+ spec.add_runtime_dependency "ransack", "~> 1.8", ">= 1.8.2"
52
+ spec.add_runtime_dependency "bundler", "~> 1.15"
53
+ spec.add_runtime_dependency "rake", "~> 10.0"
54
+ spec.add_runtime_dependency "rack-app", "~> 7.5"
55
+ spec.add_runtime_dependency "passenger", "~> 5.3"
46
56
 
47
57
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: surikat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Deva
@@ -112,6 +112,176 @@ dependencies:
112
112
  - - ">="
113
113
  - !ruby/object:Gem::Version
114
114
  version: 3.3.5
115
+ - !ruby/object:Gem::Dependency
116
+ name: oj
117
+ requirement: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - "~>"
120
+ - !ruby/object:Gem::Version
121
+ version: '3.3'
122
+ type: :runtime
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - "~>"
127
+ - !ruby/object:Gem::Version
128
+ version: '3.3'
129
+ - !ruby/object:Gem::Dependency
130
+ name: standalone_migrations
131
+ requirement: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - "~>"
134
+ - !ruby/object:Gem::Version
135
+ version: '5.2'
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: 5.2.5
139
+ type: :runtime
140
+ prerelease: false
141
+ version_requirements: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '5.2'
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ version: 5.2.5
149
+ - !ruby/object:Gem::Dependency
150
+ name: sqlite3
151
+ requirement: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - "~>"
154
+ - !ruby/object:Gem::Version
155
+ version: '1.3'
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: 1.3.13
159
+ type: :runtime
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '1.3'
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ version: 1.3.13
169
+ - !ruby/object:Gem::Dependency
170
+ name: rspec
171
+ requirement: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - "~>"
174
+ - !ruby/object:Gem::Version
175
+ version: '3.7'
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: 3.7.0
179
+ type: :runtime
180
+ prerelease: false
181
+ version_requirements: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - "~>"
184
+ - !ruby/object:Gem::Version
185
+ version: '3.7'
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: 3.7.0
189
+ - !ruby/object:Gem::Dependency
190
+ name: graphql-libgraphqlparser
191
+ requirement: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - "~>"
194
+ - !ruby/object:Gem::Version
195
+ version: '1.2'
196
+ - - ">="
197
+ - !ruby/object:Gem::Version
198
+ version: 1.2.0
199
+ type: :runtime
200
+ prerelease: false
201
+ version_requirements: !ruby/object:Gem::Requirement
202
+ requirements:
203
+ - - "~>"
204
+ - !ruby/object:Gem::Version
205
+ version: '1.2'
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: 1.2.0
209
+ - !ruby/object:Gem::Dependency
210
+ name: ransack
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '1.8'
216
+ - - ">="
217
+ - !ruby/object:Gem::Version
218
+ version: 1.8.2
219
+ type: :runtime
220
+ prerelease: false
221
+ version_requirements: !ruby/object:Gem::Requirement
222
+ requirements:
223
+ - - "~>"
224
+ - !ruby/object:Gem::Version
225
+ version: '1.8'
226
+ - - ">="
227
+ - !ruby/object:Gem::Version
228
+ version: 1.8.2
229
+ - !ruby/object:Gem::Dependency
230
+ name: bundler
231
+ requirement: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - "~>"
234
+ - !ruby/object:Gem::Version
235
+ version: '1.15'
236
+ type: :runtime
237
+ prerelease: false
238
+ version_requirements: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - "~>"
241
+ - !ruby/object:Gem::Version
242
+ version: '1.15'
243
+ - !ruby/object:Gem::Dependency
244
+ name: rake
245
+ requirement: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - "~>"
248
+ - !ruby/object:Gem::Version
249
+ version: '10.0'
250
+ type: :runtime
251
+ prerelease: false
252
+ version_requirements: !ruby/object:Gem::Requirement
253
+ requirements:
254
+ - - "~>"
255
+ - !ruby/object:Gem::Version
256
+ version: '10.0'
257
+ - !ruby/object:Gem::Dependency
258
+ name: rack-app
259
+ requirement: !ruby/object:Gem::Requirement
260
+ requirements:
261
+ - - "~>"
262
+ - !ruby/object:Gem::Version
263
+ version: '7.5'
264
+ type: :runtime
265
+ prerelease: false
266
+ version_requirements: !ruby/object:Gem::Requirement
267
+ requirements:
268
+ - - "~>"
269
+ - !ruby/object:Gem::Version
270
+ version: '7.5'
271
+ - !ruby/object:Gem::Dependency
272
+ name: passenger
273
+ requirement: !ruby/object:Gem::Requirement
274
+ requirements:
275
+ - - "~>"
276
+ - !ruby/object:Gem::Version
277
+ version: '5.3'
278
+ type: :runtime
279
+ prerelease: false
280
+ version_requirements: !ruby/object:Gem::Requirement
281
+ requirements:
282
+ - - "~>"
283
+ - !ruby/object:Gem::Version
284
+ version: '5.3'
115
285
  description: Surikat is a web framework that revolves around GraphQL, offering a lot
116
286
  of ready-made functionality such as CRUD operations, automatic query generation,
117
287
  authentication and performance optimisations.