Class: CouchbaseOrm::IndexMigration::IndexStateFetcher

Inherits:
Object
  • Object
show all
Defined in:
lib/couchbase-orm/index_migration/index_state_fetcher.rb

Instance Method Summary collapse

Instance Method Details

#online?(migration, bucket, index_names) ⇒ Boolean

Returns:



16
17
18
19
# File 'lib/couchbase-orm/index_migration/index_state_fetcher.rb', line 16

def online?(migration, bucket, index_names)
  states_by_name = states(migration, bucket, index_names)
  Array(index_names).map(&:to_s).all? { |name| states_by_name[name] == 'online' }
end

#states(migration, bucket, index_names) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/couchbase-orm/index_migration/index_state_fetcher.rb', line 6

def states(migration, bucket, index_names)
  result = migration.execute_query(migration.query_builder.states_query(bucket, index_names))

  result.rows.to_a.each_with_object({}) do |row, states|
    name = row['name'] || row[:name]
    state = row['state'] || row[:state]
    states[name.to_s] = state.to_s.downcase
  end
end