grape-starter 1.5.2 → 1.6.1

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: 34ae705b1f75703766962ff10fa9a36b38cfb7c9b1673d55a37c192c638006e6
4
- data.tar.gz: 8e3217a9aef0ad3aefeb45dd1441fa8b4888ce5598af2666931afa12eaf7ef4b
3
+ metadata.gz: 3f03aba0838fc7a1877d9628a5a0fcdd3a29eb16836c9c41b29950814c7e5e6b
4
+ data.tar.gz: 64b0c86ecdcca53c866f275be224efe3937eb02dca2f299e4c7d416804c2a511
5
5
  SHA512:
6
- metadata.gz: d5aa8965c7fda25e74a9900be97818e142ce3d4983607a7436ed3bca1141ec7a6042c746668125f15b1a421a37e7bfdc5bef8fcbe107fccd14a93e75cf59653e
7
- data.tar.gz: a7474690efa21fd3236e1686a69f211e63d706cc88e8f07a09025b1c19d65942ba7d4e0c239b4c26e0a3f40541af0bc02ac683618c568c6e29969aea56de6710
6
+ metadata.gz: 68c307c7b2d86729422ff90cdde27b6a46a77c52a37b8759cbe885e6e3fa547bb7e07b04c48473cc7e7591ffc77fe8a705d7c85193f6f10f93e22d9749f3baf6
7
+ data.tar.gz: 78dbcdbf71393a23687be2703ac207a13ad617c04148e0813e2a49df7e3241f8a1f6d32ba3c9b3dd4865e826ee358c242c9310da424a6e32b2e7b14697f91bf2
data/.rubocop.yml CHANGED
@@ -37,8 +37,8 @@ Metrics/MethodLength:
37
37
 
38
38
  Naming/AccessorMethodName:
39
39
  Exclude:
40
- - 'lib/starter/builder/templates/files.rb'
41
- - 'lib/starter/builder/templates/endpoints.rb'
40
+ - 'lib/starter/templates/files.rb'
41
+ - 'lib/starter/templates/endpoints.rb'
42
42
 
43
43
  Style/AsciiComments:
44
44
  Enabled: false
data/bin/grape-starter CHANGED
@@ -38,7 +38,7 @@ command :new do |c|
38
38
  starter_gem = Gem::Specification.find_by_name('grape-starter').gem_dir
39
39
  src = File.join(starter_gem, 'template', '.')
40
40
 
41
- Starter::Builder.new!(args.first, src, dest, options)
41
+ Starter::Build.new!(args.first, src, dest, options)
42
42
  $stdout.puts "created: #{args.first}"
43
43
 
44
44
  # after creating tasks
@@ -71,7 +71,7 @@ command :add do |c|
71
71
 
72
72
  begin
73
73
  builder_options = global_options.merge(set: set).merge(options)
74
- created_files = Starter::Builder.add!(resource, builder_options)
74
+ created_files = Starter::Build.add!(resource, builder_options)
75
75
 
76
76
  `bundle exec rubocop -a #{created_files.join(' ')}`
77
77
  $stdout.puts "added resource: #{resource}"
@@ -87,11 +87,11 @@ command :rm do |c|
87
87
  c.desc 'removes also entity file'
88
88
  c.switch [:e, :entity], negatable: false
89
89
 
90
- c.action do |global_options, options, args|
90
+ c.action do |_global_options, options, args|
91
91
  exit_now! 'no resource given' if args.empty?
92
92
  resource = args.first
93
93
 
94
- Starter::Builder.remove!(resource, options)
94
+ Starter::Build.remove!(resource, options)
95
95
 
96
96
  $stdout.puts "removed resource: #{resource}"
97
97
  end
@@ -28,4 +28,5 @@ Gem::Specification.new do |spec|
28
28
  spec.add_dependency 'activesupport', '>= 6', '< 8'
29
29
  spec.add_dependency 'rubocop', '~> 1.24'
30
30
  spec.add_dependency 'awesome_print', '~> 1.9'
31
+ spec.add_dependency 'zeitwerk'
31
32
  end
@@ -1,16 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Starter
4
- require 'starter/builder/orms'
5
- require 'starter/builder/names'
6
- require 'starter/builder/base_file'
7
- require 'starter/builder/file_foo'
8
- require 'starter/builder/templates/files'
9
- require 'starter/builder/templates/endpoints'
10
-
11
- class Builder
12
- extend Names
13
- extend BaseFile
4
+ class Build
5
+ extend Builder::Names
6
+ extend Builder::BaseFile
14
7
  extend Templates::Files
15
8
  extend Templates::Endpoints
16
9
 
@@ -120,7 +113,7 @@ module Starter
120
113
  # creates a new file in lib folder as namespace, includind the version
121
114
  def add_namespace_with_version
122
115
  new_lib = File.join(destination, 'lib', base_file_name)
123
- FileFoo.write_file(new_lib, base_namespace_file.strip_heredoc)
116
+ FileOps.write_file(new_lib, base_namespace_file.strip_heredoc)
124
117
  end
125
118
 
126
119
  #
@@ -128,7 +121,7 @@ module Starter
128
121
  def replace_static(file, replacement)
129
122
  file_path = File.join(destination, file)
130
123
 
131
- FileFoo.call!(file_path) { |content| content.gsub!('{{{grape-starter}}}', replacement.to_s) }
124
+ FileOps.call!(file_path) { |content| content.gsub!('{{{grape-starter}}}', replacement.to_s) }
132
125
  end
133
126
 
134
127
  # #add! a new resource releated helper methods
@@ -159,7 +152,7 @@ module Starter
159
152
  def save_file(new_file)
160
153
  new_file_name = send("#{new_file}_name")
161
154
  should_raise?(new_file_name)
162
- FileFoo.write_file(new_file_name, send(new_file.strip_heredoc))
155
+ FileOps.write_file(new_file_name, send(new_file.strip_heredoc))
163
156
  end
164
157
 
165
158
  #
@@ -3,7 +3,7 @@
3
3
  require 'active_record'
4
4
 
5
5
  module Starter
6
- module Templates
6
+ module Builder
7
7
  module ActiveRecord
8
8
  def model_klass
9
9
  'ActiveRecord::Base'
@@ -24,13 +24,13 @@ module Starter
24
24
 
25
25
  ActiveRecord::Base.establish_connection db_conf[env]
26
26
  logger = if %w[development test].include? env
27
- log_dir = File.join(Dir.getwd, 'log')
28
- log_file = File.join(log_dir, 'db.log')
29
- FileUtils.mkdir(log_dir) unless Dir.exist?(log_dir)
30
- Logger.new(File.open(log_file, 'a'))
31
- else
32
- Logger.new($stdout)
33
- end
27
+ log_dir = File.join(Dir.getwd, 'log')
28
+ log_file = File.join(log_dir, 'db.log')
29
+ FileUtils.mkdir(log_dir) unless Dir.exist?(log_dir)
30
+ Logger.new(File.open(log_file, 'a'))
31
+ else
32
+ Logger.new($stdout)
33
+ end
34
34
 
35
35
  ActiveRecord::Base.logger = logger
36
36
 
@@ -1,45 +1,47 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Starter
4
- module BaseFile
5
- # add it in api base
6
- def add_mount_point
7
- FileFoo.call!(api_base_file_name) { |content| add_to_base(content) }
8
- end
9
-
10
- # adding mount point to base class
11
- def add_to_base(file)
12
- occurence = file.scan(/(\s+mount\s.*?\n)/).last.first
13
- replacement = occurence + mount_point
14
- file.sub!(occurence, replacement)
15
- end
16
-
17
- # removes in api base
18
- def remove_mount_point
19
- FileFoo.call!(api_base_file_name) { |content| remove_from_base(content) }
20
- end
21
-
22
- # removes mount point from base class
23
- def remove_from_base(file)
24
- file.sub!(mount_point, '')
25
- end
26
-
27
- # parses out the prefix from base api file
28
- def base_prefix
29
- Starter::Config.read[:prefix]
30
- end
31
-
32
- # parses out the version from base api file
33
- def base_version
34
- base_file
35
-
36
- base_file.scan(/version\s+(.+),/).first.first.delete!("'")
37
- end
38
-
39
- # get api base file as string
40
- def base_file
41
- file = File.join(Dir.getwd, 'api', 'base.rb')
42
- FileFoo.read_file(file)
4
+ module Builder
5
+ module BaseFile
6
+ # add it in api base
7
+ def add_mount_point
8
+ FileOps.call!(api_base_file_name) { |content| add_to_base(content) }
9
+ end
10
+
11
+ # adding mount point to base class
12
+ def add_to_base(file)
13
+ occurence = file.scan(/(\s+mount\s.*?\n)/).last.first
14
+ replacement = occurence + mount_point
15
+ file.sub!(occurence, replacement)
16
+ end
17
+
18
+ # removes in api base
19
+ def remove_mount_point
20
+ FileOps.call!(api_base_file_name) { |content| remove_from_base(content) }
21
+ end
22
+
23
+ # removes mount point from base class
24
+ def remove_from_base(file)
25
+ file.sub!(mount_point, '')
26
+ end
27
+
28
+ # parses out the prefix from base api file
29
+ def base_prefix
30
+ Starter::Config.read[:prefix]
31
+ end
32
+
33
+ # parses out the version from base api file
34
+ def base_version
35
+ base_file
36
+
37
+ base_file.scan(/version\s+(.+),/).first.first.delete!("'")
38
+ end
39
+
40
+ # get api base file as string
41
+ def base_file
42
+ file = File.join(Dir.getwd, 'api', 'base.rb')
43
+ FileOps.read_file(file)
44
+ end
43
45
  end
44
46
  end
45
47
  end
@@ -1,80 +1,80 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Starter
4
- module Names
5
- def klass_name
6
- for_klass = prepare_klass
7
- singular? ? for_klass.classify : for_klass.classify.pluralize
8
- end
4
+ module Builder
5
+ module Names
6
+ def klass_name
7
+ for_klass = prepare_klass
8
+ singular? ? for_klass.classify : for_klass.classify.pluralize
9
+ end
9
10
 
10
- def lib_klass_name
11
- return klass_name unless @orm
11
+ def lib_klass_name
12
+ return klass_name unless @orm
12
13
 
13
- case ::Starter::Config.read[:orm]
14
- when 'sequel'
15
- require 'starter/builder/templates/sequel'
16
- extend(::Starter::Templates::Sequel)
17
- "#{klass_name} < #{model_klass}"
18
- when 'activerecord', 'ar'
19
- require 'starter/builder/templates/activerecord'
20
- extend(::Starter::Templates::ActiveRecord)
21
- "#{klass_name} < #{model_klass}"
22
- else
23
- klass_name
14
+ case Starter::Config.read[:orm]
15
+ when 'sequel'
16
+ extend(Starter::Builder::Sequel)
17
+ "#{klass_name} < #{model_klass}"
18
+ when 'activerecord', 'ar'
19
+ extend(Starter::Builder::ActiveRecord)
20
+ "#{klass_name} < #{model_klass}"
21
+ else
22
+ klass_name
23
+ end
24
24
  end
25
- end
26
25
 
27
- # rubocop:disable Style/StringConcatenation
28
- def base_file_name
29
- @resource.tr('/', '-').downcase + '.rb'
30
- end
31
- # rubocop:enable Style/StringConcatenation
26
+ # rubocop:disable Style/StringConcatenation
27
+ def base_file_name
28
+ @resource.tr('/', '-').downcase + '.rb'
29
+ end
30
+ # rubocop:enable Style/StringConcatenation
32
31
 
33
- def base_spec_name
34
- base_file_name.gsub(/.rb$/, '_spec.rb')
35
- end
32
+ def base_spec_name
33
+ base_file_name.gsub(/.rb$/, '_spec.rb')
34
+ end
36
35
 
37
- def mount_point
38
- " mount Endpoints::#{klass_name}\n"
39
- end
36
+ def mount_point
37
+ " mount Endpoints::#{klass_name}\n"
38
+ end
40
39
 
41
- def api_base_file_name
42
- File.join(Dir.getwd, 'api', 'base.rb')
43
- end
40
+ def api_base_file_name
41
+ File.join(Dir.getwd, 'api', 'base.rb')
42
+ end
44
43
 
45
- # resource file
46
- def api_file_name
47
- File.join(Dir.getwd, 'api', 'endpoints', base_file_name)
48
- end
44
+ # resource file
45
+ def api_file_name
46
+ File.join(Dir.getwd, 'api', 'endpoints', base_file_name)
47
+ end
49
48
 
50
- # resource file
51
- def entity_file_name
52
- File.join(Dir.getwd, 'api', 'entities', base_file_name)
53
- end
49
+ # resource file
50
+ def entity_file_name
51
+ File.join(Dir.getwd, 'api', 'entities', base_file_name)
52
+ end
54
53
 
55
- # lib file
56
- def lib_file_name
57
- File.join(Dir.getwd, 'lib', 'models', base_file_name)
58
- end
54
+ # lib file
55
+ def lib_file_name
56
+ File.join(Dir.getwd, 'lib', 'models', base_file_name)
57
+ end
59
58
 
60
- # resource spec
61
- def api_spec_name
62
- File.join(Dir.getwd, 'spec', 'requests', base_spec_name)
63
- end
59
+ # resource spec
60
+ def api_spec_name
61
+ File.join(Dir.getwd, 'spec', 'requests', base_spec_name)
62
+ end
64
63
 
65
- # lib spec
66
- def lib_spec_name
67
- File.join(Dir.getwd, 'spec', 'lib', 'models', base_spec_name)
68
- end
64
+ # lib spec
65
+ def lib_spec_name
66
+ File.join(Dir.getwd, 'spec', 'lib', 'models', base_spec_name)
67
+ end
69
68
 
70
- private
69
+ private
71
70
 
72
- def prepare_klass
73
- @resource.tr('-', '/')
74
- end
71
+ def prepare_klass
72
+ @resource.tr('-', '/')
73
+ end
75
74
 
76
- def singular?
77
- @resource.singularize.inspect == @resource.inspect
75
+ def singular?
76
+ @resource.singularize.inspect == @resource.inspect
77
+ end
78
78
  end
79
79
  end
80
80
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Starter
4
- module Templates
4
+ module Builder
5
5
  module Sequel
6
6
  def model_klass
7
7
  'Sequel::Model'
@@ -20,13 +20,13 @@ module Starter
20
20
  env = ENV['RACK_ENV'] || 'development'
21
21
 
22
22
  logger = if %w[development test].include? env
23
- log_dir = File.join(Dir.getwd, 'log')
24
- log_file = File.join(log_dir, 'db.log')
25
- FileUtils.mkdir(log_dir) unless Dir.exist?(log_dir)
26
- Logger.new(File.open(log_file, 'a'))
27
- else
28
- Logger.new($stdout)
29
- end
23
+ log_dir = File.join(Dir.getwd, 'log')
24
+ log_file = File.join(log_dir, 'db.log')
25
+ FileUtils.mkdir(log_dir) unless Dir.exist?(log_dir)
26
+ Logger.new(File.open(log_file, 'a'))
27
+ else
28
+ Logger.new($stdout)
29
+ end
30
30
 
31
31
  DB.loggers << logger
32
32
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Starter
4
- class FileFoo
4
+ class FileOps
5
5
  class << self
6
6
  # general file stuff
7
7
  #
@@ -61,7 +61,7 @@ module Starter
61
61
 
62
62
  file_name = "#{Time.now.strftime('%Y%m%d%H%m%S')}_create_#{klass_name.downcase}.rb"
63
63
  migration_dest = File.join(Dir.pwd, 'db', 'migrate', file_name)
64
- FileFoo.write_file(migration_dest, migration(klass_name, resource))
64
+ FileOps.write_file(migration_dest, migration(klass_name, resource))
65
65
  end
66
66
 
67
67
  def load_orm(orm: ::Starter::Config.read[:orm])
@@ -69,11 +69,9 @@ module Starter
69
69
 
70
70
  case @orm
71
71
  when 'sequel'
72
- require 'starter/builder/templates/sequel'
73
- extend(::Starter::Templates::Sequel)
72
+ extend(Starter::Builder::Sequel)
74
73
  when 'activerecord', 'ar'
75
- require 'starter/builder/templates/activerecord'
76
- extend(::Starter::Templates::ActiveRecord)
74
+ extend(Starter::Builder::ActiveRecord)
77
75
  else
78
76
  @orm = nil
79
77
  end
@@ -87,26 +85,26 @@ module Starter
87
85
 
88
86
  def build_initializer(dest)
89
87
  FileUtils.mkdir_p(dest)
90
- FileFoo.write_file(File.join(dest, 'database.rb'), initializer)
88
+ FileOps.write_file(File.join(dest, 'database.rb'), initializer)
91
89
  end
92
90
 
93
91
  def build_config(dest)
94
- FileFoo.write_file(File.join(dest, 'database.yml'), config)
92
+ FileOps.write_file(File.join(dest, 'database.yml'), config)
95
93
  end
96
94
 
97
95
  def build_standalone_migrations(dest)
98
- FileFoo.write_file(dest, standalone_migrations)
96
+ FileOps.write_file(dest, standalone_migrations)
99
97
  end
100
98
 
101
99
  # adds a middleware to config.ru
102
100
  def add_middleware(dest, middleware)
103
101
  replacement = "use #{middleware}\n\n\\1"
104
- FileFoo.call!(File.join(dest, 'config.ru')) { |content| content.sub!(/^(run.+)$/, replacement) }
102
+ FileOps.call!(File.join(dest, 'config.ru')) { |content| content.sub!(/^(run.+)$/, replacement) }
105
103
  end
106
104
 
107
105
  def append_to_file(file_name, content)
108
- original = FileFoo.read_file(file_name)
109
- FileFoo.write_file(file_name, "#{original}\n\n#{content}")
106
+ original = FileOps.read_file(file_name)
107
+ FileOps.write_file(file_name, "#{original}\n\n#{content}")
110
108
  end
111
109
 
112
110
  def prepare_for_migrations(dest)
@@ -6,8 +6,6 @@ require 'rack/test'
6
6
 
7
7
  module Starter
8
8
  module Rake
9
- require 'starter/builder'
10
-
11
9
  class GrapeTasks < ::Rake::TaskLib
12
10
  include Rack::Test::Methods
13
11
 
@@ -45,7 +45,7 @@ RSpec.shared_examples 'DELETE one' do
45
45
  let(:route) { route_from_description }
46
46
 
47
47
  subject { delete route }
48
- specify { expect(subject.status).to eql 200 }
48
+ specify { expect(subject.status).to eql 204 }
49
49
  end
50
50
 
51
51
  # plural forms
@@ -75,5 +75,5 @@ RSpec.shared_examples 'DELETE specific' do |key: nil|
75
75
  let(:specific_route) { "#{route_from_description}/#{key}" }
76
76
 
77
77
  subject { delete specific_route }
78
- specify { expect(subject.status).to eql 200 }
78
+ specify { expect(subject.status).to eql 204 }
79
79
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Starter
4
- VERSION = '1.5.2'
4
+ VERSION = '1.6.1'
5
5
  end
data/lib/starter.rb CHANGED
@@ -1,13 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'awesome_print'
4
-
5
4
  require 'active_support'
6
5
  require 'active_support/core_ext/string'
6
+ require 'zeitwerk'
7
7
 
8
- require 'starter/version'
9
- require 'starter/builder'
10
- require 'starter/config'
8
+ loader = Zeitwerk::Loader.for_gem
9
+ loader.setup
11
10
 
12
11
  module Starter
13
12
  autoload :Rake, 'starter/rake/grape_tasks'
data/template/Dockerfile CHANGED
@@ -13,4 +13,4 @@ RUN bundle install
13
13
 
14
14
  COPY . .
15
15
 
16
- CMD bundle exec thin start -p 9292 -e production --tag API-dummy --threaded
16
+ CMD bundle exec puma --tag API-dummy
data/template/Gemfile CHANGED
@@ -3,7 +3,7 @@
3
3
  source 'http://rubygems.org'
4
4
 
5
5
  # Server stuff
6
- gem 'thin'
6
+ gem 'puma'
7
7
 
8
8
  gem 'rack'
9
9
  gem 'rack-cors'
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ workers ENV.fetch('WEB_CONCURRENCY', 0)
4
+ min_threads_count = ENV.fetch('MIN_THREADS', 1)
5
+ max_threads_count = ENV.fetch('MAX_THREADS', 8)
6
+ threads min_threads_count, max_threads_count
7
+
8
+ port ENV.fetch('PORT', 9292)
9
+
10
+ environment ENV.fetch('RACK_ENV', 'development')
@@ -7,16 +7,4 @@ cd "$(dirname "$0")/.."
7
7
  test -z "$RACK_ENV" &&
8
8
  RACK_ENV='development'
9
9
 
10
- if [ $1 ]; then
11
- PORT=$1
12
- else
13
- PORT=9292
14
- fi
15
-
16
- export PORT=$PORT
17
-
18
- if [ "$RACK_ENV" = 'production' ]; then
19
- bundle exec thin start -p $PORT -e $RACK_ENV --tag {{{grape-starter}}} -d --threaded
20
- else
21
- bundle exec thin start -p $PORT -e $RACK_ENV --tag {{{grape-starter}}} -D
22
- fi
10
+ bundle exec puma --tag API-Baz
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grape-starter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.2
4
+ version: 1.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - LeFnord
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-11 00:00:00.000000000 Z
11
+ date: 2023-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gli
@@ -72,6 +72,20 @@ dependencies:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
74
  version: '1.9'
75
+ - !ruby/object:Gem::Dependency
76
+ name: zeitwerk
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
75
89
  description: CLI to create a API skeleton based on Grape and Rack
76
90
  email:
77
91
  - pscholz.le@gmail.com
@@ -96,18 +110,18 @@ files:
96
110
  - doc/re-doc.png
97
111
  - grape-starter.gemspec
98
112
  - lib/starter.rb
99
- - lib/starter/builder.rb
113
+ - lib/starter/build.rb
114
+ - lib/starter/builder/activerecord.rb
100
115
  - lib/starter/builder/base_file.rb
101
- - lib/starter/builder/file_foo.rb
102
116
  - lib/starter/builder/names.rb
103
- - lib/starter/builder/orms.rb
104
- - lib/starter/builder/templates/activerecord.rb
105
- - lib/starter/builder/templates/endpoints.rb
106
- - lib/starter/builder/templates/files.rb
107
- - lib/starter/builder/templates/sequel.rb
117
+ - lib/starter/builder/sequel.rb
108
118
  - lib/starter/config.rb
119
+ - lib/starter/file_ops.rb
120
+ - lib/starter/orms.rb
109
121
  - lib/starter/rake/grape_tasks.rb
110
122
  - lib/starter/rspec/request_specs.rb
123
+ - lib/starter/templates/endpoints.rb
124
+ - lib/starter/templates/files.rb
111
125
  - lib/starter/version.rb
112
126
  - template/.gitignore
113
127
  - template/.rubocop.yml
@@ -125,13 +139,13 @@ files:
125
139
  - template/config/boot.rb
126
140
  - template/config/environment.rb
127
141
  - template/config/initializers/.keep
142
+ - template/config/puma.rb
128
143
  - template/lib/models.rb
129
144
  - template/lib/models/version.rb
130
145
  - template/public/.keep
131
146
  - template/script/console
132
147
  - template/script/server
133
148
  - template/script/setup
134
- - template/script/stop
135
149
  - template/script/test
136
150
  - template/script/update
137
151
  - template/spec/lib/models/.keep
@@ -157,7 +171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
157
171
  - !ruby/object:Gem::Version
158
172
  version: '0'
159
173
  requirements: []
160
- rubygems_version: 3.4.6
174
+ rubygems_version: 3.4.7
161
175
  signing_key:
162
176
  specification_version: 4
163
177
  summary: Creates a Grape Rack skeleton
data/template/script/stop DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -e
4
-
5
- cd "$(dirname "$0")/.."
6
-
7
- # use only, if server was started in production mode
8
- thin stop