macgyver 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +5 -0
- data/Gemfile +4 -0
- data/LICENSE +20 -0
- data/README.md +45 -0
- data/Rakefile +1 -0
- data/assets/MacGap.app/Contents/Frameworks/Growl.framework/Growl +0 -0
- data/assets/MacGap.app/Contents/Frameworks/Growl.framework/Versions/A/Growl +0 -0
- data/assets/MacGap.app/Contents/Frameworks/Growl.framework/Versions/A/Headers/Growl.h +5 -0
- data/assets/MacGap.app/Contents/Frameworks/Growl.framework/Versions/A/Headers/GrowlApplicationBridge.h +551 -0
- data/assets/MacGap.app/Contents/Frameworks/Growl.framework/Versions/A/Headers/GrowlDefines.h +341 -0
- data/assets/MacGap.app/Contents/Frameworks/Growl.framework/Versions/A/Resources/Info.plist +40 -0
- data/assets/MacGap.app/Contents/Frameworks/Growl.framework/Versions/A/_CodeSignature/CodeResources +34 -0
- data/assets/MacGap.app/Contents/Info.plist +48 -0
- data/assets/MacGap.app/Contents/MacOS/MacGap +0 -0
- data/assets/MacGap.app/Contents/PkgInfo +1 -0
- data/assets/MacGap.app/Contents/Resources/_debugger.js +1718 -0
- data/assets/MacGap.app/Contents/Resources/_http_agent.js +310 -0
- data/assets/MacGap.app/Contents/Resources/_http_client.js +533 -0
- data/assets/MacGap.app/Contents/Resources/_http_common.js +222 -0
- data/assets/MacGap.app/Contents/Resources/_http_incoming.js +194 -0
- data/assets/MacGap.app/Contents/Resources/_http_outgoing.js +597 -0
- data/assets/MacGap.app/Contents/Resources/_http_server.js +510 -0
- data/assets/MacGap.app/Contents/Resources/_linklist.js +76 -0
- data/assets/MacGap.app/Contents/Resources/_stream_duplex.js +69 -0
- data/assets/MacGap.app/Contents/Resources/_stream_passthrough.js +41 -0
- data/assets/MacGap.app/Contents/Resources/_stream_readable.js +900 -0
- data/assets/MacGap.app/Contents/Resources/_stream_transform.js +204 -0
- data/assets/MacGap.app/Contents/Resources/_stream_writable.js +456 -0
- data/assets/MacGap.app/Contents/Resources/_tls_legacy.js +887 -0
- data/assets/MacGap.app/Contents/Resources/_tls_wrap.js +831 -0
- data/assets/MacGap.app/Contents/Resources/application.icns +0 -0
- data/assets/MacGap.app/Contents/Resources/assert.js +326 -0
- data/assets/MacGap.app/Contents/Resources/buffer.js +724 -0
- data/assets/MacGap.app/Contents/Resources/child_process.js +1107 -0
- data/assets/MacGap.app/Contents/Resources/cluster.js +613 -0
- data/assets/MacGap.app/Contents/Resources/console.js +108 -0
- data/assets/MacGap.app/Contents/Resources/constants.js +22 -0
- data/assets/MacGap.app/Contents/Resources/crypto.js +691 -0
- data/assets/MacGap.app/Contents/Resources/dgram.js +459 -0
- data/assets/MacGap.app/Contents/Resources/dns.js +274 -0
- data/assets/MacGap.app/Contents/Resources/domain.js +292 -0
- data/assets/MacGap.app/Contents/Resources/en.lproj/Credits.rtf +29 -0
- data/assets/MacGap.app/Contents/Resources/en.lproj/InfoPlist.strings +0 -0
- data/assets/MacGap.app/Contents/Resources/en.lproj/MainMenu.nib +0 -0
- data/assets/MacGap.app/Contents/Resources/en.lproj/Window.nib +0 -0
- data/assets/MacGap.app/Contents/Resources/events.js +312 -0
- data/assets/MacGap.app/Contents/Resources/freelist.js +43 -0
- data/assets/MacGap.app/Contents/Resources/fs.js +1732 -0
- data/assets/MacGap.app/Contents/Resources/http.js +119 -0
- data/assets/MacGap.app/Contents/Resources/https.js +134 -0
- data/assets/MacGap.app/Contents/Resources/module.js +529 -0
- data/assets/MacGap.app/Contents/Resources/net.js +1378 -0
- data/assets/MacGap.app/Contents/Resources/nodelike.js +195 -0
- data/assets/MacGap.app/Contents/Resources/os.js +64 -0
- data/assets/MacGap.app/Contents/Resources/path.js +517 -0
- data/assets/MacGap.app/Contents/Resources/public/index.html +38 -0
- data/assets/MacGap.app/Contents/Resources/punycode.js +507 -0
- data/assets/MacGap.app/Contents/Resources/querystring.js +206 -0
- data/assets/MacGap.app/Contents/Resources/readline.js +1311 -0
- data/assets/MacGap.app/Contents/Resources/repl.js +945 -0
- data/assets/MacGap.app/Contents/Resources/smalloc.js +90 -0
- data/assets/MacGap.app/Contents/Resources/stream.js +127 -0
- data/assets/MacGap.app/Contents/Resources/string_decoder.js +189 -0
- data/assets/MacGap.app/Contents/Resources/sys.js +24 -0
- data/assets/MacGap.app/Contents/Resources/timers.js +568 -0
- data/assets/MacGap.app/Contents/Resources/tls.js +220 -0
- data/assets/MacGap.app/Contents/Resources/tty.js +129 -0
- data/assets/MacGap.app/Contents/Resources/url.js +693 -0
- data/assets/MacGap.app/Contents/Resources/util.js +688 -0
- data/assets/MacGap.app/Contents/Resources/vm.js +73 -0
- data/assets/MacGap.app/Contents/Resources/zlib.js +524 -0
- data/assets/index.html +38 -0
- data/bin/macgyver +104 -0
- data/macgyver.gemspec +19 -0
- data/test/public/index.html +27 -0
- metadata +121 -0
data/assets/index.html
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>MacGap</title>
|
5
|
+
<style type="text/css" media="screen">
|
6
|
+
html, body {
|
7
|
+
height: 100%;
|
8
|
+
width: 100%;
|
9
|
+
background: #FFF;
|
10
|
+
padding: 0;
|
11
|
+
margin: 0;
|
12
|
+
overflow: hidden;
|
13
|
+
-webkit-user-select: none;
|
14
|
+
}
|
15
|
+
|
16
|
+
h1 {
|
17
|
+
color: #E0E0E0;
|
18
|
+
margin: 18% 0;
|
19
|
+
text-align: center;
|
20
|
+
font-family: helvetica;
|
21
|
+
}
|
22
|
+
</style>
|
23
|
+
|
24
|
+
</head>
|
25
|
+
<body>
|
26
|
+
|
27
|
+
<script type="text/javascript" charset="utf-8">
|
28
|
+
macgap.notice.notify({title: 'MacGap', content: 'Hello World'});
|
29
|
+
|
30
|
+
var fs = require('fs');
|
31
|
+
fs.readdir('/tmp', function(e, files){
|
32
|
+
console.log(files);
|
33
|
+
})
|
34
|
+
</script>
|
35
|
+
|
36
|
+
<h1>MacGap</h1>
|
37
|
+
</body>
|
38
|
+
</html>
|
data/bin/macgyver
ADDED
@@ -0,0 +1,104 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "optparse"
|
4
|
+
require "pathname"
|
5
|
+
require "fileutils"
|
6
|
+
|
7
|
+
options = {}
|
8
|
+
|
9
|
+
optparse = OptionParser.new do|opts|
|
10
|
+
opts.banner = "Usage: macgap COMMAND [OPTIONS] DIR"
|
11
|
+
opts.banner += "\n\tAvailable commands are:"
|
12
|
+
opts.banner += "\n\t build - build application in DIR"
|
13
|
+
opts.banner += "\n\t new - new application in DIR"
|
14
|
+
|
15
|
+
opts.on( "-n", "--name NAME", "Application name" ) do |name|
|
16
|
+
options[:name] = name
|
17
|
+
end
|
18
|
+
|
19
|
+
options[:output] = Dir.pwd
|
20
|
+
opts.on( "-o", "--output DIR", "Output application to DIR" ) do |dir|
|
21
|
+
options[:output] = dir
|
22
|
+
end
|
23
|
+
|
24
|
+
opts.on( "-h", "--help", "Display this screen" ) do
|
25
|
+
puts opts
|
26
|
+
exit
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
optparse.parse!
|
31
|
+
|
32
|
+
command = ARGV[0]
|
33
|
+
public_dir = ARGV[1]
|
34
|
+
|
35
|
+
unless command && public_dir
|
36
|
+
puts optparse
|
37
|
+
exit
|
38
|
+
end
|
39
|
+
|
40
|
+
# Setup directories
|
41
|
+
public_dir = Pathname.new(public_dir).expand_path
|
42
|
+
options[:name] ||= public_dir.basename.to_s
|
43
|
+
build_dir = Pathname.new(options[:output]).join(options[:name] + ".app")
|
44
|
+
lib_dir = Pathname.new(File.join(__FILE__, *%w{.. ..})).expand_path
|
45
|
+
|
46
|
+
case command
|
47
|
+
when "build"
|
48
|
+
when "new"
|
49
|
+
public_dir.mkpath
|
50
|
+
FileUtils.cp_r(
|
51
|
+
lib_dir.join("assets", "index.html"),
|
52
|
+
public_dir
|
53
|
+
)
|
54
|
+
puts "Created application in #{public_dir}"
|
55
|
+
exit
|
56
|
+
else
|
57
|
+
puts optparse
|
58
|
+
exit
|
59
|
+
end
|
60
|
+
|
61
|
+
FileUtils.rm_rf build_dir
|
62
|
+
build_dir.parent.mkpath
|
63
|
+
|
64
|
+
# Copy over MacGap
|
65
|
+
FileUtils.cp_r(
|
66
|
+
lib_dir.join("assets", "MacGap.app"),
|
67
|
+
build_dir
|
68
|
+
)
|
69
|
+
|
70
|
+
FileUtils.cd build_dir.join("Contents") do
|
71
|
+
build_dir = Pathname.new(Dir.pwd)
|
72
|
+
|
73
|
+
# Copy over public dir
|
74
|
+
build_public_dir = build_dir.join("Resources", "public")
|
75
|
+
FileUtils.rm_rf build_public_dir
|
76
|
+
FileUtils.cp_r(public_dir, build_public_dir)
|
77
|
+
|
78
|
+
png_icon_path = public_dir.join("application.png")
|
79
|
+
icon_path = public_dir.join("application.icns")
|
80
|
+
|
81
|
+
if png_icon_path.exist?
|
82
|
+
`sips -s format icns #{png_icon_path} --out #{icon_path}`
|
83
|
+
end
|
84
|
+
|
85
|
+
# Copy over icon
|
86
|
+
if icon_path.exist?
|
87
|
+
FileUtils.cp_r(
|
88
|
+
icon_path,
|
89
|
+
build_dir.join("Resources", "application.icns")
|
90
|
+
)
|
91
|
+
end
|
92
|
+
|
93
|
+
# Rename MacGap to specified name
|
94
|
+
exe_path = build_dir.join("MacOS", "MacGap")
|
95
|
+
renamed_exe_path = build_dir.join("MacOS", options[:name])
|
96
|
+
exe_path.rename(renamed_exe_path)
|
97
|
+
renamed_exe_path.chmod(0755)
|
98
|
+
|
99
|
+
plist = build_dir.join("Info.plist").read
|
100
|
+
plist.gsub!("MacGap", options[:name])
|
101
|
+
build_dir.join("Info.plist").open("w+") {|io| io.write plist }
|
102
|
+
end
|
103
|
+
|
104
|
+
puts "Built application in #{build_dir.parent}"
|
data/macgyver.gemspec
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |s|
|
5
|
+
s.name = "macgyver"
|
6
|
+
s.version = "0.0.8"
|
7
|
+
s.authors = ["Jesse Ikonen"]
|
8
|
+
s.email = ["jesse.ikonen@appgyver.com"]
|
9
|
+
s.homepage = "http://github.com/AppGyver/macgyver-rb"
|
10
|
+
s.summary = %q{Generate MacGapNode applications}
|
11
|
+
s.description = %q{Command line utility for generating MacGapNode applications, forked from MacGap-rb by Alex MacCaw}
|
12
|
+
|
13
|
+
s.rubyforge_project = "macgyver"
|
14
|
+
|
15
|
+
s.files = `git ls-files`.split("\n")
|
16
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
17
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
18
|
+
s.require_paths = ["lib"]
|
19
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>MacGap Test</title>
|
5
|
+
<style type="text/css" media="screen">
|
6
|
+
html, body {
|
7
|
+
height: 100%;
|
8
|
+
width: 100%;
|
9
|
+
background: #FFF;
|
10
|
+
padding: 0;
|
11
|
+
margin: 0;
|
12
|
+
overflow: hidden;
|
13
|
+
-webkit-user-select: none;
|
14
|
+
}
|
15
|
+
|
16
|
+
h1 {
|
17
|
+
color: #E0E0E0;
|
18
|
+
margin: 18% 0;
|
19
|
+
text-align: center;
|
20
|
+
font-family: helvetica;
|
21
|
+
}
|
22
|
+
</style>
|
23
|
+
</head>
|
24
|
+
<body>
|
25
|
+
<h1>MacGap Test</h1>
|
26
|
+
</body>
|
27
|
+
</html>
|
metadata
ADDED
@@ -0,0 +1,121 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: macgyver
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.8
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jesse Ikonen
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-06-03 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: Command line utility for generating MacGapNode applications, forked from
|
14
|
+
MacGap-rb by Alex MacCaw
|
15
|
+
email:
|
16
|
+
- jesse.ikonen@appgyver.com
|
17
|
+
executables:
|
18
|
+
- macgyver
|
19
|
+
extensions: []
|
20
|
+
extra_rdoc_files: []
|
21
|
+
files:
|
22
|
+
- .gitignore
|
23
|
+
- Gemfile
|
24
|
+
- LICENSE
|
25
|
+
- README.md
|
26
|
+
- Rakefile
|
27
|
+
- assets/MacGap.app/Contents/Frameworks/Growl.framework/Growl
|
28
|
+
- assets/MacGap.app/Contents/Frameworks/Growl.framework/Versions/A/Growl
|
29
|
+
- assets/MacGap.app/Contents/Frameworks/Growl.framework/Versions/A/Headers/Growl.h
|
30
|
+
- assets/MacGap.app/Contents/Frameworks/Growl.framework/Versions/A/Headers/GrowlApplicationBridge.h
|
31
|
+
- assets/MacGap.app/Contents/Frameworks/Growl.framework/Versions/A/Headers/GrowlDefines.h
|
32
|
+
- assets/MacGap.app/Contents/Frameworks/Growl.framework/Versions/A/Resources/Info.plist
|
33
|
+
- assets/MacGap.app/Contents/Frameworks/Growl.framework/Versions/A/_CodeSignature/CodeResources
|
34
|
+
- assets/MacGap.app/Contents/Info.plist
|
35
|
+
- assets/MacGap.app/Contents/MacOS/MacGap
|
36
|
+
- assets/MacGap.app/Contents/PkgInfo
|
37
|
+
- assets/MacGap.app/Contents/Resources/_debugger.js
|
38
|
+
- assets/MacGap.app/Contents/Resources/_http_agent.js
|
39
|
+
- assets/MacGap.app/Contents/Resources/_http_client.js
|
40
|
+
- assets/MacGap.app/Contents/Resources/_http_common.js
|
41
|
+
- assets/MacGap.app/Contents/Resources/_http_incoming.js
|
42
|
+
- assets/MacGap.app/Contents/Resources/_http_outgoing.js
|
43
|
+
- assets/MacGap.app/Contents/Resources/_http_server.js
|
44
|
+
- assets/MacGap.app/Contents/Resources/_linklist.js
|
45
|
+
- assets/MacGap.app/Contents/Resources/_stream_duplex.js
|
46
|
+
- assets/MacGap.app/Contents/Resources/_stream_passthrough.js
|
47
|
+
- assets/MacGap.app/Contents/Resources/_stream_readable.js
|
48
|
+
- assets/MacGap.app/Contents/Resources/_stream_transform.js
|
49
|
+
- assets/MacGap.app/Contents/Resources/_stream_writable.js
|
50
|
+
- assets/MacGap.app/Contents/Resources/_tls_legacy.js
|
51
|
+
- assets/MacGap.app/Contents/Resources/_tls_wrap.js
|
52
|
+
- assets/MacGap.app/Contents/Resources/application.icns
|
53
|
+
- assets/MacGap.app/Contents/Resources/assert.js
|
54
|
+
- assets/MacGap.app/Contents/Resources/buffer.js
|
55
|
+
- assets/MacGap.app/Contents/Resources/child_process.js
|
56
|
+
- assets/MacGap.app/Contents/Resources/cluster.js
|
57
|
+
- assets/MacGap.app/Contents/Resources/console.js
|
58
|
+
- assets/MacGap.app/Contents/Resources/constants.js
|
59
|
+
- assets/MacGap.app/Contents/Resources/crypto.js
|
60
|
+
- assets/MacGap.app/Contents/Resources/dgram.js
|
61
|
+
- assets/MacGap.app/Contents/Resources/dns.js
|
62
|
+
- assets/MacGap.app/Contents/Resources/domain.js
|
63
|
+
- assets/MacGap.app/Contents/Resources/en.lproj/Credits.rtf
|
64
|
+
- assets/MacGap.app/Contents/Resources/en.lproj/InfoPlist.strings
|
65
|
+
- assets/MacGap.app/Contents/Resources/en.lproj/MainMenu.nib
|
66
|
+
- assets/MacGap.app/Contents/Resources/en.lproj/Window.nib
|
67
|
+
- assets/MacGap.app/Contents/Resources/events.js
|
68
|
+
- assets/MacGap.app/Contents/Resources/freelist.js
|
69
|
+
- assets/MacGap.app/Contents/Resources/fs.js
|
70
|
+
- assets/MacGap.app/Contents/Resources/http.js
|
71
|
+
- assets/MacGap.app/Contents/Resources/https.js
|
72
|
+
- assets/MacGap.app/Contents/Resources/module.js
|
73
|
+
- assets/MacGap.app/Contents/Resources/net.js
|
74
|
+
- assets/MacGap.app/Contents/Resources/nodelike.js
|
75
|
+
- assets/MacGap.app/Contents/Resources/os.js
|
76
|
+
- assets/MacGap.app/Contents/Resources/path.js
|
77
|
+
- assets/MacGap.app/Contents/Resources/public/index.html
|
78
|
+
- assets/MacGap.app/Contents/Resources/punycode.js
|
79
|
+
- assets/MacGap.app/Contents/Resources/querystring.js
|
80
|
+
- assets/MacGap.app/Contents/Resources/readline.js
|
81
|
+
- assets/MacGap.app/Contents/Resources/repl.js
|
82
|
+
- assets/MacGap.app/Contents/Resources/smalloc.js
|
83
|
+
- assets/MacGap.app/Contents/Resources/stream.js
|
84
|
+
- assets/MacGap.app/Contents/Resources/string_decoder.js
|
85
|
+
- assets/MacGap.app/Contents/Resources/sys.js
|
86
|
+
- assets/MacGap.app/Contents/Resources/timers.js
|
87
|
+
- assets/MacGap.app/Contents/Resources/tls.js
|
88
|
+
- assets/MacGap.app/Contents/Resources/tty.js
|
89
|
+
- assets/MacGap.app/Contents/Resources/url.js
|
90
|
+
- assets/MacGap.app/Contents/Resources/util.js
|
91
|
+
- assets/MacGap.app/Contents/Resources/vm.js
|
92
|
+
- assets/MacGap.app/Contents/Resources/zlib.js
|
93
|
+
- assets/index.html
|
94
|
+
- bin/macgyver
|
95
|
+
- macgyver.gemspec
|
96
|
+
- test/public/index.html
|
97
|
+
homepage: http://github.com/AppGyver/macgyver-rb
|
98
|
+
licenses: []
|
99
|
+
metadata: {}
|
100
|
+
post_install_message:
|
101
|
+
rdoc_options: []
|
102
|
+
require_paths:
|
103
|
+
- lib
|
104
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - '>='
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '0'
|
109
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - '>='
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: '0'
|
114
|
+
requirements: []
|
115
|
+
rubyforge_project: macgyver
|
116
|
+
rubygems_version: 2.0.6
|
117
|
+
signing_key:
|
118
|
+
specification_version: 4
|
119
|
+
summary: Generate MacGapNode applications
|
120
|
+
test_files:
|
121
|
+
- test/public/index.html
|