grape-app 0.6.4 → 0.7.1
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 +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
|