Module: SpatialFeatures::FusionTables::ClassMethods

Defined in:
lib/spatial_features/has_fusion_table_features.rb

Instance Method Summary collapse

Instance Method Details

#acts_like_fusion_table_features?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/spatial_features/has_fusion_table_features.rb', line 33

def acts_like_fusion_table_features?
  true
end

#delete_fusion_tables(group_options = {}) ⇒ Object



26
27
28
29
30
31
# File 'lib/spatial_features/has_fusion_table_features.rb', line 26

def delete_fusion_tables(group_options = {})
  fusion_table_groups(group_options) do |fusion_table_id, records, group_features|
    API.delete_table(fusion_table_id)
  end
  @fusion_table_id_cache = nil
end

#fusion_table_id_cacheObject



37
38
39
40
# File 'lib/spatial_features/has_fusion_table_features.rb', line 37

def fusion_table_id_cache
  @fusion_table_id_cache ||= Hash.new {|hash, table_name| hash[table_name] = API.find_or_create_table(table_name) }
    .merge(API.tables.collect {|table| [table.name, table.table_id] }.to_h) # Warm the cache
end

#to_fusion_conditionObject



16
17
18
# File 'lib/spatial_features/has_fusion_table_features.rb', line 16

def to_fusion_condition
  sanitize_sql(["spatial_model_id IN (?)", pluck(:id)])
end

#update_fusion_tables(group_options = {}) ⇒ Object



20
21
22
23
24
# File 'lib/spatial_features/has_fusion_table_features.rb', line 20

def update_fusion_tables(group_options = {})
  fusion_table_groups(group_options) do |fusion_table_id, records, group_features|
    API.set_features(fusion_table_id, group_features, :colour => fusion_table_features_options[:colour])
  end
end