Sha256: caa1c60794f0d103ea24cfe13954554dd3c42c85c41e7e05985611bd97d39a96

Contents?: true

Size: 1.06 KB

Versions: 6

Compression:

Stored size: 1.06 KB

Contents

require 'morale/storage'
require 'morale/platform'

module Morale
  module ConnectionStore
    include Morale::Storage
    include Morale::Platform
    
    def base_url
      if @base_url.nil?
        @base_url = read_connection
        if @base_url.nil?
          @base_url = default_base_url
          self.write_connection
        end
      end
      @base_url
    end
    
    def base_url=(value)
      @base_url = value
      self.write_connection
    end
    
    def location
      ENV['CONNECTION_LOCATION'] || default_location
    end
    
    def location=(value)
      ENV['CONNECTION_LOCATION'] = value
    end
    
    def default_location
      "#{home_directory}/.morale/connection"
    end
    
    def delete_connection
      self.delete
      @base_url = nil
    end
    
    def read_connection
      connection = self.read
      connection.split("\n") if connection
    end
    
    def write_connection
      self.write self.base_url
    end
    
    private
    
    def default_base_url
      ENV['DEFAULT_BASE_URL'] || "teammorale.com"
    end
    
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
morale-client-1.0.0 lib/morale/connection_store.rb
morale-client-0.0.1 lib/morale/connection_store.rb
morale-1.0.0 lib/morale/connection_store.rb
morale-0.1.3 lib/morale/connection_store.rb
morale-0.1.2 lib/morale/connection_store.rb
morale-0.1.1 lib/morale/connection_store.rb