module PG::FTS::Naming

rubocop:disable Metrics/ModuleLength

Public Instance Methods

hash_names!() click to toggle source
# File lib/pg/fts/naming.rb, line 244
def hash_names!
  @hash_names = true
end
hash_names?() click to toggle source
# File lib/pg/fts/naming.rb, line 240
def hash_names?
  @hash_names
end

Private Instance Methods

hash_name?() click to toggle source
# File lib/pg/fts/naming.rb, line 33
def hash_name?
  PG::FTS::Naming.hash_names?
end
hashed(name) click to toggle source
# File lib/pg/fts/naming.rb, line 37
def hashed(name)
  'sha1_' << (Digest::SHA1.new.tap { |sha| sha << name }).hexdigest
end
on_document_delete_name() click to toggle source
# File lib/pg/fts/naming.rb, line 112
def on_document_delete_name
  suffix(on_document_prefix, :delete, :tsv)
end
on_document_delete_procedure_name() click to toggle source
# File lib/pg/fts/naming.rb, line 162
def on_document_delete_procedure_name
  on_document_delete_name
end
on_document_delete_trigger_name() click to toggle source
# File lib/pg/fts/naming.rb, line 212
def on_document_delete_trigger_name
  on_document_delete_procedure_name
end
on_document_insert_name() click to toggle source
# File lib/pg/fts/naming.rb, line 104
def on_document_insert_name
  suffix(on_document_prefix, :insert, :tsv)
end
on_document_insert_procedure_name() click to toggle source
# File lib/pg/fts/naming.rb, line 154
def on_document_insert_procedure_name
  on_document_insert_name
end
on_document_insert_trigger_name() click to toggle source
# File lib/pg/fts/naming.rb, line 204
def on_document_insert_trigger_name
  on_document_insert_procedure_name
end
on_document_name() click to toggle source
# File lib/pg/fts/naming.rb, line 13
def on_document_name
  name ? name : "#{document}_from_#{source}"
end
on_document_prefix() click to toggle source
# File lib/pg/fts/naming.rb, line 70
def on_document_prefix
  if hash_name?
    suffix(hashed(on_document_name), :document)
  else
    on_document_prefix_unhashed
  end
end
on_document_prefix_unhashed() click to toggle source
# File lib/pg/fts/naming.rb, line 25
def on_document_prefix_unhashed
  name ? suffix(name, :document) : on_document_name
end
on_document_truncate_name() click to toggle source
# File lib/pg/fts/naming.rb, line 116
def on_document_truncate_name
  suffix(on_document_prefix, :truncate, :tsv)
end
on_document_truncate_procedure_name() click to toggle source
# File lib/pg/fts/naming.rb, line 166
def on_document_truncate_procedure_name
  on_document_truncate_name
end
on_document_truncate_trigger_name() click to toggle source
# File lib/pg/fts/naming.rb, line 216
def on_document_truncate_trigger_name
  on_document_truncate_procedure_name
end
on_document_update_name() click to toggle source
# File lib/pg/fts/naming.rb, line 108
def on_document_update_name
  suffix(on_document_prefix, :update, :tsv)
end
on_document_update_procedure_name() click to toggle source
# File lib/pg/fts/naming.rb, line 158
def on_document_update_procedure_name
  on_document_update_name
end
on_document_update_trigger_name() click to toggle source
# File lib/pg/fts/naming.rb, line 208
def on_document_update_trigger_name
  on_document_update_procedure_name
end
on_source_delete_name() click to toggle source
# File lib/pg/fts/naming.rb, line 96
def on_source_delete_name
  suffix(on_source_prefix, :delete, :tsv)
end
on_source_delete_procedure_name() click to toggle source
# File lib/pg/fts/naming.rb, line 146
def on_source_delete_procedure_name
  on_source_delete_name
end
on_source_delete_trigger_name() click to toggle source
# File lib/pg/fts/naming.rb, line 196
def on_source_delete_trigger_name
  on_source_delete_procedure_name
end
on_source_insert_name() click to toggle source

names

# File lib/pg/fts/naming.rb, line 88
def on_source_insert_name
  suffix(on_source_prefix, :insert, :tsv)
end
on_source_insert_procedure_name() click to toggle source

procedure names

# File lib/pg/fts/naming.rb, line 138
def on_source_insert_procedure_name
  on_source_insert_name
end
on_source_insert_trigger_name() click to toggle source

trigger names

# File lib/pg/fts/naming.rb, line 188
def on_source_insert_trigger_name
  on_source_insert_procedure_name
end
on_source_name() click to toggle source

prefixes

# File lib/pg/fts/naming.rb, line 9
def on_source_name
  name ? name : "#{source}_to_#{document}"
end
on_source_prefix() click to toggle source

rubocop:enable Metrics/CyclomaticComplexity

# File lib/pg/fts/naming.rb, line 62
def on_source_prefix
  if hash_name?
    suffix(hashed(on_source_name), :source)
  else
    on_source_prefix_unhashed
  end
end
on_source_prefix_unhashed() click to toggle source
# File lib/pg/fts/naming.rb, line 21
def on_source_prefix_unhashed
  name ? suffix(name, :source) : on_source_name
end
on_source_truncate_name() click to toggle source
# File lib/pg/fts/naming.rb, line 100
def on_source_truncate_name
  suffix(on_source_prefix, :truncate, :tsv)
end
on_source_truncate_procedure_name() click to toggle source
# File lib/pg/fts/naming.rb, line 150
def on_source_truncate_procedure_name
  on_source_truncate_name
end
on_source_truncate_trigger_name() click to toggle source
# File lib/pg/fts/naming.rb, line 200
def on_source_truncate_trigger_name
  on_source_truncate_procedure_name
end
on_source_update_name() click to toggle source
# File lib/pg/fts/naming.rb, line 92
def on_source_update_name
  suffix(on_source_prefix, :update, :tsv)
end
on_source_update_procedure_name() click to toggle source
# File lib/pg/fts/naming.rb, line 142
def on_source_update_procedure_name
  on_source_update_name
end
on_source_update_trigger_name() click to toggle source
# File lib/pg/fts/naming.rb, line 192
def on_source_update_trigger_name
  on_source_update_procedure_name
end
suffix(str, *types) click to toggle source

rubocop:disable Metrics/CyclomaticComplexity

# File lib/pg/fts/naming.rb, line 42
def suffix(str, *types)
  str = str.dup

  types.each do |type|
    case type
    when :source   then str << '_src'
    when :link     then str << '_lnk'
    when :document then str << '_doc'
    when :insert   then str << '_ins'
    when :update   then str << '_upd'
    when :delete   then str << '_del'
    when :truncate then str << '_trn'
    when :tsv      then str << '_tsv'
    end
  end

  str
end