Sha256: ba9fcbce43760dc5a8b9b6d5ef7cbd8431cefdadfe3e0c8443b843a199311fce

Contents?: true

Size: 1.17 KB

Versions: 2

Compression:

Stored size: 1.17 KB

Contents

require_relative 'authentication/devise_groups/presenter'
require_relative 'authentication/devise_groups_definition/presenter'

module WebammToRails
  module Sources
    module Controllers
      module ApplicationController
        class Definition
          def initialize(waml_definition:)
            @waml_definition = waml_definition
          end

          def render
            template_path = File.expand_path('template.erb', __dir__)
            template_content = File.read(template_path)
            raw_content = ERB.new(template_content, trim_mode: '-').result(instance_eval { binding })

            ::WebammToRails::Utils::FormatCode.call(raw_content)
          end

          private

          def devise_groups
            devise_mappings = ::WebammToRails::Sources::Controllers::ApplicationController::Authentication::DeviseGroups::Presenter.new(
              waml_definition: @waml_definition
            ).mappings

            ::WebammToRails::Sources::Controllers::ApplicationController::Authentication::DeviseGroupsDefinition::Presenter.new(
              devise_mappings: devise_mappings
            ).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/controllers/application_controller/definition.rb
webamm_to_rails-7.0.0 lib/webamm_to_rails/sources/controllers/application_controller/definition.rb