Sha256: 2801ba947a0d83a8970d3d5fb42267bfbc65646e7b3433d68f4c60dec6ae8214

Contents?: true

Size: 736 Bytes

Versions: 34

Compression:

Stored size: 736 Bytes

Contents

class AwesomeTranslations::Handlers
  AutoAutoloader.autoload_sub_classes(self, __FILE__)

  def self.list
    unless @handlers
      @handlers = []

      Dir.foreach("#{File.dirname(__FILE__)}/handlers") do |file|
        match = file.match(/\A(.+)_handler\.rb\Z/)
        next unless match

        const_name_snake = "#{match[1]}_handler"
        next if const_name_snake == "base_handler"
        const_name_camel = StringCases.snake_to_camel(const_name_snake)

        handler = AwesomeTranslations::Handler.new(
          id: const_name_snake,
          const_name: const_name_camel,
          name: const_name_camel
        )

        @handlers << handler if handler.instance.enabled?
      end
    end

    @handlers
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
awesome_translations-0.0.38 lib/awesome_translations/handlers.rb
awesome_translations-0.0.37 lib/awesome_translations/handlers.rb
awesome_translations-0.0.36 lib/awesome_translations/handlers.rb
awesome_translations-0.0.35 lib/awesome_translations/handlers.rb
awesome_translations-0.0.34 lib/awesome_translations/handlers.rb
awesome_translations-0.0.33 lib/awesome_translations/handlers.rb
awesome_translations-0.0.32 lib/awesome_translations/handlers.rb
awesome_translations-0.0.31 lib/awesome_translations/handlers.rb
awesome_translations-0.0.30 lib/awesome_translations/handlers.rb
awesome_translations-0.0.29 lib/awesome_translations/handlers.rb
awesome_translations-0.0.28 lib/awesome_translations/handlers.rb
awesome_translations-0.0.27 lib/awesome_translations/handlers.rb
awesome_translations-0.0.26 lib/awesome_translations/handlers.rb
awesome_translations-0.0.25 lib/awesome_translations/handlers.rb