motion-bundler 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +5 -0
- data/Rakefile +2 -3
- data/VERSION +1 -1
- data/lib/motion-bundler/device/core_ext.rb +2 -0
- data/lib/motion-bundler/require/ripper.rb +21 -12
- data/lib/motion-bundler/simulator/boot.rb +0 -1
- data/lib/motion-bundler/simulator/core_ext.rb +16 -0
- data/lib/motion-bundler/version.rb +1 -1
- data/motion-bundler.gemspec +0 -2
- data/sample_app/lib/foo.rb +1 -0
- data/test/.gemfiles/simulator/test_setup.lock +1 -3
- data/test/motion/simulator/test_setup.rb +0 -4
- data/test/unit/require/test_ripper.rb +12 -5
- data/test/unit/simulator/test_core_ext.rb +18 -0
- metadata +3 -19
data/CHANGELOG.rdoc
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
= MotionBundler CHANGELOG
|
2
2
|
|
3
|
+
== Version 0.1.4 (May 29, 2013)
|
4
|
+
|
5
|
+
* Not using colorize as gem dependency anymore: defining String#yellow, String#green, String#red in MotionBundler itself
|
6
|
+
* Fixed `duplicate symbol` error caused when requiring a file within `Dir["app/**/*.rb"]`
|
7
|
+
|
3
8
|
== Version 0.1.3 (May 28, 2013)
|
4
9
|
|
5
10
|
* Altered `simulator?` (and thus `device?`) determination (in simulator when ARGV is empty)
|
data/Rakefile
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
#!/usr/bin/env rake
|
2
2
|
require "bundler/gem_tasks"
|
3
3
|
require "rake/testtask"
|
4
|
-
require "colorize"
|
5
4
|
|
6
5
|
task :default => "test/unit"
|
7
6
|
|
@@ -16,11 +15,11 @@ task "test/motion" do
|
|
16
15
|
if ENV["BUNDLE_GEMFILE"] == "foo"
|
17
16
|
FileList["test/motion/**/test_*.rb"].each_with_index do |test_file, index|
|
18
17
|
puts if index > 0 || ARGV.include?("test/unit")
|
19
|
-
puts "#{test_file}:\n"
|
18
|
+
puts "\e[0;32;49m#{test_file}:\n\e[0m"
|
20
19
|
test_file = File.expand_path test_file
|
21
20
|
system "cd #{File.dirname test_file} && ruby #{File.basename test_file}"
|
22
21
|
end
|
23
22
|
else
|
24
|
-
puts "
|
23
|
+
puts "\e[0;31;49mPlease use `.rake` to run motion tests\e[0m"
|
25
24
|
end
|
26
25
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.4
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require "set"
|
1
2
|
require "motion-bundler/require/ripper/builder"
|
2
3
|
|
3
4
|
module MotionBundler
|
@@ -33,20 +34,28 @@ module MotionBundler
|
|
33
34
|
|
34
35
|
builder = Builder.new source
|
35
36
|
builder.requires.each do |method, args|
|
36
|
-
(@
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
else
|
44
|
-
MotionBundler.app_require file
|
45
|
-
end
|
46
|
-
end
|
37
|
+
(@requires[source] ||= []) << args[0]
|
38
|
+
|
39
|
+
file = begin
|
40
|
+
if method == :require_relative
|
41
|
+
File.expand_path("../#{args[0]}.rb", source)
|
42
|
+
else
|
43
|
+
Require.resolve(args[0])
|
47
44
|
end
|
48
45
|
end
|
49
|
-
|
46
|
+
|
47
|
+
next if @sources.any?{|x| File.expand_path(x) == File.expand_path(file)}
|
48
|
+
|
49
|
+
if file.include?(File.expand_path("."))
|
50
|
+
added_sources << file
|
51
|
+
else
|
52
|
+
MotionBundler.app_require file
|
53
|
+
end
|
54
|
+
|
55
|
+
@files << source
|
56
|
+
@files << file
|
57
|
+
|
58
|
+
(@files_dependencies[source] ||= []) << file
|
50
59
|
end
|
51
60
|
|
52
61
|
unless added_sources.empty?
|
@@ -48,4 +48,20 @@ class Module
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
+
end
|
52
|
+
|
53
|
+
class String
|
54
|
+
def yellow
|
55
|
+
colorize 33
|
56
|
+
end
|
57
|
+
def green
|
58
|
+
colorize 32
|
59
|
+
end
|
60
|
+
def red
|
61
|
+
colorize 31
|
62
|
+
end
|
63
|
+
private
|
64
|
+
def colorize(color)
|
65
|
+
"\e[0;#{color};49m#{self}\e[0m"
|
66
|
+
end
|
51
67
|
end
|
data/motion-bundler.gemspec
CHANGED
data/sample_app/lib/foo.rb
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: /Users/paulengel/Sources/motion-bundler
|
3
3
|
specs:
|
4
|
-
motion-bundler (0.1.
|
5
|
-
colorize
|
4
|
+
motion-bundler (0.1.3)
|
6
5
|
|
7
6
|
PATH
|
8
7
|
remote: /Users/paulengel/Sources/motion-bundler/test/gems/slot_machine
|
@@ -12,7 +11,6 @@ PATH
|
|
12
11
|
GEM
|
13
12
|
remote: https://rubygems.org/
|
14
13
|
specs:
|
15
|
-
colorize (0.5.8)
|
16
14
|
|
17
15
|
PLATFORMS
|
18
16
|
ruby
|
@@ -17,8 +17,6 @@ module Motion
|
|
17
17
|
SlotMachine
|
18
18
|
end
|
19
19
|
|
20
|
-
colorize = "#{Bundler.load.specs.detect{|x| x.name == "colorize"}.full_gem_path}/lib/colorize.rb"
|
21
|
-
|
22
20
|
Motion::Project::App.any_instance.expects(:files).returns %w(
|
23
21
|
/Users/paulengel/foo.rb
|
24
22
|
/Users/paulengel/bar.rb
|
@@ -28,7 +26,6 @@ module Motion
|
|
28
26
|
MotionBundler::MOTION_BUNDLER_FILE,
|
29
27
|
motion_bundler_file("motion-bundler/simulator/boot.rb"),
|
30
28
|
motion_bundler_file("motion-bundler/simulator/core_ext.rb"),
|
31
|
-
colorize,
|
32
29
|
motion_bundler_file("motion-bundler/simulator/console.rb"),
|
33
30
|
gem_path("slot_machine/lib/slot_machine.rb"),
|
34
31
|
gem_path("slot_machine/lib/slot_machine/version.rb"),
|
@@ -47,7 +44,6 @@ module Motion
|
|
47
44
|
Motion::Project::App.any_instance.expects(:files_dependencies).with(
|
48
45
|
motion_bundler_file("motion-bundler/simulator/boot.rb") => [
|
49
46
|
motion_bundler_file("motion-bundler/simulator/core_ext.rb"),
|
50
|
-
colorize,
|
51
47
|
motion_bundler_file("motion-bundler/simulator/console.rb")
|
52
48
|
],
|
53
49
|
gem_path("slot_machine/lib/slot_machine.rb") => [
|
@@ -16,7 +16,8 @@ module Unit
|
|
16
16
|
foo_builder = mock "object"
|
17
17
|
foo_builder.expects(:requires).returns [
|
18
18
|
[:require, ["baz"]],
|
19
|
-
[:require_relative, ["qux"]]
|
19
|
+
[:require_relative, ["qux"]],
|
20
|
+
[:require_relative, ["bar"]]
|
20
21
|
]
|
21
22
|
MotionBundler::Require::Ripper::Builder.expects(:new).with("./app/controllers/foo_controller.rb").returns foo_builder
|
22
23
|
|
@@ -26,7 +27,11 @@ module Unit
|
|
26
27
|
|
27
28
|
qux_builder = mock "object"
|
28
29
|
qux_builder.expects(:requires).returns []
|
29
|
-
MotionBundler::Require::Ripper::Builder.expects(:new).with(
|
30
|
+
MotionBundler::Require::Ripper::Builder.expects(:new).with("./app/controllers/qux.rb").returns qux_builder
|
31
|
+
|
32
|
+
bar_builder = mock "object"
|
33
|
+
bar_builder.expects(:requires).returns []
|
34
|
+
MotionBundler::Require::Ripper::Builder.expects(:new).with(File.expand_path("./app/controllers/bar.rb")).returns bar_builder
|
30
35
|
|
31
36
|
MotionBundler::Require.expects(:resolve).with("stringio").returns("stdlib/stringio.rb")
|
32
37
|
MotionBundler::Require.expects(:resolve).with("strscan").returns("mocks/strscan.rb")
|
@@ -35,7 +40,8 @@ module Unit
|
|
35
40
|
ripper = MotionBundler::Require::Ripper.new(
|
36
41
|
"./app/controllers/app_controller.rb",
|
37
42
|
"./app/controllers/foo_controller.rb",
|
38
|
-
"./app/controllers/baz_controller.rb"
|
43
|
+
"./app/controllers/baz_controller.rb",
|
44
|
+
"./app/controllers/qux.rb"
|
39
45
|
)
|
40
46
|
|
41
47
|
assert_equal([
|
@@ -44,7 +50,7 @@ module Unit
|
|
44
50
|
"mocks/strscan.rb",
|
45
51
|
"./app/controllers/foo_controller.rb",
|
46
52
|
"lib/baz.rb",
|
47
|
-
File.expand_path("app/controllers/
|
53
|
+
File.expand_path("app/controllers/bar.rb")
|
48
54
|
], ripper.files)
|
49
55
|
assert_equal({
|
50
56
|
"./app/controllers/app_controller.rb" => [
|
@@ -53,7 +59,7 @@ module Unit
|
|
53
59
|
],
|
54
60
|
"./app/controllers/foo_controller.rb" => [
|
55
61
|
"lib/baz.rb",
|
56
|
-
File.expand_path("app/controllers/
|
62
|
+
File.expand_path("app/controllers/bar.rb")
|
57
63
|
]
|
58
64
|
}, ripper.files_dependencies)
|
59
65
|
assert_equal({
|
@@ -64,6 +70,7 @@ module Unit
|
|
64
70
|
"./app/controllers/foo_controller.rb" => %w(
|
65
71
|
baz
|
66
72
|
qux
|
73
|
+
bar
|
67
74
|
)
|
68
75
|
}, ripper.requires)
|
69
76
|
end
|
@@ -42,6 +42,24 @@ module Unit
|
|
42
42
|
assert_equal false, Kernel.respond_to?(:console)
|
43
43
|
assert_equal false, Kernel.respond_to?(:_ruby_require)
|
44
44
|
end
|
45
|
+
|
46
|
+
it "should be able to colorize messages" do
|
47
|
+
string = "MESSAGE"
|
48
|
+
|
49
|
+
assert_equal "\e[0;1982;49mMESSAGE\e[0m", string.send(:colorize, 1982)
|
50
|
+
assert_equal "\e[0;33;49mMESSAGE\e[0m", string.yellow
|
51
|
+
assert_equal "\e[0;32;49mMESSAGE\e[0m", string.green
|
52
|
+
assert_equal "\e[0;31;49mMESSAGE\e[0m", string.red
|
53
|
+
|
54
|
+
string.expects(:colorize).with(33)
|
55
|
+
string.yellow
|
56
|
+
|
57
|
+
string.expects(:colorize).with(32)
|
58
|
+
string.green
|
59
|
+
|
60
|
+
string.expects(:colorize).with(31)
|
61
|
+
string.red
|
62
|
+
end
|
45
63
|
end
|
46
64
|
|
47
65
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: motion-bundler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -59,22 +59,6 @@ dependencies:
|
|
59
59
|
- - ! '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: colorize
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ! '>='
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '0'
|
70
|
-
type: :runtime
|
71
|
-
prerelease: false
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ! '>='
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0'
|
78
62
|
description: Use Ruby gems and mock require statements within RubyMotion applications
|
79
63
|
email:
|
80
64
|
- paul.engel@holder.nl
|
@@ -199,7 +183,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
199
183
|
version: '0'
|
200
184
|
segments:
|
201
185
|
- 0
|
202
|
-
hash:
|
186
|
+
hash: 3894260479550083785
|
203
187
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
204
188
|
none: false
|
205
189
|
requirements:
|
@@ -208,7 +192,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
208
192
|
version: '0'
|
209
193
|
segments:
|
210
194
|
- 0
|
211
|
-
hash:
|
195
|
+
hash: 3894260479550083785
|
212
196
|
requirements: []
|
213
197
|
rubyforge_project:
|
214
198
|
rubygems_version: 1.8.25
|