Hokkaido 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/ansiterm-color/lib/term/ansicolor.rb +2 -0
- data/lib/Hokkaido.rb +13 -1
- data/lib/Hokkaido/version.rb +1 -1
- data/lib/gem_modifier.rb +36 -6
- metadata +2 -2
data/lib/Hokkaido.rb
CHANGED
@@ -8,6 +8,18 @@ RUBYMOTION_GEM_CONFIG = <<-HEREDOC
|
|
8
8
|
Motion::Project::App.setup do |app|
|
9
9
|
MAIN_CONFIG_FILES
|
10
10
|
end
|
11
|
+
HEREDOC
|
12
|
+
|
13
|
+
EVAL_HACK = <<-HEREDOC
|
14
|
+
def eval(&block)
|
15
|
+
if self.is_a?(Class)
|
16
|
+
class_eval(&block)
|
17
|
+
elsif self.is_a?(Module)
|
18
|
+
module_eval(&block)
|
19
|
+
elsif self.is_a?(Object)
|
20
|
+
instance_eval(&block)
|
21
|
+
end
|
22
|
+
end
|
11
23
|
HEREDOC
|
12
24
|
|
13
25
|
INCLUDE_STRING = " app.files << File.expand_path(File.join(File.dirname(__FILE__),'RELATIVE_LIBRARY_PATH'))"
|
@@ -29,7 +41,7 @@ HEREDOC
|
|
29
41
|
end
|
30
42
|
|
31
43
|
def produced_eval_fixme
|
32
|
-
File.read(@true_path).include?("FIXME:
|
44
|
+
File.read(@true_path).include?("FIXME: ")
|
33
45
|
end
|
34
46
|
end
|
35
47
|
|
data/lib/Hokkaido/version.rb
CHANGED
data/lib/gem_modifier.rb
CHANGED
@@ -4,7 +4,15 @@ require 'tempfile'
|
|
4
4
|
|
5
5
|
require 'pry'
|
6
6
|
|
7
|
-
# require
|
7
|
+
# remove #require
|
8
|
+
# remove #autoload
|
9
|
+
# generate and add manifest to front of file
|
10
|
+
# add version.rb and config.rb files
|
11
|
+
|
12
|
+
# convert eval to module, instance or class eval
|
13
|
+
# eval def to define method
|
14
|
+
|
15
|
+
# #binding not support
|
8
16
|
|
9
17
|
class File
|
10
18
|
def self.prepend(path, string)
|
@@ -110,12 +118,32 @@ module Hokkaido
|
|
110
118
|
current_file += "# #{line}"
|
111
119
|
next
|
112
120
|
|
113
|
-
|
121
|
+
|
114
122
|
elsif line.strip =~ /^eval/
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
123
|
+
# reprint as a block
|
124
|
+
# parser = RubyParser.new
|
125
|
+
# sexp = parser.parse(line)
|
126
|
+
# code_str = sexp[3][1][1]
|
127
|
+
# new_eval = "eval do\n #{code_str}\nend\n"
|
128
|
+
# current_file += "#{new_eval}"
|
129
|
+
# next
|
130
|
+
|
131
|
+
# produce a fixme
|
132
|
+
|
133
|
+
current_file += "# FIXME: Cannot eval strings in RubyMotion. \n"
|
134
|
+
current_file += "# Rewrite to use a block.. inbuilt hack will run \n"
|
135
|
+
current_file += "# Change this: \n"
|
136
|
+
current_file += "# eval %Q{ \n"
|
137
|
+
current_file += '# def #{c}(string = nil) ' + "\n"
|
138
|
+
current_file += "# To this \n"
|
139
|
+
current_file += "# eval do \n"
|
140
|
+
current_file += "# define_method(c) do |string| \n"
|
141
|
+
current_file += "#{line}"
|
142
|
+
next
|
143
|
+
elsif line.strip =~ /^binding/
|
144
|
+
current_file += "# FIXME: binding is not supported in RubyMotion.\n"
|
145
|
+
current_file += "#{line}"
|
146
|
+
next
|
119
147
|
end
|
120
148
|
|
121
149
|
# dont intefere
|
@@ -144,6 +172,8 @@ module Hokkaido
|
|
144
172
|
|
145
173
|
File.prepend(File.join(@lib_folder, @init_lib), @manifest)
|
146
174
|
|
175
|
+
File.prepend(File.join(@lib_folder, @init_lib), EVAL_HACK)
|
176
|
+
|
147
177
|
end
|
148
178
|
|
149
179
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: Hokkaido
|
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:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-10-
|
13
|
+
date: 2012-10-12 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rspec
|