Class: Alchemy::Configurations::Preview

Inherits:
Alchemy::Configuration show all
Defined in:
lib/alchemy/configurations/preview.rb

Defined Under Namespace

Classes: PreviewAuth

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Alchemy::Configuration

configuration, defined_configurations, defined_options, #fetch, option, #set, #set_from_yaml, #show, #to_h

Constructor Details

#initialize(configuration = {}) ⇒ Preview

Returns a new instance of Preview.



13
14
15
16
17
18
19
20
# File 'lib/alchemy/configurations/preview.rb', line 13

def initialize(configuration = {})
  @per_site_configs = []
  configuration = configuration.with_indifferent_access
  configuration.except(:host, :site_name, :auth).keys.each do |site_name|
    @per_site_configs << Preview.new(configuration[site_name].merge(site_name: site_name))
  end
  super(configuration.slice(:host, :site_name, :auth))
end

Instance Attribute Details

#per_site_configsObject (readonly)

Returns the value of attribute per_site_configs.



11
12
13
# File 'lib/alchemy/configurations/preview.rb', line 11

def per_site_configs
  @per_site_configs
end

Instance Method Details

#for_site(site) ⇒ Object



27
28
29
# File 'lib/alchemy/configurations/preview.rb', line 27

def for_site(site)
  per_site_configs.detect { _1.site_name == site.name } || self
end