Sha256: bd28eeb45ef1a678a2bfb18f20eac552f226f62ff756974b6b0160aab2033f63

Contents?: true

Size: 673 Bytes

Versions: 5

Compression:

Stored size: 673 Bytes

Contents

# frozen_string_literal: true

module ExtractI18n::Adapters
  class Adapter
    def self.for(file_path)
      case file_path
      when /\.rb$/ then RubyAdapter
      when /\.slim$/ then SlimAdapter
      when /\.vue$/ then VueAdapter
      end
    end

    attr_reader :on_ask, :file_path, :file_key, :options

    def initialize(file_key:, on_ask:, options: {})
      @on_ask = on_ask
      @file_key = file_key
      @options = options
    end

    def run(content)
      raise NotImplementedError
    end

    def self.supports_relative_keys?
      false
    end

    private

    def original_content
      @original_content ||= File.read(file_path)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
extract_i18n-0.5.0 lib/extract_i18n/adapters/adapter.rb
extract_i18n-0.4.0 lib/extract_i18n/adapters/adapter.rb
extract_i18n-0.3.0 lib/extract_i18n/adapters/adapter.rb
extract_i18n-0.2.0 lib/extract_i18n/adapters/adapter.rb
extract_i18n-0.1.0 lib/extract_i18n/adapters/adapter.rb