rails_app_generator 0.1.24 → 0.1.25

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: 7e236768df446ce46cacc15f00e2f7d01b4199ce4925b6533b1ccf8dba8f340b
4
- data.tar.gz: ee76cae25541e6b59718df39674da78b3cd5417170d794863ea22a6e0866d4f1
3
+ metadata.gz: 8402636b2b1998543616a2cd272805b60b2f2376ccf9d0820d2763b92f204b8d
4
+ data.tar.gz: 3708271f45646622588ab76a546f685e0227c6eaa0c8bf4e8f7f17d98ee2e844
5
5
  SHA512:
6
- metadata.gz: '07950304f0c96819a02b3cce486e798dc961a3cf6efc78463be7ffeae8c9db84a63d588582dd69f7e0f8183d3159fa16d24da8fa69f59f8d56819dad38828f4f'
7
- data.tar.gz: fad5dd76e12615d58073cf586ece0b6eedc5d539fafa6484506afe11616a8e5749bb9ea1bbbeee0b7674dc39f3d2bf27cc5b74eba2115fda93978b22a3e47f14
6
+ metadata.gz: 225821de9ffbc1335ebbac6b5dd916257b3e4f5b26da84d67b79d331df4bf93d9f2b6f6524c81c55c9f8dda9bd57e96db29bb6d220eac0aacdd3574a9070fe38
7
+ data.tar.gz: 8e60366f1eacf5aabf9f34a44cac3d078818e314c9dda1576325942468ec922322f072a4ade15ec569b1a09868ffdec57d4c365b653528b4469c84c4236b807f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [0.1.24](https://github.com/klueless-io/rails_app_generator/compare/v0.1.23...v0.1.24) (2022-08-06)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * remove addon rest-client ([28ff657](https://github.com/klueless-io/rails_app_generator/commit/28ff65783e9d80c436bd291a9f1578e62e99f08c))
7
+
1
8
  ## [0.1.23](https://github.com/klueless-io/rails_app_generator/compare/v0.1.22...v0.1.23) (2022-08-06)
2
9
 
3
10
 
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ # require 'pry'
4
+
5
+ # Makes http fun! Also, makes consuming restful web services dead easy.
6
+ #
7
+ # exe/rag addons/httparty
8
+
9
+ self.local_template_path = File.dirname(__FILE__)
10
+
11
+ gac 'base rails 7 image created'
12
+
13
+ add_controller('home', 'index', 'questions', 'users')
14
+ route("root 'home#index'")
15
+ # route("get 'home/stack_overflow'")
16
+
17
+ force_copy
18
+
19
+ copy_file 'app/controllers/home_controller.rb' , 'app/controllers/home_controller.rb'
20
+ copy_file 'app/views/home/index.html.erb' , 'app/views/home/index.html.erb'
21
+ copy_file 'app/views/home/questions.html.erb' , 'app/views/home/questions.html.erb'
22
+ copy_file 'app/views/home/users.html.erb' , 'app/views/home/users.html.erb'
23
+
24
+ copy_file 'app/views/layouts/_alerts.html.erb' , 'app/views/layouts/_alerts.html.erb'
25
+ copy_file 'app/views/layouts/_navbar.html.erb' , 'app/views/layouts/_navbar.html.erb'
26
+ copy_file 'app/views/layouts/_footer.html.erb' , 'app/views/layouts/_footer.html.erb'
27
+ template 'app/views/layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
28
+
29
+ # Other template command examples
30
+ # css_install('tailwind')
31
+ # rails_command('db:migrate')
32
+ # bundle_add('hotwire-rails')
33
+ # rails_command('hotwire:install')
34
+ # run('bin/importmap pin sortablejs')
35
+ # run('npm install daisyui')
36
+ # create_file 'app/assets/stylesheets/custom-bootstrap-import.scss' , read_template('custom-bootstrap-import.scss')
37
+ # append_to_file 'app/assets/config/manifest.js' , read_template('manifest.js')
38
+ # insert_into_file 'app/views/layouts/application.html.erb', read_template('application.html.erb'),
39
+ # before: %( <%= javascript_include_tag "application", "data-turbo-track": "reload", defer: true %>)
40
+ # gsub_file 'app/views/layouts/application.html.erb', %(container mx-auto mt-28 px-5 flex), 'container mx-auto px-5'
41
+ # template 'home.css', 'app/assets/stylesheets/home.css'
@@ -0,0 +1,37 @@
1
+ class HomeController < ApplicationController
2
+ def index
3
+ end
4
+
5
+ def questions
6
+ @questions = StackExchange.new("stackoverflow", 1).questions
7
+ @questions = clean_data(@questions)
8
+ end
9
+
10
+ def users
11
+ @users = StackExchange.new("stackoverflow", 1).users
12
+ @users = clean_data(@users)
13
+ end
14
+
15
+ def clean_data(data)
16
+ encode_utf8 = data.to_json.encode('UTF-8', invalid: :replace, undef: :replace)
17
+ JSON.parse(encode_utf8)
18
+ end
19
+ end
20
+
21
+ class StackExchange
22
+ include HTTParty
23
+ base_uri 'api.stackexchange.com'
24
+
25
+ def initialize(service, page)
26
+ @options = { query: { site: service, page: page } }
27
+ end
28
+
29
+ def questions
30
+ self.class.get("/2.2/questions", @options)
31
+ end
32
+
33
+ def users
34
+ self.class.get("/2.2/users", @options)
35
+ end
36
+ end
37
+
@@ -0,0 +1,11 @@
1
+ <style>
2
+ .alert { color: red; }
3
+ .notice { color: green; }
4
+ </style>
5
+
6
+ <% flash.each do |type, msg| %><div class="<%= type %>"><%= msg %></div><% end %>
7
+ <% if flash.any? %><hr /><% end %>
8
+
9
+ <h1>Httparty</h1>
10
+
11
+ <h2>Makes http fun! Also, makes consuming restful web services dead easy.</h2>
@@ -0,0 +1,7 @@
1
+ <h1>Questions - HTTParty</h1>
2
+
3
+ <p>From <code>api.stackexchange.com</code></p>
4
+
5
+ <pre style="position: relative;">
6
+ <%= JSON.pretty_generate(@questions) %>
7
+ </pre>
@@ -0,0 +1,7 @@
1
+ <h1>Users - HTTParty</h1>
2
+
3
+ <p>From <code>api.stackexchange.com</code></p>
4
+
5
+ <pre style="position: relative;">
6
+ <%= JSON.pretty_generate(@users) %>
7
+ </pre>
@@ -0,0 +1,2 @@
1
+ <% flash.each do |type, msg| %><div class="<%= type %>"><%= msg %></div><% end %>
2
+ <% if flash.any? %><hr /><% end %>
@@ -0,0 +1,3 @@
1
+ <footer>
2
+ <hr />
3
+ </footer>
@@ -0,0 +1,6 @@
1
+ <header>
2
+ <%= link_to 'Home', root_path %> |
3
+ <%= link_to 'Questions', home_questions_path %> |
4
+ <%= link_to 'Users', home_users_path %> |
5
+ <hr />
6
+ </header>
@@ -0,0 +1,28 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= camelized %></title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <%%= csrf_meta_tags %>
7
+ <%%= csp_meta_tag %>
8
+
9
+ <%- if options[:skip_hotwire] || options[:skip_javascript] -%>
10
+ <%%= stylesheet_link_tag "application" %>
11
+ <%- else -%>
12
+ <%%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
13
+ <%- end -%>
14
+ <style>
15
+ .alert { color: red; }
16
+ .notice { color: green; }
17
+ </style>
18
+ </head>
19
+
20
+ <body>
21
+ <%%= render 'layouts/navbar' %>
22
+ <main>
23
+ <%%= render 'layouts/alerts' %>
24
+ <%%= yield %>
25
+ </main>
26
+ <%%= render 'layouts/footer' %>
27
+ </body>
28
+ </html>
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RailsAppGenerator
4
+ # Custom add-ons for RailsAppGenerator
5
+ module AddOns
6
+ # Add MiniMagick to rails application
7
+ class MiniMagick < AddOn
8
+ required_gem gem.version('mini_magick', '4.11.0', 'Manipulate images with minimal use of memory via ImageMagick / GraphicsMagick')
9
+
10
+ def apply
11
+ say 'Setting up MiniMagick'
12
+ # template('mini_magick_template.rb', 'target/mini_magick.rb', force: true)
13
+ # template('app/javascript/stylesheets/components.scss')
14
+ # create_file('target/mini_magick.rb', 'put your content here')
15
+ # directory 'app/template', 'app/target', force: true
16
+ # empty_directory 'app/target'
17
+ # inject_into_file('app/application.js', "some content")
18
+ # rails_command('tailwindcss:install')
19
+ end
20
+
21
+ def before_bundle
22
+ say 'Setting up MiniMagick - before bundle install'
23
+ end
24
+
25
+ def after_bundle
26
+ say 'Setting up MiniMagick - after bundle install'
27
+ end
28
+ end
29
+ end
30
+ end
@@ -148,12 +148,13 @@ module RailsAppGenerator
148
148
  class_option :add_acts_as_list , type: :boolean, default: false
149
149
  class_option :add_browser , type: :boolean, default: false
150
150
  class_option :add_chartkick , type: :boolean, default: false
151
- class_option :add_groupdate , type: :boolean, default: false
152
151
  class_option :add_faker , type: :boolean, default: false
152
+ class_option :add_groupdate , type: :boolean, default: false
153
153
  class_option :add_hexapdf , type: :boolean, default: false
154
+ class_option :add_httparty , type: :boolean, default: false
154
155
  class_option :add_honeybadger , type: :boolean, default: false
156
+ class_option :add_mini_magick , type: :boolean, default: false
155
157
  class_option :add_rails_html_sanitizer , type: :boolean, default: false
156
- class_option :add_httparty , type: :boolean, default: false
157
158
  class_option :add_twilio_ruby , type: :boolean, default: false
158
159
 
159
160
  class << self
@@ -309,6 +310,7 @@ module RailsAppGenerator
309
310
  add_if(:high_voltage)
310
311
  add_if(:honeybadger)
311
312
  add_if(:lograge)
313
+ add_if(:mini_magick)
312
314
  add_if(:pundit)
313
315
  add_if(:rails_app_generator)
314
316
  add_if(:services)
@@ -67,6 +67,7 @@ module RailsAppGenerator
67
67
  register_option :add_hexapdf , type: :boolean, default: false
68
68
  register_option :add_httparty , type: :boolean, default: false
69
69
  register_option :add_honeybadger , type: :boolean, default: false
70
+ register_option :add_mini_magick , type: :boolean, default: false
70
71
  register_option :add_rails_html_sanitizer , type: :boolean, default: false
71
72
  register_option :add_twilio_ruby , type: :boolean, default: false
72
73
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsAppGenerator
4
- VERSION = '0.1.24'
4
+ VERSION = '0.1.25'
5
5
  end
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "rails_app_generator",
3
- "version": "0.1.24",
3
+ "version": "0.1.25",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "rails_app_generator",
9
- "version": "0.1.24",
9
+ "version": "0.1.25",
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.24",
3
+ "version": "0.1.25",
4
4
  "description": "Create new Rails Application with custom opinions",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
@@ -0,0 +1,12 @@
1
+ {
2
+ "args": {
3
+ "app_path": "httparty",
4
+ "destination_root": "/Users/davidcruwys/dev/kgems/rails_app_generator/a/addons"
5
+ },
6
+ "opts": {
7
+ "skip_git": true,
8
+ "skip_test": true,
9
+ "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/httparty/_.rb",
10
+ "add_httparty": true
11
+ }
12
+ }
@@ -1,5 +1,6 @@
1
1
  <header>
2
2
  <%= link_to 'Home', root_path %> |
3
+ <%# link_to 'Some Action', home_some_action_path %> |
3
4
  <%# link_to 'Products', products_path %> |
4
5
  <%# link_to 'Posts', posts_path %> |
5
6
  <%# link_to 'People', people_path %>
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.24
4
+ version: 0.1.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys
@@ -209,6 +209,15 @@ files:
209
209
  - after_templates/addons/honeybadger/app/views/home/index.html.erb
210
210
  - after_templates/addons/honeybadger/public/404.html
211
211
  - after_templates/addons/honeybadger/public/500.html
212
+ - after_templates/addons/httparty/_.rb
213
+ - after_templates/addons/httparty/app/controllers/home_controller.rb
214
+ - after_templates/addons/httparty/app/views/home/index.html.erb
215
+ - after_templates/addons/httparty/app/views/home/questions.html.erb
216
+ - after_templates/addons/httparty/app/views/home/users.html.erb
217
+ - after_templates/addons/httparty/app/views/layouts/_alerts.html.erb
218
+ - after_templates/addons/httparty/app/views/layouts/_footer.html.erb
219
+ - after_templates/addons/httparty/app/views/layouts/_navbar.html.erb
220
+ - after_templates/addons/httparty/app/views/layouts/application.html.erb
212
221
  - after_templates/addons/rails_html_sanitizer/_.rb
213
222
  - after_templates/addons/rails_html_sanitizer/home/index.html.erb
214
223
  - after_templates/addons/twilio_ruby/_.rb
@@ -368,6 +377,7 @@ files:
368
377
  - lib/rails_app_generator/addons/inline_svg.rb
369
378
  - lib/rails_app_generator/addons/irbrc.rb
370
379
  - lib/rails_app_generator/addons/lograge.rb
380
+ - lib/rails_app_generator/addons/mini_magick.rb
371
381
  - lib/rails_app_generator/addons/pundit.rb
372
382
  - lib/rails_app_generator/addons/rails_html_sanitizer.rb
373
383
  - lib/rails_app_generator/addons/rspec.rb
@@ -420,6 +430,7 @@ files:
420
430
  - profiles/addons/faker.json
421
431
  - profiles/addons/hexapdf.json
422
432
  - profiles/addons/honeybadger.json
433
+ - profiles/addons/httparty.json
423
434
  - profiles/addons/rails-html-sanitizer.json
424
435
  - profiles/addons/twilio_ruby.json
425
436
  - profiles/rag-add-some-pages.json