Sha256: fb7717dc0c1754ece09075623c07ece5caa3af10c22a3d6af0e52bed527a30df

Contents?: true

Size: 660 Bytes

Versions: 7

Compression:

Stored size: 660 Bytes

Contents

module Storey
  class Suffixifier

    def self.suffixify(*args)
      self.new(*args).suffixify
    end

    def initialize(schema_name)
      @schema_name = schema_name
    end

    def suffixify
      schema_names.map do |schema_name|
        if schema_name =~ /\w+#{suffix}/ || native_schema?(schema_name)
          schema_name
        else
          "#{schema_name}#{suffix}"
        end
      end.join(',')
    end

    private

    def schema_names
      @schema_names ||= @schema_name.split(',')
    end

    def suffix
      Storey.suffix
    end

    def native_schema?(schema_name)
      NativeSchemaMatcher.matches?(schema_name)
    end

  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
storey-1.0.0 lib/storey/suffixifier.rb
storey-0.6.0 lib/storey/suffixifier.rb
storey-0.5.2 lib/storey/suffixifier.rb
storey-0.5.1 lib/storey/suffixifier.rb
storey-0.5.0 lib/storey/suffixifier.rb
storey-0.4.2 lib/storey/suffixifier.rb
storey-0.4.1 lib/storey/suffixifier.rb