Module: Tairu::Configuration
- Included in:
- Tairu
- Defined in:
- lib/tairu/configuration.rb
Instance Attribute Summary collapse
-
#cache ⇒ Object
Returns the value of attribute cache.
-
#layers ⇒ Object
Returns the value of attribute layers.
-
#name ⇒ Object
Returns the value of attribute name.
-
#tilesets ⇒ Object
Returns the value of attribute tilesets.
Instance Method Summary collapse
- #add_layers(layers = {}) ⇒ Object
- #config_from_file(file) ⇒ Object
- #configure {|_self| ... } ⇒ Object
- #configure_cache ⇒ Object
- #configure_layers ⇒ Object
- #configure_tilesets ⇒ Object
- #start_cache(cache_type = nil, options = nil) ⇒ Object
Instance Attribute Details
#cache ⇒ Object
Returns the value of attribute cache.
5 6 7 |
# File 'lib/tairu/configuration.rb', line 5 def cache @cache end |
#layers ⇒ Object
Returns the value of attribute layers.
5 6 7 |
# File 'lib/tairu/configuration.rb', line 5 def layers @layers end |
#name ⇒ Object
Returns the value of attribute name.
5 6 7 |
# File 'lib/tairu/configuration.rb', line 5 def name @name end |
#tilesets ⇒ Object
Returns the value of attribute tilesets.
5 6 7 |
# File 'lib/tairu/configuration.rb', line 5 def tilesets @tilesets end |
Instance Method Details
#add_layers(layers = {}) ⇒ Object
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/tairu/configuration.rb', line 31 def add_layers(layers={}) raise RuntimeError.new('No layers specified') if layers.empty? layers.each do |k,v| unless self.layers.include?(k) self.layers[k] = v self.tilesets[k] = Tairu::Store::TYPES[v['provider'].downcase].new(k) end end end |
#config_from_file(file) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/tairu/configuration.rb', line 54 def config_from_file(file) file = File.(file) if File.exists?(file) data = YAML.load_file(file) else raise 'Configuration file not found at specified location.' end raise RuntimeError.new('At least one layer must be specified') unless data['layers'] configure do |config| config.name = data['name'] config.layers = data['layers'] config.cache = data['cache'] end end |
#configure {|_self| ... } ⇒ Object
7 8 9 10 11 12 |
# File 'lib/tairu/configuration.rb', line 7 def configure yield self configure_layers configure_cache configure_tilesets end |
#configure_cache ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/tairu/configuration.rb', line 14 def configure_cache if self.cache unless self.cache.instance_of? Tairu::Cache if self.cache.instance_of? Hash if self.cache['type'] = self.cache['options'] || nil self.cache = start_cache(self.cache['type'], ) else raise RuntimeError.new('No cache type sepecified') end end end else self.cache = start_cache end end |
#configure_layers ⇒ Object
42 43 44 |
# File 'lib/tairu/configuration.rb', line 42 def configure_layers raise RuntimeError.new('At least one layer must be specified') unless self.layers end |