rails_app_generator 0.1.9 → 0.1.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/rails_app_generator/app_generator.rb +0 -2
- data/lib/rails_app_generator/version.rb +1 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- data/tasks/addon.thor +1 -1
- data/tasks/gem_info.rb +47 -0
- data/tasks/profile.thor +29 -2
- data/templates/thor_task/profile/after_template.tt +15 -0
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ec3cdb2cbf9342e0d11d2564095d01beec1cdf4578c2b935463f1d1948d05c6
|
4
|
+
data.tar.gz: 2070fd5c3e20f44048a8866de460369f151b4426c3623c28fd4aae87e3438823
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2881fdb69ec894026ecd7c0fb4bfffbb70c00fa1388d74f8ae8f913d560f878d6a54b9f1d8d987c4b30a1883c16cee35ce822e0b8505759301ee2f6458a30951
|
7
|
+
data.tar.gz: c9b77351ad707f91a9d214e33f9fad4691aba37e6f1e66846c627521f7e92bb7bd27eb66b5f5772c4fa470dfb31fc8773ef3338b9cd41940a63595fd84af4fa6
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
## [0.1.9](https://github.com/klueless-io/rails_app_generator/compare/v0.1.8...v0.1.9) (2022-08-02)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* add thor task to create add-ons, plus profile rails-html-santaizer ([098700f](https://github.com/klueless-io/rails_app_generator/commit/098700facf9eb7d74ce6dfed8495e22d0904a386))
|
7
|
+
* cops ([61f106e](https://github.com/klueless-io/rails_app_generator/commit/61f106e8d5bfa918731430efd5c6fea34d25a41b))
|
8
|
+
|
1
9
|
## [0.1.8](https://github.com/klueless-io/rails_app_generator/compare/v0.1.7...v0.1.8) (2022-07-31)
|
2
10
|
|
3
11
|
|
@@ -69,8 +69,6 @@ module RailsAppGenerator
|
|
69
69
|
# webmock 3.13.0 3.14.0 = 3.13.0 development, test
|
70
70
|
# websocket-driver 0.6.5 0.7.5
|
71
71
|
|
72
|
-
# gem "rails-html-sanitizer", "1.3.0"
|
73
|
-
# gem "unicorn", "5.3.0"
|
74
72
|
# gem "honeybadger", "4.6.0"
|
75
73
|
# gem "pg", "0.20.0"
|
76
74
|
# gem "redis", "3.3.3"
|
data/package-lock.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "rails_app_generator",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.10",
|
4
4
|
"lockfileVersion": 2,
|
5
5
|
"requires": true,
|
6
6
|
"packages": {
|
7
7
|
"": {
|
8
8
|
"name": "rails_app_generator",
|
9
|
-
"version": "0.1.
|
9
|
+
"version": "0.1.10",
|
10
10
|
"dependencies": {
|
11
11
|
"daisyui": "^2.20.0"
|
12
12
|
},
|
data/package.json
CHANGED
data/tasks/addon.thor
CHANGED
data/tasks/gem_info.rb
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Retrieve GemInfo from RubyGems.org
|
4
|
+
class GemInfo
|
5
|
+
attr_reader :name
|
6
|
+
attr_reader :version
|
7
|
+
attr_reader :description
|
8
|
+
|
9
|
+
def initialize(name, version, description)
|
10
|
+
@name = name
|
11
|
+
@version = version
|
12
|
+
@description = description
|
13
|
+
end
|
14
|
+
|
15
|
+
def debug
|
16
|
+
puts "name: #{name}"
|
17
|
+
puts "version: #{version}"
|
18
|
+
puts "description: #{description}"
|
19
|
+
end
|
20
|
+
|
21
|
+
class << self
|
22
|
+
def get(name)
|
23
|
+
gem_info = query_ruby_gems(name)
|
24
|
+
|
25
|
+
return gem_info if gem_info
|
26
|
+
|
27
|
+
return query_ruby_gems(name.gsub('_', '-')) if name.include?('_')
|
28
|
+
return query_ruby_gems(name.gsub('-', '_')) if name.include?('-')
|
29
|
+
|
30
|
+
abort "Cannot find GEM (#{name}) on RubyGems.org"
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def query_ruby_gems(name)
|
36
|
+
link = "https://rubygems.org/api/v1/gems/#{name.downcase}.json"
|
37
|
+
info = Net::HTTP.get(URI.parse(link))
|
38
|
+
json = JSON.parse(info)
|
39
|
+
|
40
|
+
new(json['name'], json['version'], json['info'])
|
41
|
+
rescue SocketError
|
42
|
+
abort 'Internet connection cannot be established to RubyGems.org'
|
43
|
+
rescue JSON::ParserError
|
44
|
+
nil
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
data/tasks/profile.thor
CHANGED
@@ -2,11 +2,38 @@
|
|
2
2
|
|
3
3
|
# https://codecrate.com/2014/01/replace-rake-with-thor.html
|
4
4
|
|
5
|
+
require 'pry'
|
5
6
|
# Thor task to create a new Profile for Rails App Generator
|
6
7
|
class Profile < Thor
|
8
|
+
include Thor::Actions
|
9
|
+
|
10
|
+
source_root(File.expand_path('../templates/thor_task', File.dirname(__FILE__)))
|
11
|
+
|
12
|
+
attr_accessor :name
|
13
|
+
|
7
14
|
desc 'new', 'Create a new Profile for testing Rails App Generator settings'
|
15
|
+
method_option :variant, type: :string, default: 'default', desc: 'Profile variant to create, valid values are (default, addon)'
|
16
|
+
method_option :gem, type: :string, default: nil, desc: 'Gem name is looked up to find version and description'
|
17
|
+
method_option :force, type: :boolean, default: false, desc: 'Overwrite existing files'
|
8
18
|
def new(name)
|
9
|
-
|
10
|
-
|
19
|
+
self.name = name
|
20
|
+
|
21
|
+
say "Creating profile #{name}"
|
22
|
+
puts "Variant: #{options[:variant]}"
|
23
|
+
|
24
|
+
gi = gem_info
|
25
|
+
gi&.debug
|
26
|
+
|
27
|
+
# template('profile/profile', "lib/rails_app_generator/profiles/#{name}.rb", force: options[:force])
|
28
|
+
end
|
29
|
+
|
30
|
+
no_commands do
|
31
|
+
def gem_info
|
32
|
+
return nil unless options[:gem]
|
33
|
+
|
34
|
+
gem_name = options[:gem] == 'gem' ? name : options[:gem]
|
35
|
+
|
36
|
+
GemInfo.create(gem_name)
|
37
|
+
end
|
11
38
|
end
|
12
39
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Description goes here
|
4
|
+
require 'pry'
|
5
|
+
|
6
|
+
self.local_template_path = local_template_base(__FILE__)
|
7
|
+
|
8
|
+
gac 'base rails 7 image created'
|
9
|
+
|
10
|
+
add_controller('home', 'index')
|
11
|
+
route("root 'home#index'")
|
12
|
+
|
13
|
+
force_copy
|
14
|
+
|
15
|
+
copy_file 'index.html.erb', 'app/views/home/index.html.erb'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_app_generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Cruwys
|
@@ -355,6 +355,7 @@ files:
|
|
355
355
|
- profiles/rag-tailwind.json
|
356
356
|
- sig/rails_app_generator.rbs
|
357
357
|
- tasks/addon.thor
|
358
|
+
- tasks/gem_info.rb
|
358
359
|
- tasks/profile.thor
|
359
360
|
- templates/Gemfile-original-r7
|
360
361
|
- templates/Gemfile-original-schienenzeppelin.erb
|
@@ -412,6 +413,7 @@ files:
|
|
412
413
|
- templates/app_x/views/shared/_navbar.html.erb.tt
|
413
414
|
- templates/app_x/workers/application_worker.rb
|
414
415
|
- templates/thor_task/addon/addon.tt
|
416
|
+
- templates/thor_task/profile/after_template.tt
|
415
417
|
homepage: http://appydave.com/gems/rails_app_generator
|
416
418
|
licenses:
|
417
419
|
- MIT
|