flamerb 0.2.0 → 0.3.0
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/CHANGELOG.md +22 -0
- data/bin/flamerb +4 -4
- data/lib/flame/generators/app.rb +11 -7
- data/lib/flame/generators/devise_generator.rb +5 -59
- data/lib/flame/generators/haml_generator.rb +1 -1
- data/lib/flame/version.rb +1 -1
- data/templates/app/controllers/application_controller.rb +14 -0
- data/templates/app/controllers/sessions_controller.rb +13 -0
- data/templates/app/models/user.rb +3 -0
- data/templates/config/routes.rb +8 -0
- data/templates/rubocop.yml +25 -0
- data/templates/solargraph.yml +26 -0
- metadata +50 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9454312b3e487a027ad473bbb28a5f2cc426e0c80c89fb465543b7973688d967
|
4
|
+
data.tar.gz: 916844f29bc26883c1cdd6996dab823013c2c5583ad84af2c9af0bfe71db59a5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7ebf2d41b963182dc3163bffc71527269765775131e88958d8398257781ea283495e9f154eca5121598242ce273af9d6ee1385ff4386237becfcb04772a4f27b
|
7
|
+
data.tar.gz: a7d218f734570eb3aff0180e1d77f354d0b88c61053d76cb934f39b37bfc650c4b1c7398c32d76d14e99cbc4809760c8def8f2957e427ec8e47a019ba5a7bdb5
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,25 @@
|
|
1
|
+
## v0.3.0 (2023-07-18)
|
2
|
+
|
3
|
+
### Feat
|
4
|
+
|
5
|
+
- problems with some templates
|
6
|
+
|
7
|
+
### Fix
|
8
|
+
|
9
|
+
- problems with solargraph
|
10
|
+
|
11
|
+
## v0.2.2 (2023-07-14)
|
12
|
+
|
13
|
+
### Fix
|
14
|
+
|
15
|
+
- problems with rubocop
|
16
|
+
|
17
|
+
## v0.2.1 (2023-07-13)
|
18
|
+
|
19
|
+
### Fix
|
20
|
+
|
21
|
+
- conflict with template location
|
22
|
+
|
1
23
|
## v0.2.0 (2023-07-13)
|
2
24
|
|
3
25
|
### Feat
|
data/bin/flamerb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
require
|
2
|
+
require "pathname"
|
3
3
|
|
4
|
-
source_path = (Pathname.new(__FILE__).dirname +
|
4
|
+
source_path = (Pathname.new(__FILE__).dirname + "../lib").expand_path
|
5
5
|
$LOAD_PATH << source_path
|
6
6
|
|
7
|
-
require
|
7
|
+
require "flame"
|
8
8
|
|
9
9
|
if ARGV.empty?
|
10
10
|
puts "Please provide a path for the new application"
|
@@ -21,6 +21,6 @@ ARGV << "--skip-jbuilder"
|
|
21
21
|
ARGV << "--database=postgresql"
|
22
22
|
ARGV << "-T"
|
23
23
|
|
24
|
-
templates_path = File.expand_path(
|
24
|
+
templates_path = File.expand_path("../../templates", __FILE__)
|
25
25
|
Flame::Generators::App.source_paths << Rails::Generators::AppGenerator.source_root << templates_path
|
26
26
|
Flame::Generators::App.start
|
data/lib/flame/generators/app.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'bundler'
|
1
2
|
require "rails/generators"
|
2
3
|
require "rails/generators/rails/app/app_generator"
|
3
4
|
|
@@ -16,8 +17,9 @@ module Flame
|
|
16
17
|
end
|
17
18
|
|
18
19
|
def generators
|
19
|
-
run
|
20
|
-
|
20
|
+
run "spring stop > /dev/null 2>&1 || true"
|
21
|
+
template "Gemfile.erb", "Gemfile", force: true
|
22
|
+
Bundler.with_unbundled_env { run "bundle install" }
|
21
23
|
invoke "flame:haml"
|
22
24
|
rails_command "db:create"
|
23
25
|
|
@@ -26,12 +28,14 @@ module Flame
|
|
26
28
|
invoke "flame:devise"
|
27
29
|
invoke "flame:vite"
|
28
30
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
rails_command("db:migrate") if yes?("\nDo you want to run migrations? [y/n]")
|
31
|
+
if yes?("\nDo you want to run migrations? [y/n]")
|
32
|
+
rails_command("db:migrate")
|
33
|
+
generate("annotate:install")
|
34
|
+
end
|
34
35
|
rails_command("db:seed") if yes?("\nDo you want to run seed? [y/n]")
|
36
|
+
template("rubocop.yml", ".rubocop.yml")
|
37
|
+
template("solargraph.yml", ".solargraph.yml")
|
38
|
+
run("bundle exec standardrb --fix-unsafely")
|
35
39
|
welcome_message
|
36
40
|
|
37
41
|
exit 0
|
@@ -2,79 +2,25 @@ require_relative "base"
|
|
2
2
|
|
3
3
|
module Flame
|
4
4
|
class DeviseGenerator < Generators::Base
|
5
|
-
APP_CONTROLLER = <<~RUBY
|
6
|
-
before_action :authenticate_user!, only: [:current]
|
7
|
-
protect_from_forgery with: :exception, unless: :json_request?
|
8
|
-
|
9
|
-
def current
|
10
|
-
render json: current_user
|
11
|
-
end
|
12
|
-
|
13
|
-
|
14
|
-
private
|
15
|
-
|
16
|
-
def json_request?
|
17
|
-
request.format.json?
|
18
|
-
end
|
19
|
-
RUBY
|
20
|
-
|
21
|
-
SESSION_CONTROLLER = <<~RUBY
|
22
|
-
class SessionsController < Devise::SessionsController
|
23
|
-
respond_to :json
|
24
|
-
|
25
|
-
private
|
26
|
-
|
27
|
-
def respond_with(resource, _opts = {})
|
28
|
-
render json: resource
|
29
|
-
end
|
30
|
-
|
31
|
-
def respond_to_on_destroy
|
32
|
-
head :no_content
|
33
|
-
end
|
34
|
-
end
|
35
|
-
RUBY
|
36
|
-
|
37
5
|
def install
|
38
6
|
generate("devise:install")
|
39
7
|
generate("devise", "User")
|
40
8
|
end
|
41
9
|
|
42
|
-
def
|
43
|
-
|
44
|
-
"app/models/user.rb",
|
45
|
-
/^\s*devise\s*:[a-z_]+(?:,\s*:[a-z_]+)*\s*$/,
|
46
|
-
" devise :database_authenticatable, :registerable, :timeoutable, timeout_in: 1.day"
|
47
|
-
)
|
10
|
+
def custom_user_model
|
11
|
+
template("app/models/user.rb", force: true)
|
48
12
|
end
|
49
13
|
|
50
14
|
def generate_session_controller
|
51
|
-
|
52
|
-
"app/controllers/sessions_controller.rb",
|
53
|
-
SESSION_CONTROLLER
|
54
|
-
)
|
15
|
+
template("app/controllers/sessions_controller.rb", force: true)
|
55
16
|
end
|
56
17
|
|
57
18
|
def modify_session_route
|
58
|
-
|
59
|
-
"config/routes.rb",
|
60
|
-
/devise_for\s*:\s*users/,
|
61
|
-
<<~RUBY
|
62
|
-
devise_for :users, defaults: {format: :json}, controllers: {sessions: "sessions"}
|
63
|
-
get "/users/current", to: "application#current", defaults: {format: :json}
|
64
|
-
|
65
|
-
get "*path", to: "pages#index", constraints: ->(request) do
|
66
|
-
!request.xhr? && request.format.html?
|
67
|
-
end
|
68
|
-
RUBY
|
69
|
-
)
|
19
|
+
template("config/routes.rb", force: true)
|
70
20
|
end
|
71
21
|
|
72
22
|
def modify_app_controller
|
73
|
-
|
74
|
-
"app/controllers/application_controller.rb",
|
75
|
-
"ApplicationController",
|
76
|
-
APP_CONTROLLER
|
77
|
-
)
|
23
|
+
template("app/controllers/application_controller.rb", force: true)
|
78
24
|
end
|
79
25
|
|
80
26
|
def insert_secret_key
|
data/lib/flame/version.rb
CHANGED
@@ -0,0 +1,14 @@
|
|
1
|
+
class ApplicationController < ActionController::Base
|
2
|
+
before_action :authenticate_user!, only: [:current]
|
3
|
+
protect_from_forgery with: :exception, unless: :json_request?
|
4
|
+
|
5
|
+
def current
|
6
|
+
render json: current_user
|
7
|
+
end
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def json_request?
|
12
|
+
request.format.json?
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
Rails.application.routes.draw do
|
2
|
+
devise_for :users, defaults: {format: :json}, controllers: {sessions: "sessions"}
|
3
|
+
get "/users/current", to: "application#current", defaults: {format: :json}
|
4
|
+
|
5
|
+
get "*path", to: "pages#index", constraints: ->(request) do
|
6
|
+
!request.xhr? && request.format.html?
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
inherit_mode:
|
2
|
+
merge:
|
3
|
+
- Exclude
|
4
|
+
require:
|
5
|
+
- standard
|
6
|
+
# problem with block_single_line_braces solved by: https://github.com/castwide/vscode-solargraph/issues/118#issuecomment-505348192
|
7
|
+
- standard/cop/block_single_line_braces
|
8
|
+
- rubocop-performance
|
9
|
+
- rubocop-rspec
|
10
|
+
- rubocop-factory_bot
|
11
|
+
- rubocop-rails
|
12
|
+
inherit_gem:
|
13
|
+
standard: config/base.yml
|
14
|
+
standard-performance: config/base.yml
|
15
|
+
standard-custom: config/base.yml
|
16
|
+
AllCops:
|
17
|
+
SuggestExtensions: false
|
18
|
+
TargetRubyVersion: 3.2
|
19
|
+
NewCops: enable
|
20
|
+
Exclude:
|
21
|
+
- node_modules/**/*
|
22
|
+
- public/**/*
|
23
|
+
- vendor/**/*
|
24
|
+
RSpec:
|
25
|
+
Enabled: true # enable rubocop-rspec cops
|
@@ -0,0 +1,26 @@
|
|
1
|
+
---
|
2
|
+
include:
|
3
|
+
- "**/*.rb"
|
4
|
+
- "app/**/*.rb"
|
5
|
+
- "config/**/*.rb"
|
6
|
+
- "lib/**/*.rb"
|
7
|
+
exclude:
|
8
|
+
- vendor/**/*
|
9
|
+
- ".bundle/**/*"
|
10
|
+
require:
|
11
|
+
- actioncable
|
12
|
+
- actionmailer
|
13
|
+
- actionpack
|
14
|
+
- actionview
|
15
|
+
- activejob
|
16
|
+
- activemodel
|
17
|
+
- activerecord
|
18
|
+
- activestorage
|
19
|
+
- activesupport
|
20
|
+
domains: []
|
21
|
+
reporters:
|
22
|
+
- rubocop # diagnostics
|
23
|
+
require_paths: []
|
24
|
+
plugins:
|
25
|
+
- solargraph-rails
|
26
|
+
max_files: 20000
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flamerb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- n0tbot
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-07-
|
11
|
+
date: 2023-07-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 6.1.7
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.4'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2.4'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rspec
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,6 +66,34 @@ dependencies:
|
|
52
66
|
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
68
|
version: '1.29'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: generator_spec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.9.4
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.9.4
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: overcommit
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.60.0
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.60.0
|
55
97
|
description: Flame is a powerful Ruby gem designed to simplify and streamline application
|
56
98
|
development by providing a comprehensive set of tools and functionalities.
|
57
99
|
email:
|
@@ -76,7 +118,11 @@ files:
|
|
76
118
|
- lib/flame/generators/vite_generator.rb
|
77
119
|
- lib/flame/version.rb
|
78
120
|
- templates/Gemfile.erb
|
121
|
+
- templates/app/controllers/application_controller.rb
|
122
|
+
- templates/app/controllers/sessions_controller.rb
|
123
|
+
- templates/app/models/user.rb
|
79
124
|
- templates/app/views/layouts/application.html.haml
|
125
|
+
- templates/config/routes.rb
|
80
126
|
- templates/db/seeds.rb
|
81
127
|
- templates/eslintrc.js
|
82
128
|
- templates/frontend/assets/react.svg
|
@@ -102,6 +148,8 @@ files:
|
|
102
148
|
- templates/frontend/store/slices/userSlice.js
|
103
149
|
- templates/frontend/theme/index.js
|
104
150
|
- templates/jsconfig.json
|
151
|
+
- templates/rubocop.yml
|
152
|
+
- templates/solargraph.yml
|
105
153
|
- templates/spec/support/database_cleaner.rb
|
106
154
|
- templates/spec/support/factory_bot.rb
|
107
155
|
- templates/spec/support/shoulda_matchers.rb
|