grape-app 0.6.4 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +9 -7
- data/grape-app.gemspec +3 -2
- data/lib/grape/app.rb +17 -8
- data/lib/grape/app/inflector.rb +13 -0
- data/lib/grape/app/tasks/databases.rake +1 -1
- data/lib/grape/app/templates/app/api.rb +0 -4
- data/spec/scenario/app/api.rb +0 -4
- data/spec/scenario/app/api/posts.rb +5 -0
- data/spec/scenario/app/api/v1.rb +2 -0
- metadata +19 -3
- data/lib/grape/app/templates/app/models.rb +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b57e351adc50118035370d237ef50414ce15c5937ddac3304b724932c9a8cda9
|
4
|
+
data.tar.gz: 36dfd3eac4d65e5264feb16240f565120c40ee964866eb57755b358f75b1a942
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a8d09f18885b43fa835eaa37adb3b33b0f064b5665dde1cdd2bcc278ea87aca4f99784b4f734abb8e8ce9bdc30def55c40ff33663ff884036475c8f6d7ca1207
|
7
|
+
data.tar.gz: 9ff549eb0e0d16eca3caa2a42ed80834436e8ba0252835f25e7891e5baa7eddff72544cf68706b2225839064c57c28650f53bcdb598efcbb818ae43bdd13c6e9
|
data/Gemfile.lock
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
grape-app (0.
|
4
|
+
grape-app (0.7.1)
|
5
5
|
activesupport
|
6
6
|
grape (>= 1.2.0)
|
7
7
|
grape-entity
|
8
8
|
rack-cors
|
9
9
|
rack-ssl-enforcer
|
10
10
|
thor
|
11
|
+
zeitwerk
|
11
12
|
|
12
13
|
GEM
|
13
14
|
remote: https://rubygems.org/
|
@@ -37,7 +38,7 @@ GEM
|
|
37
38
|
thread_safe (~> 0.3, >= 0.3.1)
|
38
39
|
diff-lcs (1.3)
|
39
40
|
equalizer (0.0.11)
|
40
|
-
grape (1.2.
|
41
|
+
grape (1.2.3)
|
41
42
|
activesupport
|
42
43
|
builder
|
43
44
|
mustermann-grape (~> 1.0.0)
|
@@ -47,17 +48,17 @@ GEM
|
|
47
48
|
grape-entity (0.7.1)
|
48
49
|
activesupport (>= 4.0)
|
49
50
|
multi_json (>= 1.3.2)
|
50
|
-
i18n (1.
|
51
|
+
i18n (1.5.3)
|
51
52
|
concurrent-ruby (~> 1.0)
|
52
53
|
ice_nine (0.11.2)
|
53
|
-
jaro_winkler (1.5.
|
54
|
+
jaro_winkler (1.5.2)
|
54
55
|
minitest (5.11.3)
|
55
56
|
multi_json (1.13.1)
|
56
57
|
mustermann (1.0.3)
|
57
58
|
mustermann-grape (1.0.0)
|
58
59
|
mustermann (~> 1.0.0)
|
59
|
-
parallel (1.
|
60
|
-
parser (2.
|
60
|
+
parallel (1.13.0)
|
61
|
+
parser (2.6.0.0)
|
61
62
|
ast (~> 2.4.0)
|
62
63
|
powerpack (0.1.2)
|
63
64
|
rack (2.0.6)
|
@@ -82,7 +83,7 @@ GEM
|
|
82
83
|
diff-lcs (>= 1.2.0, < 2.0)
|
83
84
|
rspec-support (~> 3.8.0)
|
84
85
|
rspec-support (3.8.0)
|
85
|
-
rubocop (0.
|
86
|
+
rubocop (0.63.1)
|
86
87
|
jaro_winkler (~> 1.5.1)
|
87
88
|
parallel (~> 1.10)
|
88
89
|
parser (>= 2.5, != 2.5.1.1)
|
@@ -102,6 +103,7 @@ GEM
|
|
102
103
|
coercible (~> 1.0)
|
103
104
|
descendants_tracker (~> 0.0, >= 0.0.3)
|
104
105
|
equalizer (~> 0.0, >= 0.0.9)
|
106
|
+
zeitwerk (1.0.0.beta2)
|
105
107
|
|
106
108
|
PLATFORMS
|
107
109
|
ruby
|
data/grape-app.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
Gem::Specification.new do |s|
|
1
|
+
Gem::Specification.new do |s|
|
2
2
|
s.name = 'grape-app'
|
3
|
-
s.version = '0.
|
3
|
+
s.version = '0.7.1'
|
4
4
|
s.authors = ['Black Square Media Ltd']
|
5
5
|
s.email = ['info@blacksquaremedia.com']
|
6
6
|
s.summary = %(Stanalone Grape API apps)
|
@@ -20,6 +20,7 @@ Gem::Specification.new do |s| # rubocop:disable Metrics/BlockLength
|
|
20
20
|
s.add_dependency 'rack-cors'
|
21
21
|
s.add_dependency 'rack-ssl-enforcer'
|
22
22
|
s.add_dependency 'thor'
|
23
|
+
s.add_dependency 'zeitwerk'
|
23
24
|
|
24
25
|
s.add_development_dependency 'activerecord'
|
25
26
|
s.add_development_dependency 'bundler'
|
data/lib/grape/app.rb
CHANGED
@@ -3,10 +3,10 @@ require 'pathname'
|
|
3
3
|
require 'grape'
|
4
4
|
require 'active_support/string_inquirer'
|
5
5
|
require 'active_support/configurable'
|
6
|
-
require 'active_support/inflector/methods'
|
7
6
|
require 'active_support/core_ext/time/zones'
|
8
7
|
require 'rack/cors'
|
9
8
|
require 'rack/ssl-enforcer'
|
9
|
+
require 'zeitwerk'
|
10
10
|
|
11
11
|
class Grape::App < Grape::API::Instance
|
12
12
|
class << self
|
@@ -20,8 +20,10 @@ class Grape::App < Grape::API::Instance
|
|
20
20
|
|
21
21
|
# Update load path
|
22
22
|
$LOAD_PATH.push self.root.join('lib').to_s
|
23
|
-
|
24
|
-
|
23
|
+
|
24
|
+
# Push dirs to loader
|
25
|
+
push_dir? self.root.join('app')
|
26
|
+
push_dir? self.root.join('app', 'models')
|
25
27
|
|
26
28
|
# Load initializers
|
27
29
|
require 'grape/app/initializers/pre'
|
@@ -29,8 +31,10 @@ class Grape::App < Grape::API::Instance
|
|
29
31
|
require_all 'config', 'initializers'
|
30
32
|
require 'grape/app/initializers/post'
|
31
33
|
|
34
|
+
# Setup loader
|
35
|
+
loader.setup
|
36
|
+
|
32
37
|
# Load app
|
33
|
-
require_one 'app', 'models'
|
34
38
|
require_one 'app', 'api'
|
35
39
|
end
|
36
40
|
|
@@ -58,9 +62,10 @@ class Grape::App < Grape::API::Instance
|
|
58
62
|
@env ||= ActiveSupport::StringInquirer.new(ENV['GRAPE_ENV'] || ENV['RACK_ENV'] || 'development')
|
59
63
|
end
|
60
64
|
|
61
|
-
|
62
|
-
|
63
|
-
|
65
|
+
# @return [Zeitwerk::Loader] loader
|
66
|
+
def loader
|
67
|
+
@loader ||= Zeitwerk::Loader.new.tap do |l|
|
68
|
+
l.inflector = Grape::App::Inflector.new
|
64
69
|
end
|
65
70
|
end
|
66
71
|
|
@@ -79,6 +84,10 @@ class Grape::App < Grape::API::Instance
|
|
79
84
|
|
80
85
|
private
|
81
86
|
|
87
|
+
def push_dir?(dir)
|
88
|
+
loader.push_dir(dir) if dir.exist?
|
89
|
+
end
|
90
|
+
|
82
91
|
def require_all(*args)
|
83
92
|
args += ['**', '*.rb']
|
84
93
|
Dir[root.join(*args).to_s].sort.each {|f| require f }
|
@@ -88,9 +97,9 @@ class Grape::App < Grape::API::Instance
|
|
88
97
|
path = root.join(*args).to_s
|
89
98
|
require path if File.exist?("#{path}.rb")
|
90
99
|
end
|
91
|
-
|
92
100
|
end
|
93
101
|
end
|
94
102
|
|
95
103
|
require 'grape/app/configuration'
|
96
104
|
require 'grape/app/helpers'
|
105
|
+
require 'grape/app/inflector'
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'zeitwerk'
|
2
|
+
require 'active_support/inflector'
|
3
|
+
|
4
|
+
class Grape::App::Inflector < Zeitwerk::Inflector
|
5
|
+
def camelize(basename, _abspath)
|
6
|
+
case basename
|
7
|
+
when 'api'
|
8
|
+
'API'
|
9
|
+
else
|
10
|
+
ActiveSupport::Inflector.camelize(basename)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
data/spec/scenario/app/api.rb
CHANGED
data/spec/scenario/app/api/v1.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grape-app
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Black Square Media Ltd
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-01-
|
11
|
+
date: 2019-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: zeitwerk
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: activerecord
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -218,6 +232,7 @@ files:
|
|
218
232
|
- lib/grape/app/helpers.rb
|
219
233
|
- lib/grape/app/helpers/params.rb
|
220
234
|
- lib/grape/app/helpers/respond_with.rb
|
235
|
+
- lib/grape/app/inflector.rb
|
221
236
|
- lib/grape/app/initializers/post.rb
|
222
237
|
- lib/grape/app/initializers/pre.rb
|
223
238
|
- lib/grape/app/tasks.rb
|
@@ -227,7 +242,6 @@ files:
|
|
227
242
|
- lib/grape/app/templates/Rakefile
|
228
243
|
- lib/grape/app/templates/app/api.rb
|
229
244
|
- lib/grape/app/templates/app/api/v1.rb
|
230
|
-
- lib/grape/app/templates/app/models.rb
|
231
245
|
- lib/grape/app/templates/config.ru
|
232
246
|
- lib/grape/app/templates/config/environment.rb
|
233
247
|
- lib/grape/app/templates/config/environments/development.rb
|
@@ -241,6 +255,7 @@ files:
|
|
241
255
|
- spec/grape/app_spec.rb
|
242
256
|
- spec/scenario/Gemfile
|
243
257
|
- spec/scenario/app/api.rb
|
258
|
+
- spec/scenario/app/api/posts.rb
|
244
259
|
- spec/scenario/app/api/v1.rb
|
245
260
|
- spec/scenario/config/database.yml
|
246
261
|
- spec/scenario/config/environments/test.rb
|
@@ -274,6 +289,7 @@ test_files:
|
|
274
289
|
- spec/grape/app_spec.rb
|
275
290
|
- spec/scenario/Gemfile
|
276
291
|
- spec/scenario/app/api.rb
|
292
|
+
- spec/scenario/app/api/posts.rb
|
277
293
|
- spec/scenario/app/api/v1.rb
|
278
294
|
- spec/scenario/config/database.yml
|
279
295
|
- spec/scenario/config/environments/test.rb
|