inline_forms 7.10.2 → 7.11.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 +11 -0
- data/Rakefile +18 -1
- data/docs/prompt/test-the-example-app.md +3 -3
- data/inline_forms.gemspec +6 -21
- data/lib/inline_forms/gem_files.rb +39 -0
- data/lib/inline_forms/version.rb +1 -1
- metadata +10 -76
- data/bin/inline_forms +0 -141
- data/bin/inline_forms_app_template.rb +0 -22
- data/bin/inline_forms_installer_core.rb +0 -886
- data/lib/generators/templates/capistrano/Capfile +0 -39
- data/lib/generators/templates/capistrano/deploy.rb +0 -59
- data/lib/generators/templates/capistrano/production.rb +0 -7
- data/lib/generators/templates/unicorn/production.rb +0 -39
- data/lib/installer_templates/dartsass/devise_main.scss +0 -2
- data/lib/installer_templates/dartsass/inline_forms_dartsass_builds.rb +0 -14
- data/lib/installer_templates/dartsass/inline_forms_main.scss +0 -2
- data/lib/installer_templates/example_app_tests/test/example_app/example_integration_test_case.rb +0 -36
- data/lib/installer_templates/example_app_tests/test/integration/example_app_apartment_field_turbo_test.rb +0 -73
- data/lib/installer_templates/example_app_tests/test/integration/example_app_apartment_name_list_test.rb +0 -73
- data/lib/installer_templates/example_app_tests/test/integration/example_app_apartment_name_required_test.rb +0 -21
- data/lib/installer_templates/example_app_tests/test/integration/example_app_apartment_opening_date_test.rb +0 -49
- data/lib/installer_templates/example_app_tests/test/integration/example_app_apartment_photos_pagination_test.rb +0 -440
- data/lib/installer_templates/example_app_tests/test/integration/example_app_apartment_row_turbo_test.rb +0 -103
- data/lib/installer_templates/example_app_tests/test/integration/example_app_apartment_top_level_new_test.rb +0 -70
- data/lib/installer_templates/example_app_tests/test/integration/example_app_apartment_top_level_pagination_test.rb +0 -40
- data/lib/installer_templates/example_app_tests/test/integration/example_app_apartment_versions_turbo_test.rb +0 -120
- data/lib/installer_templates/example_app_tests/test/integration/example_app_guest_access_test.rb +0 -21
- data/lib/installer_templates/example_app_tests/test/integration/example_app_photo_revert_test.rb +0 -94
- data/lib/installer_templates/example_app_tests/test/integration/example_app_photos_test.rb +0 -22
- data/lib/installer_templates/example_app_tests/test/integration/example_app_routing_test.rb +0 -15
- data/lib/installer_templates/example_app_tests/test/integration/example_app_turbo_layout_test.rb +0 -25
- data/lib/installer_templates/example_app_tests/test/integration/example_app_validation_hints_test.rb +0 -40
- data/lib/installer_templates/example_app_tests/test/models/example_app_apartment_name_validation_test.rb +0 -16
- data/lib/installer_templates/example_app_tests/test/models/example_app_apartment_photo_test.rb +0 -26
- data/lib/installer_templates/example_app_tests/test/models/example_app_paper_trail_changeset_test.rb +0 -78
- data/lib/installer_templates/example_app_tests/test/models/example_app_plain_text_rich_text_edge_cases_test.rb +0 -46
- data/lib/installer_templates/example_app_views/apartments/name_list.html.erb +0 -26
- data/lib/installer_templates/example_app_views/inline_forms/_header.html.erb +0 -45
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 62c8598afcb5052d9869391009bbf364b8711ed1a9c2f15c3c3ff8d8b6c25e17
|
|
4
|
+
data.tar.gz: 2eced24a18c335754a0199525a49a724af9bc000c0003f0230c7558af096139a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6436dd214a36bf76c78a38d69aed44d993f50f4c66610baed8372d2e43b9f0ec7700e6203c26a4530bc9c898fb9e4f0879eb5584a9f3c58ca24f9c654155553d
|
|
7
|
+
data.tar.gz: be9f7b3f9df5f3ff938a2ed6d65cab6f23668d067d01e30c10afd780b2dd8b3f9a1e1b1ed87695f431b2138fb82993989c9746d7f11d9a8c26e36364606c50b8
|
data/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,17 @@ All notable changes to this project are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [7.11.0] - 2026-05-19
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- **Split installer into `inline_forms_installer` gem.** The Rails engine (`inline_forms`) no longer ships the `inline_forms create` CLI, Thor/RVM dependencies, or `lib/installer_templates/`. Install both gems (or `gem install inline_forms_installer`, which registers the `inline_forms` executable). Capistrano/Unicorn deploy templates moved from `lib/generators/templates/` to `lib/installer_templates/`.
|
|
12
|
+
- **Generated app Gemfile:** `gem 'inline_forms', '~> <version>'` instead of `path:` (set `INLINE_FORMS_GEMFILE_PATH` for maintainer local-path overrides).
|
|
13
|
+
|
|
14
|
+
### Verified
|
|
15
|
+
|
|
16
|
+
- **`gem build inline_forms.gemspec && gem build inline_forms_installer.gemspec`** → install both → **`inline_forms create MyApp -d sqlite --example`** → **`bundle exec rails test`** — **77 runs, 427 assertions, 0 failures**.
|
|
17
|
+
|
|
7
18
|
## [7.10.2] - 2026-05-18
|
|
8
19
|
|
|
9
20
|
### Added
|
data/Rakefile
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
require "bundler"
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
Bundler::GemHelper.install_tasks name: "inline_forms"
|
|
4
|
+
|
|
5
|
+
namespace :installer do
|
|
6
|
+
Bundler::GemHelper.install_tasks name: "inline_forms_installer"
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
desc "Build both inline_forms and inline_forms_installer into pkg/"
|
|
10
|
+
task "build:all" => ["build", "installer:build"]
|
|
11
|
+
|
|
12
|
+
desc "Release both gems: tag once, push inline_forms and inline_forms_installer to RubyGems"
|
|
13
|
+
task "release:all" => [
|
|
14
|
+
"build:all",
|
|
15
|
+
"release:guard_clean",
|
|
16
|
+
"release:source_control_push",
|
|
17
|
+
"release:rubygem_push",
|
|
18
|
+
"installer:release:rubygem_push"
|
|
19
|
+
]
|
|
3
20
|
|
|
4
21
|
require "rake/testtask"
|
|
5
22
|
|
|
@@ -9,13 +9,13 @@ Steps:
|
|
|
9
9
|
1) In /home/code/inline_forms:
|
|
10
10
|
- Ensure latest code is used.
|
|
11
11
|
- Run: rvm use .
|
|
12
|
-
- Build
|
|
13
|
-
- Confirm the built file
|
|
12
|
+
- Build gems: gem build inline_forms.gemspec && gem build inline_forms_installer.gemspec
|
|
13
|
+
- Confirm the built file names/versions (inline_forms-<version>.gem, inline_forms_installer-<version>.gem).
|
|
14
14
|
|
|
15
15
|
2) In /home/code/testInline:
|
|
16
16
|
- Remove old app if present: /home/code/testInline/MyApp
|
|
17
17
|
- Run: rvm use .
|
|
18
|
-
- Install the freshly built
|
|
18
|
+
- Install the freshly built gems from /home/code/inline_forms/inline_forms-<version>.gem and inline_forms_installer-<version>.gem
|
|
19
19
|
|
|
20
20
|
3) Still in /home/code/testInline:
|
|
21
21
|
- Generate fresh example app:
|
data/inline_forms.gemspec
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
2
|
$:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
require "inline_forms/version"
|
|
4
|
+
require "inline_forms/gem_files"
|
|
4
5
|
|
|
5
6
|
Gem::Specification.new do |s|
|
|
6
7
|
s.name = "inline_forms"
|
|
@@ -14,29 +15,13 @@ Gem::Specification.new do |s|
|
|
|
14
15
|
s.licenses = ["MIT"]
|
|
15
16
|
s.required_ruby_version = ">= 3.2.0"
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
20
|
-
else
|
|
21
|
-
s.files = Dir.chdir(__dir__) do
|
|
22
|
-
Dir.glob("**/*", File::FNM_DOTMATCH).reject do |f|
|
|
23
|
-
f.start_with?(".git/", ".bundle/", "pkg/") ||
|
|
24
|
-
f == ".git" || f == ".bundle"
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
s.test_files = Dir.chdir(__dir__) do
|
|
28
|
-
Dir.glob("{test,spec,features}/**/*")
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
s.executables = ["inline_forms"]
|
|
18
|
+
s.files = InlineFormsGemFiles.gem_files(include_installer: false)
|
|
19
|
+
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
|
32
20
|
s.require_paths = ["lib"]
|
|
33
21
|
|
|
34
|
-
s.add_dependency(
|
|
35
|
-
s.add_dependency(
|
|
36
|
-
s.add_dependency(
|
|
37
|
-
s.add_dependency('rails', '>= 7.1.5', '< 7.2')
|
|
38
|
-
s.add_dependency('rails-i18n', '>= 7.0', '< 8.0')
|
|
22
|
+
s.add_dependency("validation_hints", ">= 6.3", "< 7.0")
|
|
23
|
+
s.add_dependency("rails", ">= 7.1.5", "< 7.2")
|
|
24
|
+
s.add_dependency("rails-i18n", ">= 7.0", "< 8.0")
|
|
39
25
|
|
|
40
26
|
s.add_development_dependency("minitest", "~> 5.0")
|
|
41
|
-
|
|
42
27
|
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
module InlineFormsGemFiles
|
|
3
|
+
INSTALLER_FILE_PREFIXES = %w[
|
|
4
|
+
bin/inline_forms
|
|
5
|
+
lib/inline_forms_installer.rb
|
|
6
|
+
lib/inline_forms_installer/
|
|
7
|
+
lib/installer_templates/
|
|
8
|
+
inline_forms_installer.gemspec
|
|
9
|
+
].freeze
|
|
10
|
+
|
|
11
|
+
module_function
|
|
12
|
+
|
|
13
|
+
REPO_ROOT = File.expand_path("../..", __dir__)
|
|
14
|
+
|
|
15
|
+
def gem_files(include_installer:)
|
|
16
|
+
files =
|
|
17
|
+
if File.directory?(File.join(REPO_ROOT, ".git"))
|
|
18
|
+
Dir.chdir(REPO_ROOT) do
|
|
19
|
+
tracked = `git ls-files`.split("\n")
|
|
20
|
+
untracked = `git ls-files --others --exclude-standard`.split("\n")
|
|
21
|
+
(tracked + untracked).uniq
|
|
22
|
+
end
|
|
23
|
+
else
|
|
24
|
+
Dir.chdir(REPO_ROOT) do
|
|
25
|
+
Dir.glob("**/*", File::FNM_DOTMATCH).reject do |f|
|
|
26
|
+
f.start_with?(".git/", ".bundle/", "pkg/") ||
|
|
27
|
+
f == ".git" || f == ".bundle"
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
files.select! { |f| File.file?(File.join(REPO_ROOT, f)) }
|
|
33
|
+
|
|
34
|
+
files.reject do |f|
|
|
35
|
+
installer_file = INSTALLER_FILE_PREFIXES.any? { |prefix| f == prefix || f.start_with?(prefix) }
|
|
36
|
+
include_installer ? !installer_file : installer_file
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
data/lib/inline_forms/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: inline_forms
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 7.
|
|
4
|
+
version: 7.11.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ace Suares
|
|
@@ -11,46 +11,6 @@ bindir: bin
|
|
|
11
11
|
cert_chain: []
|
|
12
12
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
|
-
- !ruby/object:Gem::Dependency
|
|
15
|
-
name: rvm
|
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
requirements:
|
|
18
|
-
- - ">="
|
|
19
|
-
- !ruby/object:Gem::Version
|
|
20
|
-
version: '1.11'
|
|
21
|
-
- - "<"
|
|
22
|
-
- !ruby/object:Gem::Version
|
|
23
|
-
version: '2.0'
|
|
24
|
-
type: :runtime
|
|
25
|
-
prerelease: false
|
|
26
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
27
|
-
requirements:
|
|
28
|
-
- - ">="
|
|
29
|
-
- !ruby/object:Gem::Version
|
|
30
|
-
version: '1.11'
|
|
31
|
-
- - "<"
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: '2.0'
|
|
34
|
-
- !ruby/object:Gem::Dependency
|
|
35
|
-
name: thor
|
|
36
|
-
requirement: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - ">="
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: '1.0'
|
|
41
|
-
- - "<"
|
|
42
|
-
- !ruby/object:Gem::Version
|
|
43
|
-
version: '2.0'
|
|
44
|
-
type: :runtime
|
|
45
|
-
prerelease: false
|
|
46
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
47
|
-
requirements:
|
|
48
|
-
- - ">="
|
|
49
|
-
- !ruby/object:Gem::Version
|
|
50
|
-
version: '1.0'
|
|
51
|
-
- - "<"
|
|
52
|
-
- !ruby/object:Gem::Version
|
|
53
|
-
version: '2.0'
|
|
54
14
|
- !ruby/object:Gem::Dependency
|
|
55
15
|
name: validation_hints
|
|
56
16
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -130,8 +90,7 @@ description: Inline Forms aims to ease the setup of forms that provide inline ed
|
|
|
130
90
|
broken, and we will post a notice when the gem is good again.
|
|
131
91
|
email:
|
|
132
92
|
- ace@suares.com
|
|
133
|
-
executables:
|
|
134
|
-
- inline_forms
|
|
93
|
+
executables: []
|
|
135
94
|
extensions: []
|
|
136
95
|
extra_rdoc_files: []
|
|
137
96
|
files:
|
|
@@ -571,9 +530,6 @@ files:
|
|
|
571
530
|
- archived/form_elements/tree/app/helpers/form_elements/move.rb
|
|
572
531
|
- archived/form_elements/tree/app/views/inline_forms/_show_tree.html.erb
|
|
573
532
|
- archived/form_elements/tree/app/views/inline_forms/_tree.html.erb
|
|
574
|
-
- bin/inline_forms
|
|
575
|
-
- bin/inline_forms_app_template.rb
|
|
576
|
-
- bin/inline_forms_installer_core.rb
|
|
577
533
|
- docs/jquery-widgets.md
|
|
578
534
|
- docs/prompt/.gitignore
|
|
579
535
|
- docs/prompt/test-the-example-app.md
|
|
@@ -586,43 +542,15 @@ files:
|
|
|
586
542
|
- lib/generators/inline_forms_generator.rb
|
|
587
543
|
- lib/generators/templates/_inline_forms_tabs.html.erb
|
|
588
544
|
- lib/generators/templates/application_record.rb
|
|
589
|
-
- lib/generators/templates/capistrano/Capfile
|
|
590
|
-
- lib/generators/templates/capistrano/deploy.rb
|
|
591
|
-
- lib/generators/templates/capistrano/production.rb
|
|
592
545
|
- lib/generators/templates/controller.erb
|
|
593
546
|
- lib/generators/templates/migration.erb
|
|
594
547
|
- lib/generators/templates/model.erb
|
|
595
548
|
- lib/generators/templates/test.erb
|
|
596
|
-
- lib/generators/templates/unicorn/production.rb
|
|
597
549
|
- lib/inline_forms.rb
|
|
598
550
|
- lib/inline_forms/archived_form_elements.rb
|
|
599
551
|
- lib/inline_forms/form_element_from_callee.rb
|
|
552
|
+
- lib/inline_forms/gem_files.rb
|
|
600
553
|
- lib/inline_forms/version.rb
|
|
601
|
-
- lib/installer_templates/dartsass/devise_main.scss
|
|
602
|
-
- lib/installer_templates/dartsass/inline_forms_dartsass_builds.rb
|
|
603
|
-
- lib/installer_templates/dartsass/inline_forms_main.scss
|
|
604
|
-
- lib/installer_templates/example_app_tests/test/example_app/example_integration_test_case.rb
|
|
605
|
-
- lib/installer_templates/example_app_tests/test/integration/example_app_apartment_field_turbo_test.rb
|
|
606
|
-
- lib/installer_templates/example_app_tests/test/integration/example_app_apartment_name_list_test.rb
|
|
607
|
-
- lib/installer_templates/example_app_tests/test/integration/example_app_apartment_name_required_test.rb
|
|
608
|
-
- lib/installer_templates/example_app_tests/test/integration/example_app_apartment_opening_date_test.rb
|
|
609
|
-
- lib/installer_templates/example_app_tests/test/integration/example_app_apartment_photos_pagination_test.rb
|
|
610
|
-
- lib/installer_templates/example_app_tests/test/integration/example_app_apartment_row_turbo_test.rb
|
|
611
|
-
- lib/installer_templates/example_app_tests/test/integration/example_app_apartment_top_level_new_test.rb
|
|
612
|
-
- lib/installer_templates/example_app_tests/test/integration/example_app_apartment_top_level_pagination_test.rb
|
|
613
|
-
- lib/installer_templates/example_app_tests/test/integration/example_app_apartment_versions_turbo_test.rb
|
|
614
|
-
- lib/installer_templates/example_app_tests/test/integration/example_app_guest_access_test.rb
|
|
615
|
-
- lib/installer_templates/example_app_tests/test/integration/example_app_photo_revert_test.rb
|
|
616
|
-
- lib/installer_templates/example_app_tests/test/integration/example_app_photos_test.rb
|
|
617
|
-
- lib/installer_templates/example_app_tests/test/integration/example_app_routing_test.rb
|
|
618
|
-
- lib/installer_templates/example_app_tests/test/integration/example_app_turbo_layout_test.rb
|
|
619
|
-
- lib/installer_templates/example_app_tests/test/integration/example_app_validation_hints_test.rb
|
|
620
|
-
- lib/installer_templates/example_app_tests/test/models/example_app_apartment_name_validation_test.rb
|
|
621
|
-
- lib/installer_templates/example_app_tests/test/models/example_app_apartment_photo_test.rb
|
|
622
|
-
- lib/installer_templates/example_app_tests/test/models/example_app_paper_trail_changeset_test.rb
|
|
623
|
-
- lib/installer_templates/example_app_tests/test/models/example_app_plain_text_rich_text_edge_cases_test.rb
|
|
624
|
-
- lib/installer_templates/example_app_views/apartments/name_list.html.erb
|
|
625
|
-
- lib/installer_templates/example_app_views/inline_forms/_header.html.erb
|
|
626
554
|
- lib/locales/inline_forms.en.yml
|
|
627
555
|
- lib/locales/inline_forms.nl.yml
|
|
628
556
|
- lib/otherstuff/20120310065554_inline_forms_create_view_for_translations.rb
|
|
@@ -661,4 +589,10 @@ requirements: []
|
|
|
661
589
|
rubygems_version: 3.7.2
|
|
662
590
|
specification_version: 4
|
|
663
591
|
summary: Inline editing of forms. Versions after 6.2.14 are currently broken.
|
|
664
|
-
test_files:
|
|
592
|
+
test_files:
|
|
593
|
+
- test/archived_form_elements_test.rb
|
|
594
|
+
- test/form_element_from_callee_test.rb
|
|
595
|
+
- test/inline_edit_polymorphic_path_test.rb
|
|
596
|
+
- test/inline_forms_generator_test.rb
|
|
597
|
+
- test/plain_text_configuration_test.rb
|
|
598
|
+
- test/test_helper.rb
|
data/bin/inline_forms
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
module InlineForms
|
|
3
|
-
require File.join(File.dirname(__FILE__), "../lib/inline_forms/version.rb")
|
|
4
|
-
require 'securerandom'
|
|
5
|
-
|
|
6
|
-
# what is this?
|
|
7
|
-
Signal.trap("INT") { puts; exit }
|
|
8
|
-
|
|
9
|
-
require 'thor'
|
|
10
|
-
class Creator < Thor
|
|
11
|
-
include Thor::Actions
|
|
12
|
-
|
|
13
|
-
def self.source_root
|
|
14
|
-
File.dirname(__FILE__)+"/.."
|
|
15
|
-
end
|
|
16
|
-
desc "create APP", "create an application with inline_forms v#{VERSION}"
|
|
17
|
-
DATABASE_OPTIONS = %w(sqlite mysql)
|
|
18
|
-
method_option :database, :aliases => "-d", :banner => DATABASE_OPTIONS.join('|'), :desc => 'specify development database'
|
|
19
|
-
method_option :example, :type => :boolean, :desc => 'install the example app. uses sqlite as development database'
|
|
20
|
-
method_option :email, :aliases => "-e", :default => "admin@example.com", :desc => 'specify admin email'
|
|
21
|
-
method_option :password, :aliases => "-p", :default => "admin999", :desc => 'specify admin password'
|
|
22
|
-
method_option :runtest, :aliases => "\-\-run-test", :default => false, :desc => 'run tests'
|
|
23
|
-
method_option :skiprvm, :aliases => "\-\-no-rvm", :type => :boolean, :default => false, :desc => 'install inline_forms without RVM'
|
|
24
|
-
|
|
25
|
-
def create(app_name)
|
|
26
|
-
def self.skiprvm
|
|
27
|
-
options[:skiprvm]
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def self.runtest
|
|
31
|
-
options[:runtest]
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def self.install_example?
|
|
35
|
-
options[:example]
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def self.database
|
|
39
|
-
@database ||= options[:database]
|
|
40
|
-
return @database if DATABASE_OPTIONS.include?(@database)
|
|
41
|
-
say "No Database specified please choose one database #{DATABASE_OPTIONS.join(' | ')}", :red
|
|
42
|
-
# if the database is not set ask user which database to use
|
|
43
|
-
while ! DATABASE_OPTIONS.include?(@database)
|
|
44
|
-
@database = ask "Database: "
|
|
45
|
-
return @database if DATABASE_OPTIONS.include?(@database)
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def self.using_sqlite?
|
|
50
|
-
database == 'sqlite'
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
def self.email
|
|
54
|
-
options[:email]
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
def self.password
|
|
58
|
-
options[:password]
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
if install_example? && !using_sqlite?
|
|
62
|
-
say "--example can only be used with an sqlite development database", :red
|
|
63
|
-
exit 1
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
say "Creating #{app_name} with inline_forms v#{VERSION} and development database #{database}...", :green
|
|
67
|
-
|
|
68
|
-
regex = /\A[0-9a-zA-Z][0-9a-zA-Z_-]+[0-9a-zA-Z]\Z/
|
|
69
|
-
if ! regex.match(app_name)
|
|
70
|
-
say "Error: APP must match #{regex.source}", :red
|
|
71
|
-
exit 1
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
if File.exist?(app_name)
|
|
75
|
-
say "Error: APP exists", :red
|
|
76
|
-
exit 1
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
require 'rvm'
|
|
80
|
-
# if RVM is detected and the user has not disabled using rvm via command than use rvm else without
|
|
81
|
-
if RVM.current && !options[:skiprvm]
|
|
82
|
-
# Let the user know that he are installing the inline_forms with support of RVM
|
|
83
|
-
say "Installing inline_forms with RVM", :green
|
|
84
|
-
# which ruby version is currently activated?
|
|
85
|
-
ruby_version = (%x[rvm current]).gsub(/@.*/,'')
|
|
86
|
-
# Create a ruby rvm-file version based on the version detected
|
|
87
|
-
create_file "#{app_name}/.ruby-version", ruby_version
|
|
88
|
-
# Creat a ruby-gemset rvm-file based on the version detected
|
|
89
|
-
create_file "#{app_name}/.ruby-gemset", app_name
|
|
90
|
-
else
|
|
91
|
-
# Let the user know that he is installing inline_forms without RVM
|
|
92
|
-
say "Installing inline_forms without RVM", :green
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
say "Installing with #{options[:database]}", :green
|
|
96
|
-
|
|
97
|
-
# Creates the app directory
|
|
98
|
-
empty_directory(app_name)
|
|
99
|
-
|
|
100
|
-
# puts all options in environment to app_template
|
|
101
|
-
options.each do | k,v |
|
|
102
|
-
ENV[k] = v.to_s
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
ENV['using_sqlite'] = using_sqlite?.to_s
|
|
106
|
-
ENV['database'] = database
|
|
107
|
-
ENV['install_example'] = install_example?.to_s
|
|
108
|
-
ENV['ruby_version'] = ruby_version
|
|
109
|
-
ENV['inline_forms_version'] = VERSION
|
|
110
|
-
|
|
111
|
-
app_template_file = File.join(File.dirname(__FILE__), 'inline_forms_app_template.rb')
|
|
112
|
-
|
|
113
|
-
# Prefer a Rails 7.0.x generator when one is installed locally: the
|
|
114
|
-
# generated `Gemfile`/`config/application.rb` pin to `rails ~> 7.0.0`,
|
|
115
|
-
# so running `rails new` from a newer system Rails (e.g. 8.0.x) emits
|
|
116
|
-
# 7.1+/8.0-only configuration (`load_defaults 8.0`,
|
|
117
|
-
# `config.autoload_lib(...)`) that aborts on the next `bundle exec`.
|
|
118
|
-
# The installer_core also patches `config/application.rb` defensively;
|
|
119
|
-
# the explicit version selector is the cleaner first line of defense.
|
|
120
|
-
require 'rubygems'
|
|
121
|
-
compatible_rails =
|
|
122
|
-
begin
|
|
123
|
-
Gem::Specification
|
|
124
|
-
.find_all_by_name("rails")
|
|
125
|
-
.map(&:version)
|
|
126
|
-
.select { |v| v >= Gem::Version.new("7.0") && v < Gem::Version.new("7.1") }
|
|
127
|
-
.max
|
|
128
|
-
rescue StandardError
|
|
129
|
-
nil
|
|
130
|
-
end
|
|
131
|
-
rails_invocation = compatible_rails ? "rails _#{compatible_rails}_" : "rails"
|
|
132
|
-
say "Generating app with: #{rails_invocation} new ...", :green
|
|
133
|
-
|
|
134
|
-
if ! run("#{rails_invocation} new #{app_name} -m #{app_template_file} --skip-bundle --skip-bootsnap --javascript=importmap")
|
|
135
|
-
say "Rails could not create the app '#{app_name}', maybe because it is a reserved word...", :red # TODO ROYTJE MAKE ERROR MESSAGE MORE RELEVANT # Rails could not create the app 'MyApp', maybe because it is a reserved word..
|
|
136
|
-
exit 1
|
|
137
|
-
end
|
|
138
|
-
end
|
|
139
|
-
Creator.start
|
|
140
|
-
end
|
|
141
|
-
end
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
require 'rvm'
|
|
2
|
-
|
|
3
|
-
if RVM.current && ENV['skiprvm'] !='true'
|
|
4
|
-
rvm_version = "#{ENV['ruby_version']}@#{app_name}"
|
|
5
|
-
# Rails' `app_name` is underscored (e.g. my_app) while the directory may be
|
|
6
|
-
# camel-cased (MyApp); `../#{app_name}` breaks on case-sensitive filesystems.
|
|
7
|
-
RVM.chdir(File.expand_path(".")) do
|
|
8
|
-
say "Working directory is #{`pwd`}"
|
|
9
|
-
RVM.use_from_path! '.' # TODO ROYTJE FIX THIS BELOW
|
|
10
|
-
# Warning! PATH is not properly set up, '/home/vagrant/.rvm/gems/ruby-2.0.0-p247@MyApp/bin' is not available,
|
|
11
|
-
# usually this is caused by shell initialization files - check them for 'PATH=...' entries,
|
|
12
|
-
# it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
|
|
13
|
-
# to fix temporarily in this shell session run: 'rvm use ruby-2.0.0-p247@MyApp'.
|
|
14
|
-
rvm_gemset = %x[rvm current]
|
|
15
|
-
say "RVM GEMSET is now #{rvm_gemset}"
|
|
16
|
-
say "Installing using gemset : #{RVM.current.environment_name}", :green
|
|
17
|
-
end
|
|
18
|
-
else
|
|
19
|
-
say "Installing without RVM", :green
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
apply(File.join(File.dirname(__FILE__), 'inline_forms_installer_core.rb'))
|