class Knish::CollectionConfig
Attributes
db_config[RW]
model_config[RW]
path[RW]
unpersisted_count[RW]
Public Class Methods
new(model_config, path)
click to toggle source
Calls superclass method
# File lib/knish/collection_config.rb, line 5 def initialize(model_config, path) super(model_config.db_config) @path = path @db_config = model_config.db_config @model_config = model_config @unpersisted_count = 0 end
Public Instance Methods
collection_root()
click to toggle source
# File lib/knish/collection_config.rb, line 13 def collection_root "#{model_config.model_root}/#{path}" end
generic_config()
click to toggle source
# File lib/knish/collection_config.rb, line 25 def generic_config ModelConfig.new(Knish.config, '') end
generic_model_configs()
click to toggle source
# File lib/knish/collection_config.rb, line 21 def generic_model_configs ExistingModels.new(collection_root).ids.map { |id| member_config(generic_config, id) } end
inspect()
click to toggle source
# File lib/knish/collection_config.rb, line 29 def inspect DelegateInspector.new(self, [:db_config, :model_config, :path] ).to_inspect end
member_config(original_config, id=nil)
click to toggle source
# File lib/knish/collection_config.rb, line 35 def member_config(original_config, id=nil) config = original_config.clone config.id = member_id(id) config.path = "#{model_config.path}/#{model_config.id}/#{path}" config end
next_id()
click to toggle source
# File lib/knish/collection_config.rb, line 17 def next_id ExistingModels.new(collection_root).next_id + unpersisted_count end
Private Instance Methods
member_id(id)
click to toggle source
# File lib/knish/collection_config.rb, line 44 def member_id(id) return id if id id = next_id self.unpersisted_count += 1 id end