Class: Tiler::DataSource
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Tiler::DataSource
- Defined in:
- app/models/tiler/data_source.rb
Constant Summary collapse
- INGESTION_METHODS =
%w[webhook manual csv].freeze
- COLUMN_TYPES =
%w[string integer float boolean datetime enum].freeze
Instance Method Summary collapse
- #parsed_ingestion_methods ⇒ Object
- #parsed_schema ⇒ Object
- #regenerate_webhook_token! ⇒ Object
- #schema_column_keys ⇒ Object
- #to_param ⇒ Object
- #webhook_enabled? ⇒ Boolean
Instance Method Details
#parsed_ingestion_methods ⇒ Object
30 31 32 33 34 |
# File 'app/models/tiler/data_source.rb', line 30 def parsed_ingestion_methods JSON.parse(ingestion_methods.presence || "[]") rescue JSON::ParserError [] end |
#parsed_schema ⇒ Object
24 25 26 27 28 |
# File 'app/models/tiler/data_source.rb', line 24 def parsed_schema JSON.parse(schema_definition.presence || "[]") rescue JSON::ParserError [] end |
#regenerate_webhook_token! ⇒ Object
44 45 46 |
# File 'app/models/tiler/data_source.rb', line 44 def regenerate_webhook_token! update!(webhook_token: SecureRandom.urlsafe_base64(32)) end |
#schema_column_keys ⇒ Object
36 37 38 |
# File 'app/models/tiler/data_source.rb', line 36 def schema_column_keys parsed_schema.map { |c| c["key"] } end |
#to_param ⇒ Object
48 49 50 |
# File 'app/models/tiler/data_source.rb', line 48 def to_param slug end |
#webhook_enabled? ⇒ Boolean
40 41 42 |
# File 'app/models/tiler/data_source.rb', line 40 def webhook_enabled? parsed_ingestion_methods.include?("webhook") end |