Sha256: 98fcd3dd52bb1b1810552646ca235af20521a2c165bb6d58fd7993d22795f633

Contents?: true

Size: 828 Bytes

Versions: 2

Compression:

Stored size: 828 Bytes

Contents

# frozen_string_literal: true
module ThinkFeelDoEngine
  module Reports
    # Helper methods for reporting on modules.
    # rubocop:disable Lint/NestedMethodDefinition
    module ToolModule
      URL_ROOT_RE = /^[^\/]*\/\/[^\/]+/

      def self.included(klass)
        class << klass
          # Returns a hash mapping path to Tool Module.
          def modules_map
            tool_modules.each_with_object({}) do |m, h|
              h[url_helpers.navigator_location_path(module_id: m.id)] = m
            end
          end

          private

          def tool_modules
            BitCore::ContentModule.where(type: nil)
          end

          def url_helpers
            ThinkFeelDoEngine::Engine.routes.url_helpers
          end
        end
      end
    end
    # rubocop:enable Lint/NestedMethodDefinition
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
think_feel_do_engine-3.21.0 app/models/think_feel_do_engine/reports/tool_module.rb
think_feel_do_engine-3.20.1 app/models/think_feel_do_engine/reports/tool_module.rb