module PactBroker::Repositories::Helpers

Public Instance Methods

mysql?() click to toggle source
# File lib/pact_broker/repositories/helpers.rb, line 34
def mysql?
  Sequel::Model.db.adapter_scheme.to_s =~ /mysql/
end
name_like(column_name, value) click to toggle source
# File lib/pact_broker/repositories/helpers.rb, line 9
def name_like column_name, value
  if PactBroker.configuration.use_case_sensitive_resource_names
    if mysql?
      # sigh, mysql, this is the only way to perform a case sensitive search
      Sequel.like(column_name, value.gsub("_", "\\_"), { case_insensitive: false })
    else
      { column_name => value }
    end
  else
    Sequel.like(column_name, value.gsub("_", "\\_"), { case_insensitive: true })
  end
end
no_columns_selected?() click to toggle source
# File lib/pact_broker/repositories/helpers.rb, line 59
def no_columns_selected?
  opts[:select].nil?
end
order_append_ignore_case(column_name = :name) click to toggle source
# File lib/pact_broker/repositories/helpers.rb, line 30
def order_append_ignore_case column_name = :name
  order_append(Sequel.function(:lower, column_name))
end
order_ignore_case(column_name = :name) click to toggle source
# File lib/pact_broker/repositories/helpers.rb, line 26
def order_ignore_case column_name = :name
  order(Sequel.function(:lower, column_name))
end
pacticipant_id_for_name(pacticipant_name) click to toggle source
# File lib/pact_broker/repositories/helpers.rb, line 22
def pacticipant_id_for_name pacticipant_name
  Sequel::Model.db[:pacticipants].select(:id).where(name_like(:name, pacticipant_name)).limit(1)
end
postgres?() click to toggle source
# File lib/pact_broker/repositories/helpers.rb, line 38
def postgres?
  Sequel::Model.db.adapter_scheme.to_s == "postgres"
end
select_all_qualified() click to toggle source
# File lib/pact_broker/repositories/helpers.rb, line 42
def select_all_qualified
  select(Sequel[model.table_name].*)
end
select_append_all_qualified() click to toggle source
# File lib/pact_broker/repositories/helpers.rb, line 46
def select_append_all_qualified
  select_append(Sequel[model.table_name].*)
end
select_for_subquery(column) click to toggle source
# File lib/pact_broker/repositories/helpers.rb, line 50
def select_for_subquery column
  if mysql? #stoopid mysql doesn't allow you to modify datasets with subqueries
    column_name = column.respond_to?(:alias) ? column.alias : column
    select(column).collect{ | it | it[column_name] }
  else
    select(column)
  end
end