motion-require 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -17,7 +17,7 @@ end
17
17
  require 'motion/project'
18
18
 
19
19
  require 'motion-require'
20
- Motion::Require.all(Dir.glob("app/**/*.rb")
20
+ Motion::Require.all(Dir.glob("app/**/*.rb"))
21
21
 
22
22
  Motion::Project::App.setup do |app|
23
23
  # ...
@@ -50,4 +50,4 @@ Clay Allsopp ([http://clayallsopp.com](http://clayallsopp.com))
50
50
 
51
51
  ## License
52
52
 
53
- motion-require is available under the MIT license. See the LICENSE file for more info.
53
+ motion-require is available under the MIT license. See the LICENSE file for more info.
@@ -1,5 +1,5 @@
1
1
  module Motion
2
2
  module Require
3
- VERSION="0.0.1"
3
+ VERSION="0.0.2"
4
4
  end
5
5
  end
@@ -1,5 +1,37 @@
1
1
  require 'ripper'
2
2
 
3
+ # Hack until HipByte accepts https://github.com/HipByte/RubyMotion/pull/82
4
+ # Stolen from BubbleWrap
5
+ module Motion::Require
6
+ module Ext
7
+ module ConfigTask
8
+
9
+ def self.included(base)
10
+ base.class_eval do
11
+ alias_method :files_dependencies_without_require, :files_dependencies
12
+ alias_method :files_dependencies, :files_dependencies_with_require
13
+ end
14
+ end
15
+
16
+ def files_dependencies_with_require(deps_hash)
17
+ res_path = lambda do |x|
18
+ path = /^\.?\//.match(x) ? x : File.join('.', x)
19
+ unless @files.flatten.include?(path)
20
+ Motion::Project::App.send(:fail, "Can't resolve dependency `#{x}'")
21
+ end
22
+ path
23
+ end
24
+ deps_hash.each do |path, deps|
25
+ deps = [deps] unless deps.is_a?(Array)
26
+ @dependencies[res_path.call(path)] = deps.map(&res_path)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+
33
+ Motion::Project::Config.send(:include, Motion::Require::Ext::ConfigTask)
34
+
3
35
  module Motion
4
36
  module Require
5
37
  class RequireBuilder < Ripper::SexpBuilder
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: motion-require
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: