Sha256: bb95f1b2ab02cacf5c0602417675512a81b5845f0b586ad82fba4cf0ffd2c8a2

Contents?: true

Size: 589 Bytes

Versions: 14

Compression:

Stored size: 589 Bytes

Contents

require 'ostruct'

module AbPanel
  class Config
    def initialize
      OpenStruct.new settings
    end

    def experiments
      settings.keys.map(&:to_sym)
    end

    def scenarios(experiment)
      raise ArgumentError.new( "Fatal: Experiment config not found for #{experiment}" ) unless experiments.include? experiment.to_sym
      ( settings[experiment.to_sym].map(&:to_sym) + [:original] ).uniq
    end


    def settings
      @settings ||= YAML.load(
        ERB.new(File.read(File.join(Rails.root, 'config', 'ab_panel.yml'))).result)
        .symbolize_keys
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
ab_panel-0.2.0 lib/ab_panel/config.rb
ab_panel-0.1.3 lib/ab_panel/config.rb
ab_panel-0.1.2 lib/ab_panel/config.rb
ab_panel-0.1.1 lib/ab_panel/config.rb
ab_panel-0.1.0 lib/ab_panel/config.rb
ab_panel-0.0.9 lib/ab_panel/config.rb
ab_panel-0.0.8 lib/ab_panel/config.rb
ab_panel-0.0.7 lib/ab_panel/config.rb
ab_panel-0.0.6 lib/ab_panel/config.rb
ab_panel-0.0.5 lib/ab_panel/config.rb
ab_panel-0.0.4 lib/ab_panel/config.rb
ab_panel-0.0.3 lib/ab_panel/config.rb
ab_panel-0.0.2 lib/ab_panel/config.rb
ab_panel-0.0.1 lib/ab_panel/config.rb