Sha256: f12064dde005cf2e6c95733f7c961e7e5b2587200b8273cfd8c0f0be2848a6ba

Contents?: true

Size: 1.38 KB

Versions: 2

Compression:

Stored size: 1.38 KB

Contents

module WebammToRails
  module Sources
    module Gemfile
      module Sets
        class Authentication
          def initialize(waml_definition:)
            @waml_definition = waml_definition
          end

          def collection
            return [] if @waml_definition.authentication.blank?

            base_collection = [
              ::WebammToRails::Sources::Gemfile::Gem.new(name: "devise", version: "4.9.4", required: true, group: :default, platforms: [])
            ]

            return base_collection if @waml_definition.authentication.all? { |auth| auth.features.blank? }

            if @waml_definition.authentication.any? { |auth| auth.features.include?('invitations') }
              base_collection << ::WebammToRails::Sources::Gemfile::Gem.new(name: "devise_invitable", version: "2.0.9", required: true, group: :default, platforms: [])
            end

            if @waml_definition.authentication.any? { |auth| auth.features.include?('two_factor_authentication') }
              base_collection << ::WebammToRails::Sources::Gemfile::Gem.new(name: "devise-otp", version: "0.7.1", required: true, group: :default, platforms: [])
              base_collection << ::WebammToRails::Sources::Gemfile::Gem.new(name: "rqrcode", version: "2.2.0", required: true, group: :default, platforms: [])
            end

            base_collection
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
webamm_to_rails-7.0.1 lib/webamm_to_rails/sources/gemfile/sets/authentication.rb
webamm_to_rails-7.0.0 lib/webamm_to_rails/sources/gemfile/sets/authentication.rb