rails_app_generator 0.1.22 → 0.1.25
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/after_templates/addons/httparty/_.rb +41 -0
- data/after_templates/addons/httparty/app/controllers/home_controller.rb +37 -0
- data/after_templates/addons/httparty/app/views/home/index.html.erb +11 -0
- data/after_templates/addons/httparty/app/views/home/questions.html.erb +7 -0
- data/after_templates/addons/httparty/app/views/home/users.html.erb +7 -0
- data/after_templates/addons/httparty/app/views/layouts/_alerts.html.erb +2 -0
- data/after_templates/addons/httparty/app/views/layouts/_footer.html.erb +3 -0
- data/after_templates/addons/httparty/app/views/layouts/_navbar.html.erb +6 -0
- data/after_templates/addons/httparty/app/views/layouts/application.html.erb +28 -0
- data/lib/rails_app_generator/addons/httparty.rb +13 -0
- data/lib/rails_app_generator/addons/mini_magick.rb +30 -0
- data/lib/rails_app_generator/app_generator.rb +5 -3
- data/lib/rails_app_generator/options/rails_options.rb +2 -1
- data/lib/rails_app_generator/version.rb +1 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- data/profiles/addons/httparty.json +12 -0
- data/templates/thor_task/profile/app/views/layouts/_navbar.html.erb +1 -0
- metadata +13 -2
- data/lib/rails_app_generator/addons/rest_client.rb +0 -13
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8402636b2b1998543616a2cd272805b60b2f2376ccf9d0820d2763b92f204b8d
|
|
4
|
+
data.tar.gz: 3708271f45646622588ab76a546f685e0227c6eaa0c8bf4e8f7f17d98ee2e844
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 225821de9ffbc1335ebbac6b5dd916257b3e4f5b26da84d67b79d331df4bf93d9f2b6f6524c81c55c9f8dda9bd57e96db29bb6d220eac0aacdd3574a9070fe38
|
|
7
|
+
data.tar.gz: 8e60366f1eacf5aabf9f34a44cac3d078818e314c9dda1576325942468ec922322f072a4ade15ec569b1a09868ffdec57d4c365b653528b4469c84c4236b807f
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
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
|
+
|
|
8
|
+
## [0.1.23](https://github.com/klueless-io/rails_app_generator/compare/v0.1.22...v0.1.23) (2022-08-06)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* remove addon rest-client ([d480b6a](https://github.com/klueless-io/rails_app_generator/commit/d480b6a2963338957a58db7410641ab23d0ef297))
|
|
14
|
+
|
|
15
|
+
## [0.1.22](https://github.com/klueless-io/rails_app_generator/compare/v0.1.21...v0.1.22) (2022-08-06)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* addon hexapdf ([0b99dde](https://github.com/klueless-io/rails_app_generator/commit/0b99dde1e2609c12c1235b4a9c73e683785c3eb6))
|
|
21
|
+
* addon rest-client ([ed3a426](https://github.com/klueless-io/rails_app_generator/commit/ed3a42669ae9707fa2713f767fcda990346bed5e))
|
|
22
|
+
|
|
1
23
|
## [0.1.21](https://github.com/klueless-io/rails_app_generator/compare/v0.1.20...v0.1.21) (2022-08-06)
|
|
2
24
|
|
|
3
25
|
|
|
@@ -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,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,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RailsAppGenerator
|
|
4
|
+
# Custom add-ons for RailsAppGenerator
|
|
5
|
+
module AddOns
|
|
6
|
+
# Add Httparty to rails application
|
|
7
|
+
class Httparty < AddOn
|
|
8
|
+
required_gem gem.version('httparty', '0.20.0', 'Makes http fun! Also, makes consuming restful web services dead easy.')
|
|
9
|
+
|
|
10
|
+
def apply; end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -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_rest_client , type: :boolean, default: false
|
|
157
158
|
class_option :add_twilio_ruby , type: :boolean, default: false
|
|
158
159
|
|
|
159
160
|
class << self
|
|
@@ -305,12 +306,13 @@ module RailsAppGenerator
|
|
|
305
306
|
add_if(:faker)
|
|
306
307
|
add_if(:generators)
|
|
307
308
|
add_if(:hexapdf)
|
|
309
|
+
add_if(:httparty)
|
|
308
310
|
add_if(:high_voltage)
|
|
309
311
|
add_if(:honeybadger)
|
|
310
312
|
add_if(:lograge)
|
|
313
|
+
add_if(:mini_magick)
|
|
311
314
|
add_if(:pundit)
|
|
312
315
|
add_if(:rails_app_generator)
|
|
313
|
-
add_if(:rest_client)
|
|
314
316
|
add_if(:services)
|
|
315
317
|
add_if(:shoulda)
|
|
316
318
|
add_if(:sidekiq)
|
|
@@ -65,9 +65,10 @@ module RailsAppGenerator
|
|
|
65
65
|
register_option :add_faker , type: :boolean, default: false
|
|
66
66
|
register_option :add_groupdate , type: :boolean, default: false
|
|
67
67
|
register_option :add_hexapdf , type: :boolean, default: false
|
|
68
|
+
register_option :add_httparty , type: :boolean, default: false
|
|
68
69
|
register_option :add_honeybadger , type: :boolean, default: false
|
|
70
|
+
register_option :add_mini_magick , type: :boolean, default: false
|
|
69
71
|
register_option :add_rails_html_sanitizer , type: :boolean, default: false
|
|
70
|
-
register_option :add_rest_client , type: :boolean, default: false
|
|
71
72
|
register_option :add_twilio_ruby , type: :boolean, default: false
|
|
72
73
|
|
|
73
74
|
# if options[:minimal]
|
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.25",
|
|
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.25",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"daisyui": "^2.20.0"
|
|
12
12
|
},
|
data/package.json
CHANGED
|
@@ -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
|
+
}
|
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.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
|
|
@@ -364,12 +373,13 @@ files:
|
|
|
364
373
|
- lib/rails_app_generator/addons/hexapdf.rb
|
|
365
374
|
- lib/rails_app_generator/addons/high_voltage.rb
|
|
366
375
|
- lib/rails_app_generator/addons/honeybadger.rb
|
|
376
|
+
- lib/rails_app_generator/addons/httparty.rb
|
|
367
377
|
- lib/rails_app_generator/addons/inline_svg.rb
|
|
368
378
|
- lib/rails_app_generator/addons/irbrc.rb
|
|
369
379
|
- lib/rails_app_generator/addons/lograge.rb
|
|
380
|
+
- lib/rails_app_generator/addons/mini_magick.rb
|
|
370
381
|
- lib/rails_app_generator/addons/pundit.rb
|
|
371
382
|
- lib/rails_app_generator/addons/rails_html_sanitizer.rb
|
|
372
|
-
- lib/rails_app_generator/addons/rest_client.rb
|
|
373
383
|
- lib/rails_app_generator/addons/rspec.rb
|
|
374
384
|
- lib/rails_app_generator/addons/rubocop.rb
|
|
375
385
|
- lib/rails_app_generator/addons/scaffold.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
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module RailsAppGenerator
|
|
4
|
-
# Custom add-ons for RailsAppGenerator
|
|
5
|
-
module AddOns
|
|
6
|
-
# Add RestClient to rails application
|
|
7
|
-
class RestClient < AddOn
|
|
8
|
-
required_gem gem.version('rest-client', '2.1.0', 'A simple HTTP and REST client for Ruby, inspired by the Sinatra microframework style of specifying actions: get, put, post, delete.')
|
|
9
|
-
|
|
10
|
-
def apply; end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|