Sha256: 66dca1d71c327a1a3d5e5013c4447b83f5438ef1ec121ee49304007dd403de76

Contents?: true

Size: 1.86 KB

Versions: 25

Compression:

Stored size: 1.86 KB

Contents

unless defined?(Motion::Project::Config)
  raise 'The sugarcube gem must be required within a RubyMotion project Rakefile.'
end


module SugarCube
  module_function

  def ios_only!(package)
    unless ios?
      raise "The '\033[0;1msugarcube-#{package}\033[0m' package is only available on iOS."
    end
  end

  def osx_only!(package)
    unless osx?
      raise "The '\033[0;1msugarcube-#{package}\033[0m' package is only available on OS X."
    end
  end

  def cocoa_only!(package)
    unless cocoa?
      raise "The '\033[0;1msugarcube-#{package}\033[0m' package is only available on OS X or iOS."
    end
  end

  def ios?
    App.template.to_s =~ /ios/
  end

  def osx?
    App.template.to_s =~ /osx/
  end

  def android?
    App.template.to_s =~ /android/
  end

  def cocoa?
    ios? || osx?
  end

  def platform
    if ios?
      'ios'
    elsif osx?
      'osx'
    elsif android?
      'android'
    else
      App.template.to_s
    end
  end

end

Motion::Project::App.setup do |app|
  # scans app.files until it finds app/ (the default)
  # if found, it inserts just before those files, otherwise it will insert to
  # the end of the list
  insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0

  app.files.insert(insert_point, File.join(File.dirname(__FILE__), 'version.rb'))
  Dir.glob(File.join(File.dirname(__FILE__), SugarCube.platform, 'sugarcube/**/*.rb')).reverse.each do |file|
    app.files.insert(insert_point, file)
  end
  Dir.glob(File.join(File.dirname(__FILE__), 'cocoa/sugarcube/**/*.rb')).reverse.each do |file|
    app.files.insert(insert_point, file)
  end
  Dir.glob(File.join(File.dirname(__FILE__), 'all/sugarcube/**/*.rb')).reverse.each do |file|
    app.files.insert(insert_point, file)
  end
end

require File.join(File.dirname(__FILE__), 'sugarcube-coregraphics.rb')
require File.join(File.dirname(__FILE__), 'sugarcube-to_s.rb')

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
sugarcube-2.1.5 lib/sugarcube.rb
sugarcube-2.1.4 lib/sugarcube.rb
sugarcube-2.1.3 lib/sugarcube.rb
sugarcube-2.1.2 lib/sugarcube.rb
sugarcube-2.1.1 lib/sugarcube.rb