Class: Knish::ModelConfig

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/knish/model_config.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(db_config, path, id = nil) ⇒ ModelConfig

Returns a new instance of ModelConfig.



6
7
8
9
10
11
# File 'lib/knish/model_config.rb', line 6

def initialize(db_config, path, id=nil)
  super(db_config)
  @path = path
  @db_config = db_config
  @id = id || next_id
end

Instance Attribute Details

#collectionsObject



21
22
23
# File 'lib/knish/model_config.rb', line 21

def collections
  @collections ||= []
end

#data_attributesObject



13
14
15
# File 'lib/knish/model_config.rb', line 13

def data_attributes
  @data_attributes ||= []
end

#db_configObject

Returns the value of attribute db_config.



3
4
5
# File 'lib/knish/model_config.rb', line 3

def db_config
  @db_config
end

#idObject

Returns the value of attribute id.



3
4
5
# File 'lib/knish/model_config.rb', line 3

def id
  @id
end

#markdown_attributesObject



17
18
19
# File 'lib/knish/model_config.rb', line 17

def markdown_attributes
  @markdown_attributes ||= []
end

#omitted_namespaceObject

Returns the value of attribute omitted_namespace.



3
4
5
# File 'lib/knish/model_config.rb', line 3

def omitted_namespace
  @omitted_namespace
end

#pathObject

Returns the value of attribute path.



3
4
5
# File 'lib/knish/model_config.rb', line 3

def path
  @path
end

Instance Method Details

#all_attributesObject



25
26
27
# File 'lib/knish/model_config.rb', line 25

def all_attributes
  data_attributes + markdown_attributes
end

#collection_rootObject



29
30
31
# File 'lib/knish/model_config.rb', line 29

def collection_root
  "#{db_config.db_root}/#{path}"
end

#inspectObject



45
46
47
48
49
# File 'lib/knish/model_config.rb', line 45

def inspect
  DelegateInspector.new(self,
    [:db_config, :path, :id, :omitted_namespace, :data_attributes, :markdown_attributes, :collections]
  ).to_inspect
end

#model_rootObject



33
34
35
# File 'lib/knish/model_config.rb', line 33

def model_root
  "#{collection_root}/#{id}"
end

#next_idObject



37
38
39
# File 'lib/knish/model_config.rb', line 37

def next_id
  ExistingModels.new(collection_root).next_id
end

#template_pathObject



41
42
43
# File 'lib/knish/model_config.rb', line 41

def template_path
  "#{view_to_db_path}/#{db_name}/#{path}/#{id}"
end