rails_bootstrap_form 0.1.0 → 0.2.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/Gemfile.lock +1 -1
- data/app/assets/stylesheets/rails_bootstrap_form.css +1 -0
- data/demo/.byebug_history +4 -0
- data/demo/.ruby-version +1 -0
- data/demo/Rakefile +10 -0
- data/demo/app/assets/config/manifest.js +1 -0
- data/demo/app/assets/stylesheets/application.scss +3 -0
- data/demo/app/channels/application_cable/channel.rb +8 -0
- data/demo/app/channels/application_cable/connection.rb +8 -0
- data/demo/app/controllers/application_controller.rb +6 -0
- data/demo/app/controllers/users_controller.rb +70 -0
- data/demo/app/helpers/application_helper.rb +6 -0
- data/demo/app/jobs/application_job.rb +6 -0
- data/demo/app/mailers/application_mailer.rb +8 -0
- data/demo/app/models/address.rb +10 -0
- data/demo/app/models/application_record.rb +7 -0
- data/demo/app/models/country.rb +17 -0
- data/demo/app/models/fruit.rb +14 -0
- data/demo/app/models/skill.rb +21 -0
- data/demo/app/models/user.rb +20 -0
- data/demo/app/models/user_skill.rb +8 -0
- data/demo/app/views/layouts/application.html.erb +15 -0
- data/demo/app/views/users/_form.html.erb +5 -0
- data/demo/app/views/users/_form_without_bootstrap_helpers.html.erb +49 -0
- data/demo/app/views/users/_vertical_form.html.erb +33 -0
- data/demo/app/views/users/edit.html.erb +1 -0
- data/demo/app/views/users/index.html.erb +42 -0
- data/demo/app/views/users/new.html.erb +1 -0
- data/demo/bin/bundle +111 -0
- data/demo/bin/rails +8 -0
- data/demo/bin/rake +8 -0
- data/demo/bin/setup +37 -0
- data/demo/config/application.rb +28 -0
- data/demo/config/boot.rb +9 -0
- data/demo/config/cable.yml +10 -0
- data/demo/config/database.yml +25 -0
- data/demo/config/environment.rb +9 -0
- data/demo/config/environments/development.rb +74 -0
- data/demo/config/environments/production.rb +97 -0
- data/demo/config/environments/test.rb +64 -0
- data/demo/config/initializers/assets.rb +16 -0
- data/demo/config/initializers/content_security_policy.rb +29 -0
- data/demo/config/initializers/filter_parameter_logging.rb +12 -0
- data/demo/config/initializers/inflections.rb +20 -0
- data/demo/config/initializers/permissions_policy.rb +17 -0
- data/demo/config/initializers/rails_bootstrap_form.rb +10 -0
- data/demo/config/locales/en.rb +16 -0
- data/demo/config/puma.rb +47 -0
- data/demo/config/routes.rb +9 -0
- data/demo/config/storage.yml +34 -0
- data/demo/config.ru +10 -0
- data/demo/db/migrate/20230514054308_create_countries.rb +12 -0
- data/demo/db/migrate/20230514054851_create_fruits.rb +12 -0
- data/demo/db/migrate/20230514055237_create_users.rb +21 -0
- data/demo/db/migrate/20230514055840_create_addresses.rb +17 -0
- data/demo/db/migrate/20230514060556_create_skills.rb +12 -0
- data/demo/db/migrate/20230514061100_create_user_skills.rb +13 -0
- data/demo/db/schema.rb +69 -0
- data/demo/db/seeds.rb +15 -0
- data/demo/public/favicon.ico +0 -0
- data/lib/generators/rails_bootstrap_form/install_generator.rb +25 -0
- data/lib/generators/rails_bootstrap_form/templates/install.rb +10 -0
- data/lib/rails_bootstrap_form/action_view_extensions/bootstrap_form_helper.rb +54 -0
- data/lib/rails_bootstrap_form/bootstrap_form_builder.rb +24 -0
- data/lib/rails_bootstrap_form/bootstrap_form_options.rb +71 -0
- data/lib/rails_bootstrap_form/configuration.rb +26 -0
- data/lib/rails_bootstrap_form/version.rb +1 -1
- data/lib/rails_bootstrap_form.rb +20 -1
- metadata +66 -1
    
        data/demo/db/seeds.rb
    ADDED
    
    | @@ -0,0 +1,15 @@ | |
| 1 | 
            +
            # -*- encoding: utf-8 -*-
         | 
| 2 | 
            +
            # -*- frozen_string_literal: true -*-
         | 
| 3 | 
            +
            # -*- warn_indent: true -*-
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            ::Country::DEFAULT_OPTIONS.each do |country|
         | 
| 6 | 
            +
              ::Country.find_or_create_by(name: country)
         | 
| 7 | 
            +
            end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            ::Fruit::DEFAULT_OPTIONS.each do |fruit|
         | 
| 10 | 
            +
              ::Fruit.find_or_create_by(name: fruit)
         | 
| 11 | 
            +
            end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            ::Skill::DEFAULT_OPTIONS.each do |skill|
         | 
| 14 | 
            +
              ::Skill.find_or_create_by(name: skill)
         | 
| 15 | 
            +
            end
         | 
| 
            File without changes
         | 
| @@ -0,0 +1,25 @@ | |
| 1 | 
            +
            # -*- encoding: utf-8 -*-
         | 
| 2 | 
            +
            # -*- frozen_string_literal: true -*-
         | 
| 3 | 
            +
            # -*- warn_indent: true -*-
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            require "rails/generators"
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            module RailsBootstrapForm
         | 
| 8 | 
            +
              module Generators
         | 
| 9 | 
            +
                class InstallGenerator < Rails::Generators::Base
         | 
| 10 | 
            +
                  desc "This generator creates an initializer file for configuration of RailsBootstrapForm"
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                  source_root File.expand_path("../templates", __FILE__)
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                  def create_initializer_file
         | 
| 15 | 
            +
                    template "install.rb", initializer_path
         | 
| 16 | 
            +
                  end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                  private
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                  def initializer_path
         | 
| 21 | 
            +
                    File.join("config/initializers", "rails_bootstrap_form.rb")
         | 
| 22 | 
            +
                  end
         | 
| 23 | 
            +
                end
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
            end
         | 
| @@ -0,0 +1,10 @@ | |
| 1 | 
            +
            # -*- encoding: utf-8 -*-
         | 
| 2 | 
            +
            # -*- frozen_string_literal: true -*-
         | 
| 3 | 
            +
            # -*- warn_indent: true -*-
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            # Be sure to restart your server when you modify this file.
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            RailsBootstrapForm.configure do |config|
         | 
| 8 | 
            +
              # to make forms non-compliant with W3C.
         | 
| 9 | 
            +
              config.default_form_attributes = {role: "form", novalidate: true}
         | 
| 10 | 
            +
            end
         | 
| @@ -0,0 +1,54 @@ | |
| 1 | 
            +
            # -*- encoding: utf-8 -*-
         | 
| 2 | 
            +
            # -*- frozen_string_literal: true -*-
         | 
| 3 | 
            +
            # -*- warn_indent: true -*-
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            module RailsBootstrapForm
         | 
| 6 | 
            +
              module ActionViewExtensions
         | 
| 7 | 
            +
                # This module creates `RailsBootstrapForm` wrappers around the default form_with
         | 
| 8 | 
            +
                # and form_for methods.
         | 
| 9 | 
            +
                #
         | 
| 10 | 
            +
                # Example:
         | 
| 11 | 
            +
                #
         | 
| 12 | 
            +
                #   bootstrap_form_for @user do |f|
         | 
| 13 | 
            +
                #     f.text_field :name
         | 
| 14 | 
            +
                #   end
         | 
| 15 | 
            +
                #
         | 
| 16 | 
            +
                # Example:
         | 
| 17 | 
            +
                #
         | 
| 18 | 
            +
                #   bootstrap_form_with model: @user do |f|
         | 
| 19 | 
            +
                #     f.text_field :name
         | 
| 20 | 
            +
                #   end
         | 
| 21 | 
            +
                #
         | 
| 22 | 
            +
                module BootstrapFormHelper
         | 
| 23 | 
            +
                  def bootstrap_form_for(record, options = {}, &block)
         | 
| 24 | 
            +
                    options.reverse_merge!(builder: RailsBootstrapForm::BootstrapFormBuilder)
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                    supress_form_field_errors do
         | 
| 27 | 
            +
                      form_for(record, options, &block)
         | 
| 28 | 
            +
                    end
         | 
| 29 | 
            +
                  end
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                  def bootstrap_form_with(options = {}, &block)
         | 
| 32 | 
            +
                    options.reverse_merge!(builder: RailsBootstrapForm::BootstrapFormBuilder)
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                    supress_form_field_errors do
         | 
| 35 | 
            +
                      form_with(**options, &block)
         | 
| 36 | 
            +
                    end
         | 
| 37 | 
            +
                  end
         | 
| 38 | 
            +
             | 
| 39 | 
            +
                  def supress_form_field_errors
         | 
| 40 | 
            +
                    original_proc = ActionView::Base.field_error_proc
         | 
| 41 | 
            +
                    ActionView::Base.field_error_proc = RailsBootstrapForm.field_error_proc
         | 
| 42 | 
            +
                    yield
         | 
| 43 | 
            +
                  ensure
         | 
| 44 | 
            +
                    ActionView::Base.field_error_proc = original_proc
         | 
| 45 | 
            +
                  end
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                  private :supress_form_field_errors
         | 
| 48 | 
            +
                end
         | 
| 49 | 
            +
              end
         | 
| 50 | 
            +
            end
         | 
| 51 | 
            +
             | 
| 52 | 
            +
            ActiveSupport.on_load(:action_view) do
         | 
| 53 | 
            +
              include RailsBootstrapForm::ActionViewExtensions::BootstrapFormHelper
         | 
| 54 | 
            +
            end
         | 
| @@ -0,0 +1,24 @@ | |
| 1 | 
            +
            # -*- encoding: utf-8 -*-
         | 
| 2 | 
            +
            # -*- frozen_string_literal: true -*-
         | 
| 3 | 
            +
            # -*- warn_indent: true -*-
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            module RailsBootstrapForm
         | 
| 6 | 
            +
              class BootstrapFormBuilder < ActionView::Helpers::FormBuilder
         | 
| 7 | 
            +
                delegate :capture, :concat, :tag, to: :@template
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                attr_accessor :bootstrap_form_options
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                def initialize(object_name, object, template, options)
         | 
| 12 | 
            +
                  @bootstrap_form_options = RailsBootstrapForm::BootstrapFormOptions.new(options.delete(:bootstrap_form))
         | 
| 13 | 
            +
                  apply_default_form_options(options)
         | 
| 14 | 
            +
                  super(object_name, object, template, options)
         | 
| 15 | 
            +
                end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                def apply_default_form_options(options)
         | 
| 18 | 
            +
                  options[:html] ||= {}
         | 
| 19 | 
            +
                  options[:html].reverse_merge!(RailsBootstrapForm.config.default_form_attributes)
         | 
| 20 | 
            +
                end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                private :apply_default_form_options
         | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
            end
         | 
| @@ -0,0 +1,71 @@ | |
| 1 | 
            +
            # -*- encoding: utf-8 -*-
         | 
| 2 | 
            +
            # -*- frozen_string_literal: true -*-
         | 
| 3 | 
            +
            # -*- warn_indent: true -*-
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            module RailsBootstrapForm
         | 
| 6 | 
            +
              # Container for bootstrap specific form builder options. It controls options
         | 
| 7 | 
            +
              # that define form layout, grid sizing, and few other configurable options.
         | 
| 8 | 
            +
              # They are passed-in into form builder helper and field helpers via
         | 
| 9 | 
            +
              # `:bootstrap_form` option.
         | 
| 10 | 
            +
              #
         | 
| 11 | 
            +
              # For example:
         | 
| 12 | 
            +
              #
         | 
| 13 | 
            +
              #   bootstrap_form_with model: @user, bootstrap_form: {layout: :inline} do |f|
         | 
| 14 | 
            +
              #      f.text_field :email, bootstrap_form: {label: {text: "Your email"}}
         | 
| 15 | 
            +
              #   end
         | 
| 16 | 
            +
              #
         | 
| 17 | 
            +
              class BootstrapFormOptions
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                # Controls form and field layout. It can be "vertical, "horizontal", or "inline".
         | 
| 20 | 
            +
                # It can also be "floating" if field should have floating labels.
         | 
| 21 | 
            +
                attr_accessor :layout
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                def initialize(options = {})
         | 
| 24 | 
            +
                  set_defaults
         | 
| 25 | 
            +
                  set_bootstrap_form_options(options)
         | 
| 26 | 
            +
                end
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                def horizontal?
         | 
| 29 | 
            +
                  @layout.to_s == "horizontal"
         | 
| 30 | 
            +
                end
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                def inline?
         | 
| 33 | 
            +
                  @layout.to_s == "inline"
         | 
| 34 | 
            +
                end
         | 
| 35 | 
            +
             | 
| 36 | 
            +
                def vertical?
         | 
| 37 | 
            +
                  @layout.to_s == "vertical"
         | 
| 38 | 
            +
                end
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                def floating?
         | 
| 41 | 
            +
                  @layout.to_s == "floating"
         | 
| 42 | 
            +
                end
         | 
| 43 | 
            +
             | 
| 44 | 
            +
                # This will return a copy of `BootstrapFormOptions` object with new options set
         | 
| 45 | 
            +
                # that don't affect original object. This way we can have options specific
         | 
| 46 | 
            +
                # to a given form field. For example, we can change grid just for one field:
         | 
| 47 | 
            +
                #
         | 
| 48 | 
            +
                #   bootstrap_form_with model: @user do |f|
         | 
| 49 | 
            +
                #     f.text_field :email, bootstrap_form: {label_col_class: "col-md-6", control_col_class: "col-md-6"}
         | 
| 50 | 
            +
                #     f.password_field :password
         | 
| 51 | 
            +
                #   end
         | 
| 52 | 
            +
                #
         | 
| 53 | 
            +
                def scoped(options = {})
         | 
| 54 | 
            +
                  scope = clone
         | 
| 55 | 
            +
                  scope.set_bootstrap_form_options(options)
         | 
| 56 | 
            +
                  scope
         | 
| 57 | 
            +
                end
         | 
| 58 | 
            +
             | 
| 59 | 
            +
                def set_bootstrap_form_options(options)
         | 
| 60 | 
            +
                  options.is_a?(Hash) && options.each do |key, value|
         | 
| 61 | 
            +
                    public_send("#{key}=", value)
         | 
| 62 | 
            +
                  end
         | 
| 63 | 
            +
                end
         | 
| 64 | 
            +
             | 
| 65 | 
            +
                def set_defaults
         | 
| 66 | 
            +
                  @layout = "vertical"
         | 
| 67 | 
            +
                end
         | 
| 68 | 
            +
             | 
| 69 | 
            +
                private :set_defaults
         | 
| 70 | 
            +
              end
         | 
| 71 | 
            +
            end
         | 
| @@ -0,0 +1,26 @@ | |
| 1 | 
            +
            # -*- encoding: utf-8 -*-
         | 
| 2 | 
            +
            # -*- frozen_string_literal: true -*-
         | 
| 3 | 
            +
            # -*- warn_indent: true -*-
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            module RailsBootstrapForm
         | 
| 6 | 
            +
              class Configuration
         | 
| 7 | 
            +
                # Default HTML attributes which will applied to all forms build
         | 
| 8 | 
            +
                # using RailsBootstrapForm.
         | 
| 9 | 
            +
                def default_form_attributes=(attributes)
         | 
| 10 | 
            +
                  case attributes
         | 
| 11 | 
            +
                  when nil
         | 
| 12 | 
            +
                    @default_form_attributes = {}
         | 
| 13 | 
            +
                  when Hash
         | 
| 14 | 
            +
                    @default_form_attributes = attributes
         | 
| 15 | 
            +
                  else
         | 
| 16 | 
            +
                    raise ArgumentError, "Unsupported default_form_attributes #{attributes.inspect}"
         | 
| 17 | 
            +
                  end
         | 
| 18 | 
            +
                end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                def default_form_attributes
         | 
| 21 | 
            +
                  return @default_form_attributes if defined?(@default_form_attributes)
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                  {}
         | 
| 24 | 
            +
                end
         | 
| 25 | 
            +
              end
         | 
| 26 | 
            +
            end
         | 
    
        data/lib/rails_bootstrap_form.rb
    CHANGED
    
    | @@ -4,19 +4,38 @@ | |
| 4 4 |  | 
| 5 5 | 
             
            require "action_view"
         | 
| 6 6 | 
             
            require "action_pack"
         | 
| 7 | 
            +
            require "rails_bootstrap_form/action_view_extensions/bootstrap_form_helper"
         | 
| 7 8 |  | 
| 8 9 | 
             
            module RailsBootstrapForm
         | 
| 9 10 | 
             
              extend ActiveSupport::Autoload
         | 
| 10 11 |  | 
| 11 12 | 
             
              eager_autoload do
         | 
| 12 | 
            -
             | 
| 13 | 
            +
                autoload :Configuration
         | 
| 14 | 
            +
                autoload :BootstrapFormOptions
         | 
| 15 | 
            +
                autoload :BootstrapFormBuilder
         | 
| 13 16 | 
             
              end
         | 
| 14 17 |  | 
| 15 18 | 
             
              class << self
         | 
| 16 19 | 
             
                def eager_load!
         | 
| 17 20 | 
             
                  super
         | 
| 18 21 | 
             
                end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                def config
         | 
| 24 | 
            +
                  @config ||= RailsBootstrapForm::Configuration.new
         | 
| 25 | 
            +
                end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
                def configure
         | 
| 28 | 
            +
                  yield config
         | 
| 29 | 
            +
                end
         | 
| 30 | 
            +
              end
         | 
| 31 | 
            +
             | 
| 32 | 
            +
              # Override `field_error_proc` to suppress errors coming from user defined
         | 
| 33 | 
            +
              # `field_error_proc`.
         | 
| 34 | 
            +
              mattr_accessor :field_error_proc
         | 
| 35 | 
            +
              @@field_error_proc = proc do |html_tag, _instance_tag|
         | 
| 36 | 
            +
                html_tag
         | 
| 19 37 | 
             
              end
         | 
| 38 | 
            +
             | 
| 20 39 | 
             
            end
         | 
| 21 40 |  | 
| 22 41 | 
             
            require "rails_bootstrap_form/engine" if defined?(Rails)
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rails_bootstrap_form
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.2.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Harshal LADHE (shivam091)
         | 
| @@ -40,9 +40,74 @@ files: | |
| 40 40 | 
             
            - LICENSE.txt
         | 
| 41 41 | 
             
            - README.md
         | 
| 42 42 | 
             
            - Rakefile
         | 
| 43 | 
            +
            - app/assets/stylesheets/rails_bootstrap_form.css
         | 
| 44 | 
            +
            - demo/.byebug_history
         | 
| 45 | 
            +
            - demo/.ruby-version
         | 
| 46 | 
            +
            - demo/Rakefile
         | 
| 47 | 
            +
            - demo/app/assets/config/manifest.js
         | 
| 48 | 
            +
            - demo/app/assets/stylesheets/application.scss
         | 
| 49 | 
            +
            - demo/app/channels/application_cable/channel.rb
         | 
| 50 | 
            +
            - demo/app/channels/application_cable/connection.rb
         | 
| 51 | 
            +
            - demo/app/controllers/application_controller.rb
         | 
| 52 | 
            +
            - demo/app/controllers/users_controller.rb
         | 
| 53 | 
            +
            - demo/app/helpers/application_helper.rb
         | 
| 54 | 
            +
            - demo/app/jobs/application_job.rb
         | 
| 55 | 
            +
            - demo/app/mailers/application_mailer.rb
         | 
| 56 | 
            +
            - demo/app/models/address.rb
         | 
| 57 | 
            +
            - demo/app/models/application_record.rb
         | 
| 58 | 
            +
            - demo/app/models/country.rb
         | 
| 59 | 
            +
            - demo/app/models/fruit.rb
         | 
| 60 | 
            +
            - demo/app/models/skill.rb
         | 
| 61 | 
            +
            - demo/app/models/user.rb
         | 
| 62 | 
            +
            - demo/app/models/user_skill.rb
         | 
| 63 | 
            +
            - demo/app/views/layouts/application.html.erb
         | 
| 64 | 
            +
            - demo/app/views/users/_form.html.erb
         | 
| 65 | 
            +
            - demo/app/views/users/_form_without_bootstrap_helpers.html.erb
         | 
| 66 | 
            +
            - demo/app/views/users/_vertical_form.html.erb
         | 
| 67 | 
            +
            - demo/app/views/users/edit.html.erb
         | 
| 68 | 
            +
            - demo/app/views/users/index.html.erb
         | 
| 69 | 
            +
            - demo/app/views/users/new.html.erb
         | 
| 70 | 
            +
            - demo/bin/bundle
         | 
| 71 | 
            +
            - demo/bin/rails
         | 
| 72 | 
            +
            - demo/bin/rake
         | 
| 73 | 
            +
            - demo/bin/setup
         | 
| 74 | 
            +
            - demo/config.ru
         | 
| 75 | 
            +
            - demo/config/application.rb
         | 
| 76 | 
            +
            - demo/config/boot.rb
         | 
| 77 | 
            +
            - demo/config/cable.yml
         | 
| 78 | 
            +
            - demo/config/database.yml
         | 
| 79 | 
            +
            - demo/config/environment.rb
         | 
| 80 | 
            +
            - demo/config/environments/development.rb
         | 
| 81 | 
            +
            - demo/config/environments/production.rb
         | 
| 82 | 
            +
            - demo/config/environments/test.rb
         | 
| 83 | 
            +
            - demo/config/initializers/assets.rb
         | 
| 84 | 
            +
            - demo/config/initializers/content_security_policy.rb
         | 
| 85 | 
            +
            - demo/config/initializers/filter_parameter_logging.rb
         | 
| 86 | 
            +
            - demo/config/initializers/inflections.rb
         | 
| 87 | 
            +
            - demo/config/initializers/permissions_policy.rb
         | 
| 88 | 
            +
            - demo/config/initializers/rails_bootstrap_form.rb
         | 
| 89 | 
            +
            - demo/config/locales/en.rb
         | 
| 90 | 
            +
            - demo/config/puma.rb
         | 
| 91 | 
            +
            - demo/config/routes.rb
         | 
| 92 | 
            +
            - demo/config/storage.yml
         | 
| 93 | 
            +
            - demo/db/migrate/20230514054308_create_countries.rb
         | 
| 94 | 
            +
            - demo/db/migrate/20230514054851_create_fruits.rb
         | 
| 95 | 
            +
            - demo/db/migrate/20230514055237_create_users.rb
         | 
| 96 | 
            +
            - demo/db/migrate/20230514055840_create_addresses.rb
         | 
| 97 | 
            +
            - demo/db/migrate/20230514060556_create_skills.rb
         | 
| 98 | 
            +
            - demo/db/migrate/20230514061100_create_user_skills.rb
         | 
| 99 | 
            +
            - demo/db/schema.rb
         | 
| 100 | 
            +
            - demo/db/seeds.rb
         | 
| 101 | 
            +
            - demo/public/favicon.ico
         | 
| 43 102 | 
             
            - gemfiles/7.0.gemfile
         | 
| 44 103 | 
             
            - gemfiles/common.gemfile
         | 
| 104 | 
            +
            - lib/generators/rails_bootstrap_form/install_generator.rb
         | 
| 105 | 
            +
            - lib/generators/rails_bootstrap_form/templates/install.rb
         | 
| 45 106 | 
             
            - lib/rails_bootstrap_form.rb
         | 
| 107 | 
            +
            - lib/rails_bootstrap_form/action_view_extensions/bootstrap_form_helper.rb
         | 
| 108 | 
            +
            - lib/rails_bootstrap_form/bootstrap_form_builder.rb
         | 
| 109 | 
            +
            - lib/rails_bootstrap_form/bootstrap_form_options.rb
         | 
| 110 | 
            +
            - lib/rails_bootstrap_form/configuration.rb
         | 
| 46 111 | 
             
            - lib/rails_bootstrap_form/engine.rb
         | 
| 47 112 | 
             
            - lib/rails_bootstrap_form/version.rb
         | 
| 48 113 | 
             
            - sig/rails_bootstrap_form.rbs
         |