rails_app_generator 0.1.9 → 0.1.10

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 96c2c0a83f21efd278ae574b7161c8b3d4522880f3b01b37d43b783ede17d7ec
4
- data.tar.gz: 54c7745878991f2bbc49e894a205582c90dd7bda79d6b3d7de811a48622beaf5
3
+ metadata.gz: 6ec3cdb2cbf9342e0d11d2564095d01beec1cdf4578c2b935463f1d1948d05c6
4
+ data.tar.gz: 2070fd5c3e20f44048a8866de460369f151b4426c3623c28fd4aae87e3438823
5
5
  SHA512:
6
- metadata.gz: 8bc7eebffc7d3c2f8bc1c4a6d758d8ca826355d0e2421a01dfec5b57d3b00a8bbab37f3cb8b6eab59ef2f9d30f47bd81596dfb6b0b7d0b996f15c783aa52a22d
7
- data.tar.gz: 4e9dc215f0574e203240817ad2b5f5aa231e0628fb7c352b2274c59612a7d88c89dda174ed19083929b9c39eae0235bdbdc878e2947e5b055c27ff26a02831cc
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"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsAppGenerator
4
- VERSION = '0.1.9'
4
+ VERSION = '0.1.10'
5
5
  end
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "rails_app_generator",
3
- "version": "0.1.9",
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",
9
+ "version": "0.1.10",
10
10
  "dependencies": {
11
11
  "daisyui": "^2.20.0"
12
12
  },
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rails_app_generator",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "description": "Create new Rails Application with custom opinions",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
data/tasks/addon.thor CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  # https://codecrate.com/2014/01/replace-rake-with-thor.html
4
4
 
5
- require 'pry'
6
5
  require 'net/http'
7
6
  require 'json'
7
+ require_relative 'gem_info'
8
8
 
9
9
  # Thor task to create a new AddOn for Rails App Generator
10
10
  class AddOn < Thor
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
- # do something here
10
- puts "new #{name}"
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.9
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