Sha256: cf71c508b70f8fde837f56e51f58238c445b7693a5263bd088d402a28267501a

Contents?: true

Size: 957 Bytes

Versions: 1

Compression:

Stored size: 957 Bytes

Contents

require 'lotion/version'
require 'codependency'

module Lotion
  class << self

    ##
    # Public API for accessing the dependency graph. Checks to make sure
    # we are in a RubyMotion Rakefile, then yields the graph to the block.
    # Projects and libraries can use this to add themselves to the
    # dependency graph search path.
    def require
      unless defined?( Motion::Project::Config )
        raise <<-EOS
====================================================
This file must be required in a RubyMotion Rakefile.
====================================================
        EOS
      end

      yield graph
    end

    private

    ##
    # The shared dependency graph. Projects and libraries should access
    # this through `Lotion.require`.
    def graph
      @graph ||= Codependency::Graph.new
    end
  end
end

##
# Add this library to the load path.
Lotion.require do |graph|
  graph.path << File.expand_path( '..', __FILE__ )
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lotion-0.1.0 lib/lotion.rb