macgyver 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +5 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE +20 -0
  5. data/README.md +45 -0
  6. data/Rakefile +1 -0
  7. data/assets/MacGap.app/Contents/Frameworks/Growl.framework/Growl +0 -0
  8. data/assets/MacGap.app/Contents/Frameworks/Growl.framework/Versions/A/Growl +0 -0
  9. data/assets/MacGap.app/Contents/Frameworks/Growl.framework/Versions/A/Headers/Growl.h +5 -0
  10. data/assets/MacGap.app/Contents/Frameworks/Growl.framework/Versions/A/Headers/GrowlApplicationBridge.h +551 -0
  11. data/assets/MacGap.app/Contents/Frameworks/Growl.framework/Versions/A/Headers/GrowlDefines.h +341 -0
  12. data/assets/MacGap.app/Contents/Frameworks/Growl.framework/Versions/A/Resources/Info.plist +40 -0
  13. data/assets/MacGap.app/Contents/Frameworks/Growl.framework/Versions/A/_CodeSignature/CodeResources +34 -0
  14. data/assets/MacGap.app/Contents/Info.plist +48 -0
  15. data/assets/MacGap.app/Contents/MacOS/MacGap +0 -0
  16. data/assets/MacGap.app/Contents/PkgInfo +1 -0
  17. data/assets/MacGap.app/Contents/Resources/_debugger.js +1718 -0
  18. data/assets/MacGap.app/Contents/Resources/_http_agent.js +310 -0
  19. data/assets/MacGap.app/Contents/Resources/_http_client.js +533 -0
  20. data/assets/MacGap.app/Contents/Resources/_http_common.js +222 -0
  21. data/assets/MacGap.app/Contents/Resources/_http_incoming.js +194 -0
  22. data/assets/MacGap.app/Contents/Resources/_http_outgoing.js +597 -0
  23. data/assets/MacGap.app/Contents/Resources/_http_server.js +510 -0
  24. data/assets/MacGap.app/Contents/Resources/_linklist.js +76 -0
  25. data/assets/MacGap.app/Contents/Resources/_stream_duplex.js +69 -0
  26. data/assets/MacGap.app/Contents/Resources/_stream_passthrough.js +41 -0
  27. data/assets/MacGap.app/Contents/Resources/_stream_readable.js +900 -0
  28. data/assets/MacGap.app/Contents/Resources/_stream_transform.js +204 -0
  29. data/assets/MacGap.app/Contents/Resources/_stream_writable.js +456 -0
  30. data/assets/MacGap.app/Contents/Resources/_tls_legacy.js +887 -0
  31. data/assets/MacGap.app/Contents/Resources/_tls_wrap.js +831 -0
  32. data/assets/MacGap.app/Contents/Resources/application.icns +0 -0
  33. data/assets/MacGap.app/Contents/Resources/assert.js +326 -0
  34. data/assets/MacGap.app/Contents/Resources/buffer.js +724 -0
  35. data/assets/MacGap.app/Contents/Resources/child_process.js +1107 -0
  36. data/assets/MacGap.app/Contents/Resources/cluster.js +613 -0
  37. data/assets/MacGap.app/Contents/Resources/console.js +108 -0
  38. data/assets/MacGap.app/Contents/Resources/constants.js +22 -0
  39. data/assets/MacGap.app/Contents/Resources/crypto.js +691 -0
  40. data/assets/MacGap.app/Contents/Resources/dgram.js +459 -0
  41. data/assets/MacGap.app/Contents/Resources/dns.js +274 -0
  42. data/assets/MacGap.app/Contents/Resources/domain.js +292 -0
  43. data/assets/MacGap.app/Contents/Resources/en.lproj/Credits.rtf +29 -0
  44. data/assets/MacGap.app/Contents/Resources/en.lproj/InfoPlist.strings +0 -0
  45. data/assets/MacGap.app/Contents/Resources/en.lproj/MainMenu.nib +0 -0
  46. data/assets/MacGap.app/Contents/Resources/en.lproj/Window.nib +0 -0
  47. data/assets/MacGap.app/Contents/Resources/events.js +312 -0
  48. data/assets/MacGap.app/Contents/Resources/freelist.js +43 -0
  49. data/assets/MacGap.app/Contents/Resources/fs.js +1732 -0
  50. data/assets/MacGap.app/Contents/Resources/http.js +119 -0
  51. data/assets/MacGap.app/Contents/Resources/https.js +134 -0
  52. data/assets/MacGap.app/Contents/Resources/module.js +529 -0
  53. data/assets/MacGap.app/Contents/Resources/net.js +1378 -0
  54. data/assets/MacGap.app/Contents/Resources/nodelike.js +195 -0
  55. data/assets/MacGap.app/Contents/Resources/os.js +64 -0
  56. data/assets/MacGap.app/Contents/Resources/path.js +517 -0
  57. data/assets/MacGap.app/Contents/Resources/public/index.html +38 -0
  58. data/assets/MacGap.app/Contents/Resources/punycode.js +507 -0
  59. data/assets/MacGap.app/Contents/Resources/querystring.js +206 -0
  60. data/assets/MacGap.app/Contents/Resources/readline.js +1311 -0
  61. data/assets/MacGap.app/Contents/Resources/repl.js +945 -0
  62. data/assets/MacGap.app/Contents/Resources/smalloc.js +90 -0
  63. data/assets/MacGap.app/Contents/Resources/stream.js +127 -0
  64. data/assets/MacGap.app/Contents/Resources/string_decoder.js +189 -0
  65. data/assets/MacGap.app/Contents/Resources/sys.js +24 -0
  66. data/assets/MacGap.app/Contents/Resources/timers.js +568 -0
  67. data/assets/MacGap.app/Contents/Resources/tls.js +220 -0
  68. data/assets/MacGap.app/Contents/Resources/tty.js +129 -0
  69. data/assets/MacGap.app/Contents/Resources/url.js +693 -0
  70. data/assets/MacGap.app/Contents/Resources/util.js +688 -0
  71. data/assets/MacGap.app/Contents/Resources/vm.js +73 -0
  72. data/assets/MacGap.app/Contents/Resources/zlib.js +524 -0
  73. data/assets/index.html +38 -0
  74. data/bin/macgyver +104 -0
  75. data/macgyver.gemspec +19 -0
  76. data/test/public/index.html +27 -0
  77. metadata +121 -0
@@ -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>
@@ -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}"
@@ -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