Sha256: 53b1483c83648074f2418e2bba42e1afee79d5bc3572638e016782816281583b

Contents?: true

Size: 1.65 KB

Versions: 38

Compression:

Stored size: 1.65 KB

Contents

module RubyApp
  require 'ruby_app/configuration'
  require 'ruby_app/log'
  require 'ruby_app/mixins/configure_mixin'
  require 'ruby_app/mixins/delegate_mixin'
  require 'ruby_app/mixins/hash_mixin'
  require 'ruby_app/session'
  require 'ruby_app/version'

  class Application
    extend RubyApp::Mixins::DelegateMixin
    include RubyApp::Mixins::ConfigureMixin

    attr_reader :options, :environment

    def initialize(options)
      @options = options
      @environment = {}
    end

    def start!
      RubyApp::Log.open!
      RubyApp::Configuration.load!
    end

    def stop!
      RubyApp::Configuration.unload!
      RubyApp::Log.close!
    end

    def self.get
      @@_application ||= nil
    end

    def self.create!(options = {})
      _options = { :application_class => RubyApp::Application,
                   :session_class => RubyApp::Session,
                   :log_path => File.join(RubyApp::ROOT, %w[log application.log]),
                   :configuration_paths => [],
                   :default_language => :en,
                   :translations_paths => [] }.merge(options)
      _options.configuration_paths = [File.join(RubyApp::ROOT, %w[config.yml])] + ( _options.configuration_paths.is_a?(Array) ? _options.configuration_paths : [_options.configuration_paths] )
      _options.translations_paths = [File.join(RubyApp::ROOT, %w[translations])] + ( _options.translations_paths.is_a?(Array) ? _options.translations_paths : [_options.translations_paths] )
      @@_application = _options.application_class.new(_options)
      @@_application.start!
    end

    def self.destroy!
      @@_application.stop!
      @@_application = nil
    end

  end

end

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
RubyApp-0.0.70 lib/ruby_app/application.rb
RubyApp-0.0.69 lib/ruby_app/application.rb
RubyApp-0.0.68 lib/ruby_app/application.rb
RubyApp-0.0.64 lib/ruby_app/application.rb
RubyApp-0.0.63 lib/ruby_app/application.rb
RubyApp-0.0.62 lib/ruby_app/application.rb
RubyApp-0.0.51 lib/ruby_app/application.rb
RubyApp-0.0.50 lib/ruby_app/application.rb
RubyApp-0.0.49 lib/ruby_app/application.rb
RubyApp-0.0.48 lib/ruby_app/application.rb
RubyApp-0.0.47 lib/ruby_app/application.rb
RubyApp-0.0.46 lib/ruby_app/application.rb
RubyApp-0.0.45 lib/ruby_app/application.rb
RubyApp-0.0.44 lib/ruby_app/application.rb
RubyApp-0.0.43 lib/ruby_app/application.rb
RubyApp-0.0.42 lib/ruby_app/application.rb
RubyApp-0.0.41 lib/ruby_app/application.rb
RubyApp-0.0.30 lib/ruby_app/application.rb
RubyApp-0.0.29 lib/ruby_app/application.rb
RubyApp-0.0.28 lib/ruby_app/application.rb