Sha256: 2c8f9fe85d2879c2dd989717fb05b8e98acfb90403c19b2f00347240cc1206ee

Contents?: true

Size: 829 Bytes

Versions: 3

Compression:

Stored size: 829 Bytes

Contents

module RenuoCmsRails
  class << self
    attr_writer :config
  end

  def self.config
    @config ||= Config.new
  end

  def self.reset
    @config = Config.new
  end

  def self.configure
    yield(config)
  end

  class Config
    attr_writer :api_host
    attr_reader :api_host
    private :api_host
    attr_accessor :api_key
    attr_accessor :private_api_key
    attr_accessor :content_path_generator

    def initialize
      self.api_host = ENV['RENUO_CMS_API_HOST']
      self.api_key = ENV['RENUO_CMS_API_KEY']
      self.private_api_key = ENV['RENUO_CMS_PRIVATE_API_KEY']
      self.content_path_generator = ->(path) { "#{path}-#{I18n.locale}" }
    end

    def api_host_with_protocol
      host = api_host
      return host if host.start_with?('https://', 'http://', '//')
      "https://#{host}"
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
renuo-cms-rails-0.2.1 lib/renuo_cms_rails/config.rb
renuo-cms-rails-0.2.0 lib/renuo_cms_rails/config.rb
renuo-cms-rails-0.1.0 lib/renuo_cms_rails/config.rb