Class: Maglev::KnowledgeConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/maglev/knowledge_config.rb

Defined Under Namespace

Classes: Builder, ContentSource, Relation

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(model_class:, exposed_attributes:, hidden_attributes:, tags:, relations: [], attached_sources: [], rich_text_sources: []) ⇒ KnowledgeConfig

Returns a new instance of KnowledgeConfig.



27
28
29
30
31
32
33
34
35
36
# File 'lib/maglev/knowledge_config.rb', line 27

def initialize(model_class:, exposed_attributes:, hidden_attributes:, tags:, relations: [], attached_sources: [], rich_text_sources: [])
  @model_class = model_class
  @exposed_attributes = exposed_attributes.freeze
  @hidden_attributes = hidden_attributes.freeze
  @tags = tags.freeze
  @relations = relations.freeze
  @attached_sources = attached_sources.freeze
  @rich_text_sources = rich_text_sources.freeze
  freeze
end

Instance Attribute Details

#model_classObject (readonly)

Returns the value of attribute model_class.



21
22
23
# File 'lib/maglev/knowledge_config.rb', line 21

def model_class
  @model_class
end

Class Method Details

.build(model_class, &block) ⇒ Object



23
24
25
# File 'lib/maglev/knowledge_config.rb', line 23

def self.build(model_class, &block)
  Builder.new(model_class).build(&block)
end

Instance Method Details

#attached_sourcesObject



54
55
56
# File 'lib/maglev/knowledge_config.rb', line 54

def attached_sources
  @attached_sources.dup.freeze
end

#exposed_attributesObject



38
39
40
# File 'lib/maglev/knowledge_config.rb', line 38

def exposed_attributes
  @exposed_attributes.dup.freeze
end

#hidden_attributesObject



42
43
44
# File 'lib/maglev/knowledge_config.rb', line 42

def hidden_attributes
  @hidden_attributes.dup.freeze
end

#relationsObject



50
51
52
# File 'lib/maglev/knowledge_config.rb', line 50

def relations
  @relations.dup.freeze
end

#rich_text_sourcesObject



58
59
60
# File 'lib/maglev/knowledge_config.rb', line 58

def rich_text_sources
  @rich_text_sources.dup.freeze
end

#tagsObject



46
47
48
# File 'lib/maglev/knowledge_config.rb', line 46

def tags
  @tags.dup.freeze
end