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



31
32
33
# File 'lib/spatial_features/has_fusion_table_features.rb', line 31

def acts_like_fusion_table_features?
  true
end

#delete_fusion_tables(group_options = {}) ⇒ Object



24
25
26
27
28
29
# File 'lib/spatial_features/has_fusion_table_features.rb', line 24

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



35
36
37
38
# File 'lib/spatial_features/has_fusion_table_features.rb', line 35

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



14
15
16
# File 'lib/spatial_features/has_fusion_table_features.rb', line 14

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

#update_fusion_tables(group_options = {}) ⇒ Object



18
19
20
21
22
# File 'lib/spatial_features/has_fusion_table_features.rb', line 18

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