class Object

Constants

UOS

Public Class Methods

extend(__file__, &block) click to toggle source

Generic ecosystem extension hook, for plugins and such

UnderOs.extend __FILE__ do |app|
  app.extra_things..
end
# File lib/under-os-core.rb, line 11
def self.extend(__file__, &block)
  UnderOs.setup_callbacks[__file__] = block
  UnderOs.setup_callbacks.size == 1 && Motion::Project::App.instance_eval do
    alias :setup_before_under_os :setup
    def setup(*args, &block)
      config.setup_blocks << proc do |app|
        UnderOs.setup_callbacks.each do |__file__, block|
          Dir.glob(File.dirname(__file__) + '/**/*.rb').sort.each do |file|
            position = app.files.index {|i| i.slice(0, 2) == "./" }
            app.files.insert(position, file) if file != __file__
          end

          module_assets_folder = File.dirname(__file__) + "/assets"
          app.resources_dirs << module_assets_folder if File.exists?(module_assets_folder)

          block.call(app) if block
        end
      end

      setup_before_under_os *args, &block
    end
  end
end
setup_callbacks() click to toggle source
# File lib/under-os-core.rb, line 35
def self.setup_callbacks
  @callbacks ||= {}
end

Public Instance Methods

setup(*args, &block) click to toggle source
# File lib/under-os-core.rb, line 15
def setup(*args, &block)
  config.setup_blocks << proc do |app|
    UnderOs.setup_callbacks.each do |__file__, block|
      Dir.glob(File.dirname(__file__) + '/**/*.rb').sort.each do |file|
        position = app.files.index {|i| i.slice(0, 2) == "./" }
        app.files.insert(position, file) if file != __file__
      end

      module_assets_folder = File.dirname(__file__) + "/assets"
      app.resources_dirs << module_assets_folder if File.exists?(module_assets_folder)

      block.call(app) if block
    end
  end

  setup_before_under_os *args, &block
end
to_json(pretty=nil) click to toggle source
# File lib/core/object.rb, line 2
def to_json(pretty=nil)
  JSON.generate(self, pretty)
end