jax 1.0.1 → 1.1.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (158) hide show
  1. data/.gitmodules +3 -0
  2. data/.travis.yml +32 -0
  3. data/CHANGELOG +126 -0
  4. data/README.md +1 -1
  5. data/Rakefile +125 -19
  6. data/bin/jax +1 -1
  7. data/builtin/{shaders → app/shaders}/basic/common.ejs +0 -0
  8. data/builtin/{shaders → app/shaders}/basic/fragment.ejs +0 -0
  9. data/builtin/{shaders → app/shaders}/basic/vertex.ejs +0 -0
  10. data/builtin/{shaders → app/shaders}/depthmap/common.ejs +0 -0
  11. data/builtin/{shaders → app/shaders}/depthmap/fragment.ejs +0 -0
  12. data/builtin/{shaders → app/shaders}/depthmap/material.js +0 -0
  13. data/builtin/{shaders → app/shaders}/depthmap/vertex.ejs +0 -0
  14. data/builtin/{shaders → app/shaders}/fog/common.ejs +0 -0
  15. data/builtin/{shaders → app/shaders}/fog/fragment.ejs +0 -0
  16. data/builtin/{shaders → app/shaders}/fog/manifest.yml +0 -0
  17. data/builtin/{shaders → app/shaders}/fog/material.js +0 -0
  18. data/builtin/{shaders → app/shaders}/fog/vertex.ejs +0 -0
  19. data/builtin/{shaders → app/shaders}/functions/depth_map.ejs +0 -0
  20. data/builtin/{shaders → app/shaders}/functions/lights.ejs +0 -0
  21. data/builtin/{shaders → app/shaders}/functions/noise.ejs +0 -0
  22. data/builtin/{shaders → app/shaders}/lighting/common.ejs +0 -0
  23. data/builtin/{shaders → app/shaders}/lighting/fragment.ejs +0 -0
  24. data/builtin/{shaders → app/shaders}/lighting/manifest.yml +0 -0
  25. data/builtin/{shaders → app/shaders}/lighting/material.js +0 -0
  26. data/builtin/{shaders → app/shaders}/lighting/vertex.ejs +0 -0
  27. data/builtin/{shaders → app/shaders}/normal_map/common.ejs +0 -0
  28. data/builtin/{shaders → app/shaders}/normal_map/fragment.ejs +0 -0
  29. data/builtin/{shaders → app/shaders}/normal_map/manifest.yml +0 -0
  30. data/builtin/{shaders → app/shaders}/normal_map/material.js +0 -0
  31. data/builtin/{shaders → app/shaders}/normal_map/vertex.ejs +0 -0
  32. data/builtin/{shaders → app/shaders}/paraboloid/common.ejs +0 -0
  33. data/builtin/{shaders → app/shaders}/paraboloid/fragment.ejs +0 -0
  34. data/builtin/{shaders → app/shaders}/paraboloid/manifest.yml +0 -0
  35. data/builtin/{shaders → app/shaders}/paraboloid/material.js +0 -0
  36. data/builtin/{shaders → app/shaders}/paraboloid/vertex.ejs +0 -0
  37. data/builtin/{shaders → app/shaders}/picking/common.ejs +0 -0
  38. data/builtin/{shaders → app/shaders}/picking/fragment.ejs +0 -0
  39. data/builtin/{shaders → app/shaders}/picking/material.js +0 -0
  40. data/builtin/{shaders → app/shaders}/picking/vertex.ejs +0 -0
  41. data/builtin/{shaders → app/shaders}/shadow_map/common.ejs +0 -0
  42. data/builtin/{shaders → app/shaders}/shadow_map/fragment.ejs +0 -0
  43. data/builtin/{shaders → app/shaders}/shadow_map/manifest.yml +0 -0
  44. data/builtin/{shaders → app/shaders}/shadow_map/material.js +0 -0
  45. data/builtin/{shaders → app/shaders}/shadow_map/vertex.ejs +0 -0
  46. data/builtin/{shaders → app/shaders}/texture/common.ejs +0 -0
  47. data/builtin/{shaders → app/shaders}/texture/fragment.ejs +0 -0
  48. data/builtin/{shaders → app/shaders}/texture/manifest.yml +0 -0
  49. data/builtin/{shaders → app/shaders}/texture/material.js +0 -0
  50. data/builtin/{shaders → app/shaders}/texture/vertex.ejs +0 -0
  51. data/jax.gems +1 -1
  52. data/jax.gemspec +9 -7
  53. data/lib/jax.rb +23 -9
  54. data/lib/jax/application.rb +118 -60
  55. data/lib/jax/application/builtin.rb +12 -0
  56. data/lib/jax/application/builtin/configurable.rb +5 -0
  57. data/lib/jax/application/builtin/configuration.rb +5 -0
  58. data/lib/jax/application/configurable.rb +19 -0
  59. data/lib/jax/application/configuration.rb +46 -13
  60. data/lib/jax/application/railties.rb +26 -0
  61. data/lib/jax/core_ext/kernel.rb +7 -0
  62. data/lib/jax/engine.rb +64 -0
  63. data/lib/jax/engine/configurable.rb +19 -0
  64. data/lib/jax/engine/configuration.rb +49 -0
  65. data/lib/jax/generators/app.rb +3 -2
  66. data/lib/jax/generators/app/app_generator.rb +9 -2
  67. data/lib/jax/generators/app/templates/config/environment.rb.tt +5 -0
  68. data/lib/jax/generators/app/templates/public/index.html.tt +26 -0
  69. data/lib/jax/generators/app/templates/public/javascripts/jax.js +8726 -1
  70. data/lib/jax/generators/app/templates/public/stylesheets/%file_name%.css.tt +11 -0
  71. data/lib/jax/generators/app/templates/public/webgl_not_supported.html +1 -1
  72. data/lib/jax/generators/app/templates/spec/javascripts/support/jasmine.yml +1 -0
  73. data/lib/jax/generators/app/templates/spec/javascripts/support/spec_helpers/jax_spec_environment_helper.js +13 -5
  74. data/lib/jax/generators/app/templates/spec/javascripts/support/spec_helpers/jax_spec_helper.js +6 -10
  75. data/lib/jax/generators/commands.rb +168 -42
  76. data/lib/jax/generators/controller/controller_generator.rb +9 -2
  77. data/lib/jax/generators/interactions.rb +56 -0
  78. data/lib/jax/generators/light_source/light_source_generator.rb +1 -2
  79. data/lib/jax/generators/material/material_generator.rb +1 -2
  80. data/lib/jax/generators/model/model_generator.rb +1 -3
  81. data/lib/jax/generators/packager/package_generator.rb +32 -0
  82. data/lib/jax/generators/plugin/USAGE +4 -0
  83. data/lib/jax/generators/plugin/all.rb +113 -0
  84. data/lib/jax/generators/plugin/credentials.rb +108 -0
  85. data/lib/jax/generators/plugin/plugin_generator.rb +72 -0
  86. data/lib/jax/generators/plugin/plugin_manager.rb +254 -0
  87. data/lib/jax/generators/plugin/templates/new_plugin/app/controllers/.empty_directory +0 -0
  88. data/lib/jax/generators/plugin/templates/new_plugin/app/helpers/.empty_directory +0 -0
  89. data/lib/jax/generators/plugin/templates/new_plugin/app/models/.empty_directory +0 -0
  90. data/lib/jax/generators/plugin/templates/new_plugin/app/resources/.empty_directory +0 -0
  91. data/lib/jax/generators/plugin/templates/new_plugin/app/views/.empty_directory +0 -0
  92. data/lib/jax/generators/plugin/templates/new_plugin/config/routes.rb +3 -0
  93. data/lib/jax/generators/plugin/templates/new_plugin/init.rb +1 -0
  94. data/lib/jax/generators/plugin/templates/new_plugin/install.rb +2 -0
  95. data/lib/jax/generators/plugin/templates/new_plugin/public/.empty_directory +0 -0
  96. data/lib/jax/generators/plugin/templates/new_plugin/spec/.empty_directory +0 -0
  97. data/lib/jax/generators/plugin/templates/new_plugin/uninstall.rb +2 -0
  98. data/lib/jax/generators/script_jax_loader.rb +17 -0
  99. data/lib/jax/generators/shader/shader_generator.rb +2 -3
  100. data/lib/jax/monkeypatch/jasmine/config.rb +25 -1
  101. data/lib/jax/monkeypatch/jasmine/server.rb +1 -1
  102. data/lib/jax/packager.rb +12 -11
  103. data/lib/jax/packager/sprockets_template.rb +15 -6
  104. data/lib/jax/plugin.rb +49 -0
  105. data/lib/jax/plugin/manifest.rb +71 -0
  106. data/lib/jax/resource_compiler.rb +24 -14
  107. data/lib/jax/routes.rb +1 -0
  108. data/lib/jax/shader.rb +16 -1
  109. data/lib/jax/tasks/rake.rb +1 -1
  110. data/lib/jax/version.rb +3 -3
  111. data/spec/benchmark.htm +93 -0
  112. data/spec/fixtures/web/plugins/404.http +39 -0
  113. data/spec/fixtures/web/plugins/all.xml +106 -0
  114. data/spec/fixtures/web/plugins/author/create_account.xml.http +20 -0
  115. data/spec/fixtures/web/plugins/author/create_new_plugin.xml.http +27 -0
  116. data/spec/fixtures/web/plugins/author/login_existing_account.xml.http +19 -0
  117. data/spec/fixtures/web/plugins/author/login_not_found.xml.http +14 -0
  118. data/spec/fixtures/web/plugins/author/login_password_invalid.xml.http +12 -0
  119. data/spec/fixtures/web/plugins/clouds.xml +51 -0
  120. data/spec/fixtures/web/plugins/example.tgz.http +0 -0
  121. data/spec/fixtures/web/plugins/example.tgz.http.old +0 -0
  122. data/spec/fixtures/web/plugins/none.http +13 -0
  123. data/spec/fixtures/web/plugins/vert.xml +68 -0
  124. data/spec/fixtures/web/plugins/vertex-blob.xml +37 -0
  125. data/spec/fixtures/web/plugins/vertex-height-map.xml +44 -0
  126. data/spec/generators/app_generator_test.rb +42 -0
  127. data/spec/generators/controller_generator_test.rb +47 -0
  128. data/spec/generators/light_generator_test.rb +37 -0
  129. data/spec/generators/material_generator_test.rb +22 -0
  130. data/spec/generators/model_generator_test.rb +26 -0
  131. data/spec/generators/plugin_generator_test.rb +114 -0
  132. data/spec/generators/plugin_manager/push_test.rb +59 -0
  133. data/spec/generators/plugin_manager_test.rb +192 -0
  134. data/spec/generators/shader_generator_test.rb +38 -0
  135. data/spec/lib/jax/application_test.rb +18 -0
  136. data/spec/lib/jax/generators/plugin/credentials_test.rb +72 -0
  137. data/spec/lib/jax/packager_test.rb +87 -0
  138. data/spec/lib/jax/plugin_test.rb +27 -0
  139. data/spec/lib/jax/reloading_test.rb +23 -0
  140. data/spec/lib/jax/routes_test.rb +28 -0
  141. data/spec/lib/jax/shader_test.rb +29 -0
  142. data/spec/lib/jax/tasks/jax_rake_test.rb +85 -0
  143. data/spec/support/bases/generator_test_case.rb +108 -0
  144. data/spec/support/bases/isolated_test_case.rb +148 -0
  145. data/spec/support/fixtures_helper.rb +21 -0
  146. data/spec/support/spec_shell.rb +14 -1
  147. data/spec/test_app.rb +3 -0
  148. data/spec/test_helper.rb +55 -0
  149. metadata +200 -92
  150. data/spec/generators/app_generator_spec.rb +0 -47
  151. data/spec/generators/controller_generator_spec.rb +0 -68
  152. data/spec/generators/light_generator_spec.rb +0 -51
  153. data/spec/generators/material_generator_spec.rb +0 -35
  154. data/spec/generators/model_generator_spec.rb +0 -43
  155. data/spec/lib/jax/routes_spec.rb +0 -24
  156. data/spec/lib/jax/shader_spec.rb +0 -57
  157. data/spec/lib/jax/tasks/jax_rake_spec.rb +0 -92
  158. data/spec/spec_helper.rb +0 -11
@@ -0,0 +1,148 @@
1
+ # Extended by classes intended to test Jax booting from an uninitialized state
2
+
3
+ require 'fileutils'
4
+ require 'rubygems'
5
+ require 'test/unit'
6
+ require 'active_support/testing/isolation'
7
+ require 'active_support/testing/declarative'
8
+
9
+ module TestHelpers
10
+ module Paths
11
+ module_function
12
+
13
+ TMP_PATH = File.expand_path('../../../tmp', File.dirname(__FILE__))
14
+
15
+ def tmp_path(*args)
16
+ File.join TMP_PATH, *args
17
+ end
18
+
19
+ def app_path(*args)
20
+ tmp_path *(%w[app]+args)
21
+ end
22
+
23
+ def jax_root
24
+ app_path
25
+ end
26
+
27
+ def abs(relative)
28
+ File.join(app_path, relative)
29
+ end
30
+ end
31
+
32
+ module Generation
33
+ def build_app(options = {})
34
+ FileUtils.rm_rf app_path
35
+ FileUtils.cp_r tmp_path('app_template'), app_path
36
+ unless options[:gemfile]
37
+ File.delete "#{app_path}/Gemfile"
38
+ end
39
+ end
40
+
41
+ class Bukkit
42
+ attr_reader :path
43
+
44
+ def initialize(path)
45
+ @path = path
46
+ end
47
+
48
+ def write(file, string)
49
+ path = "#{@path}/#{file}"
50
+ FileUtils.mkdir_p File.dirname(path)
51
+ File.open(path, 'w') { |f| f.puts string }
52
+ end
53
+
54
+ def delete(file)
55
+ File.delete "#{@path}/file"
56
+ end
57
+ end
58
+
59
+ def plugin(name, string = "")
60
+ dir = "#{app_path}/vendor/plugins/#{name}"
61
+ FileUtils.mkdir_p dir
62
+ File.open "#{dir}/init.rb", "w" do |f|
63
+ f.puts "::#{name.upcase} = 'loaded'"
64
+ f.puts string
65
+ end
66
+ routes = File.expand_path("../../../../lib/jax/generators/plugin/templates/new_plugin/config/routes.rb", __FILE__)
67
+ destination = File.join(app_path, "vendor/plugins", name, "config")
68
+ FileUtils.mkdir_p destination
69
+ FileUtils.cp routes, File.join(destination, "routes.rb")
70
+ File.open(File.join(destination, "../manifest.yml"), "w") do |f|
71
+ f.print({'name'=>name,'description'=>'','version'=>'1.0.0'}.to_yaml)
72
+ end
73
+ Bukkit.new(dir).tap do |bukkit|
74
+ yield bukkit if block_given?
75
+ end
76
+ end
77
+
78
+ def engine(name)
79
+ dir = "#{app_path}/random/#{name}"
80
+ FileUtils.mkdir_p dir
81
+ app = File.readlines("#{app_path}/config/application.rb")
82
+ app.insert 2, "$:.unshift(\"#{dir}/lib\")"
83
+ app.insert 3, "require #{name.inspect}"
84
+
85
+ File.open("#{app_path}/config/application.rb", "r+") do |f|
86
+ f.puts app
87
+ end
88
+
89
+ Bukkit.new(dir).tap do |bukkit|
90
+ yield bukkit if block_given?
91
+ end
92
+ end
93
+
94
+ def add_to_config(str)
95
+ environment = File.read("#{app_path}/config/application.rb")
96
+ if environment =~ /(\n\s*end\s*)\Z/
97
+ File.open("#{app_path}/config/application.rb", "w") do |f|
98
+ f.puts $` + "\n#{str}\n" + $1
99
+ end
100
+ else
101
+ raise "Bug: regexp not matched"
102
+ end
103
+ end
104
+
105
+ def app_file(path, contents)
106
+ FileUtils.mkdir_p File.dirname("#{app_path}/#{path}")
107
+ File.open("#{app_path}/#{path}", "w") do |f|
108
+ f.puts contents
109
+ end
110
+ end
111
+
112
+ def controller(name, contents)
113
+ app_file "app/controllers/#{name}_controller.js", contents
114
+ end
115
+
116
+ def load_paths
117
+ $:.unshift File.expand_path("../../../../lib", __FILE__)
118
+ end
119
+
120
+ def boot_app
121
+ load_paths
122
+ require File.join(app_path, "config/environment.rb")
123
+ end
124
+ end
125
+ end
126
+
127
+ class IsolatedTestCase < Test::Unit::TestCase
128
+ include TestHelpers::Paths
129
+ include TestHelpers::Generation
130
+ include ActiveSupport::Testing::Isolation unless ENV['DO_NOT_ISOLATE']
131
+ extend ActiveSupport::Testing::Declarative
132
+
133
+ def default_test
134
+ # so that empty test classes like this one don't fail
135
+ end
136
+ end
137
+
138
+ # create a scope and build a fixture jax app
139
+ Module.new do
140
+ extend TestHelpers::Paths
141
+ # build a jax app
142
+ if File.exist?(tmp_path)
143
+ FileUtils.rm_rf tmp_path
144
+ end
145
+ FileUtils.mkdir_p tmp_path
146
+
147
+ `#{Gem.ruby} #{File.expand_path '../../../bin/jax', File.dirname(__FILE__)} new #{tmp_path('app_template')}`
148
+ end
@@ -0,0 +1,21 @@
1
+ module FixturesHelper
2
+ FIXTURES_PATH = File.expand_path("../fixtures", File.dirname(__FILE__))
3
+
4
+ def stub_fixture(path, content = nil)
5
+ file = File.expand_path(path, FIXTURES_PATH)
6
+ FileUtils.mkdir_p File.dirname(file)
7
+ File.open(file, "w") do |f|
8
+ f.print content if content
9
+ yield f if block_given?
10
+ end
11
+ File.read(file)
12
+ end
13
+
14
+ def fixture_path(relative)
15
+ File.expand_path(relative, FIXTURES_PATH)
16
+ end
17
+
18
+ def fixture(relative)
19
+ File.read(fixture_path relative)
20
+ end
21
+ end
@@ -8,8 +8,15 @@ class SpecShell < Thor::Shell::Basic
8
8
  def initialize(options = { })
9
9
  super()
10
10
  @stdin = StringIO.new(options[:in ] || '')
11
- @stdout = StringIO.new(options[:out] || '')
11
+ @_stdout = options[:out] || ''
12
+ @stdout = StringIO.new(@_stdout.dup)
12
13
  @stderr = StringIO.new(options[:err] || '')
14
+
15
+ prepare_stdin
16
+ end
17
+
18
+ def clear
19
+ @stdout = StringIO.new(@_stdout.dup)
13
20
  end
14
21
 
15
22
  def ask(statement, color=nil)
@@ -94,4 +101,10 @@ class SpecShell < Thor::Shell::Basic
94
101
  def error(statement)
95
102
  @stderr.puts statement
96
103
  end
104
+
105
+ def prepare_stdin
106
+ def @stdin.returns(*args)
107
+ self.string = args.flatten.join("\n") + "\n"
108
+ end
109
+ end
97
110
  end
data/spec/test_app.rb ADDED
@@ -0,0 +1,3 @@
1
+ class TestApp < Jax::Application
2
+ end
3
+ TestApp.config.root = File.expand_path("../tmp/generator_tests", File.dirname(__FILE__))
@@ -0,0 +1,55 @@
1
+ require 'test/unit'
2
+ require 'turn'
3
+
4
+ $:.unshift File.expand_path("../lib", File.dirname(__FILE__))
5
+ require File.join(File.dirname(__FILE__), "../lib/jax")
6
+ require File.join(File.dirname(__FILE__), "../lib/jax/generators/app")
7
+ require File.join(File.dirname(__FILE__), "../lib/jax/generators/commands")
8
+
9
+ require 'fakeweb'
10
+
11
+ Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].each do |fi|
12
+ require fi
13
+ end
14
+
15
+ class Test::Unit::TestCase
16
+ def assert_not_empty(ary)
17
+ assert_not_equal 0, ary.length, "Expected #{ary.inspect} to not be empty"
18
+ end
19
+
20
+ def assert_empty(ary)
21
+ assert_equal 0, ary.length, "Expected #{ary.inspect} to be empty"
22
+ end
23
+
24
+ def assert_contains(obj, ary)
25
+ assert_not_nil ary.index(obj), "Expected #{ary.inspect} to contain #{obj.inspect}"
26
+ end
27
+
28
+ def assert_not_contains(obj, ary)
29
+ assert_nil ary.index(obj), "Expected #{ary.inspect} not to contain #{obj.inspect}"
30
+ end
31
+
32
+ alias assert_contained assert_contains
33
+ alias assert_not_contained assert_not_contains
34
+ end
35
+
36
+ include FixturesHelper
37
+ FakeWeb.allow_net_connect = false
38
+ FakeWeb.register_uri(:get, "http://nowhere.example.com/plugins/search/cloud", :response => fixture('web/plugins/404.http'))
39
+ FakeWeb.register_uri(:get, "http://plugins.jaxgl.com/plugins", :response => fixture('web/plugins/all.xml'))
40
+ FakeWeb.register_uri(:get, "http://plugins.jaxgl.com/plugins/search/missing", :response => fixture('web/plugins/none.http'))
41
+ FakeWeb.register_uri(:get, "http://plugins.jaxgl.com/plugins/search/cloud", :response => fixture('web/plugins/clouds.xml'))
42
+ FakeWeb.register_uri(:get, "http://plugins.jaxgl.com/plugins/search/clouds", :response => fixture('web/plugins/clouds.xml'))
43
+ FakeWeb.register_uri(:get, "http://plugins.jaxgl.com/plugins/search/vertex-blob", :response => fixture('web/plugins/vertex-blob.xml'))
44
+ FakeWeb.register_uri(:get, "http://plugins.jaxgl.com/plugins/search/vertex-height-map", :response => fixture('web/plugins/vertex-height-map.xml'))
45
+ FakeWeb.register_uri(:get, "http://plugins.jaxgl.com/plugins/search/vert", :response => fixture('web/plugins/vert.xml'))
46
+ FakeWeb.register_uri(:get, "http://plugins.jaxgl.com/plugins/clouds.tgz?version=1.0.2", :response => fixture('web/plugins/example.tgz.http'))
47
+ FakeWeb.register_uri(:get, "http://plugins.jaxgl.com/plugins/clouds.tgz?version=1.0.0", :response => fixture('web/plugins/example.tgz.http'))
48
+ FakeWeb.register_uri(:get, "http://plugins.jaxgl.com/plugins/vertex-blob.tgz?version=1.0.0", :response => fixture('web/plugins/example.tgz.http'))
49
+ FakeWeb.register_uri(:get, "http://plugins.jaxgl.com/plugins/vertex-height-map.tgz?version=1.0.1", :response => fixture('web/plugins/example.tgz.http'))
50
+ FakeWeb.register_uri(:get, "http://missing%40gmail.com:password@plugins.jaxgl.com/profile", :response => fixture('web/plugins/author/login_not_found.xml.http'))
51
+ FakeWeb.register_uri(:get, "http://missing%40gmail.com:invalid@plugins.jaxgl.com/profile", :response => fixture('web/plugins/author/login_password_invalid.xml.http'))
52
+ FakeWeb.register_uri(:post, "http://missing%40gmail.com:password@plugins.jaxgl.com/profile", :response => fixture('web/plugins/author/create_account.xml.http'))
53
+ FakeWeb.register_uri(:get, "http://sinisterchipmunk%40gmail.com:password@plugins.jaxgl.com/profile", :response => fixture('web/plugins/author/login_existing_account.xml.http'))
54
+ # FakeWeb.register_uri(:post, "http://sinisterchipmunk%40gmail.com:password@plugins.jaxgl.com/author/plugins", :response => fixture('web/plugins/author/create_new_plugin.xml.http'))
55
+ FakeWeb.register_uri(:post, "http://plugins.jaxgl.com/plugins", :response => fixture('web/plugins/author/create_new_plugin.xml.http'))
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jax
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 1.0.1
4
+ prerelease: 6
5
+ version: 1.1.0.rc1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Colin MacKenzie IV
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-07-27 00:00:00 Z
13
+ date: 2011-07-31 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rake
@@ -19,7 +19,7 @@ dependencies:
19
19
  requirements:
20
20
  - - ~>
21
21
  - !ruby/object:Gem::Version
22
- version: 0.8.7
22
+ version: 0.9.2
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: *id001
@@ -30,7 +30,7 @@ dependencies:
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: 1.0.14
33
+ version: 1.0.15
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: *id002
@@ -57,47 +57,47 @@ dependencies:
57
57
  prerelease: false
58
58
  version_requirements: *id004
59
59
  - !ruby/object:Gem::Dependency
60
- name: activesupport
60
+ name: railties
61
61
  requirement: &id005 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
65
65
  - !ruby/object:Gem::Version
66
- version: "3.0"
66
+ version: 3.0.8
67
67
  type: :runtime
68
68
  prerelease: false
69
69
  version_requirements: *id005
70
70
  - !ruby/object:Gem::Dependency
71
- name: i18n
71
+ name: sprockets
72
72
  requirement: &id006 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ~>
76
76
  - !ruby/object:Gem::Version
77
- version: 0.5.0
77
+ version: 1.0.2
78
78
  type: :runtime
79
79
  prerelease: false
80
80
  version_requirements: *id006
81
81
  - !ruby/object:Gem::Dependency
82
- name: sprockets
82
+ name: rest-client
83
83
  requirement: &id007 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ~>
87
87
  - !ruby/object:Gem::Version
88
- version: 1.0.2
88
+ version: 1.6.3
89
89
  type: :runtime
90
90
  prerelease: false
91
91
  version_requirements: *id007
92
92
  - !ruby/object:Gem::Dependency
93
- name: rspec
93
+ name: minitar
94
94
  requirement: &id008 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ~>
98
98
  - !ruby/object:Gem::Version
99
- version: "2.0"
100
- type: :development
99
+ version: 0.5.3
100
+ type: :runtime
101
101
  prerelease: false
102
102
  version_requirements: *id008
103
103
  - !ruby/object:Gem::Dependency
@@ -112,19 +112,41 @@ dependencies:
112
112
  prerelease: false
113
113
  version_requirements: *id009
114
114
  - !ruby/object:Gem::Dependency
115
- name: actionpack
115
+ name: fakeweb
116
116
  requirement: &id010 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ~>
120
120
  - !ruby/object:Gem::Version
121
- version: "3.0"
121
+ version: 1.3.0
122
122
  type: :development
123
123
  prerelease: false
124
124
  version_requirements: *id010
125
125
  - !ruby/object:Gem::Dependency
126
- name: RedCloth
126
+ name: ansi
127
127
  requirement: &id011 !ruby/object:Gem::Requirement
128
+ none: false
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: "0"
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: *id011
136
+ - !ruby/object:Gem::Dependency
137
+ name: turn
138
+ requirement: &id012 !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: "0"
144
+ type: :development
145
+ prerelease: false
146
+ version_requirements: *id012
147
+ - !ruby/object:Gem::Dependency
148
+ name: RedCloth
149
+ requirement: &id013 !ruby/object:Gem::Requirement
128
150
  none: false
129
151
  requirements:
130
152
  - - ~>
@@ -132,10 +154,10 @@ dependencies:
132
154
  version: "4.2"
133
155
  type: :development
134
156
  prerelease: false
135
- version_requirements: *id011
157
+ version_requirements: *id013
136
158
  - !ruby/object:Gem::Dependency
137
159
  name: w3c_validators
138
- requirement: &id012 !ruby/object:Gem::Requirement
160
+ requirement: &id014 !ruby/object:Gem::Requirement
139
161
  none: false
140
162
  requirements:
141
163
  - - ~>
@@ -143,10 +165,10 @@ dependencies:
143
165
  version: 1.1.1
144
166
  type: :development
145
167
  prerelease: false
146
- version_requirements: *id012
168
+ version_requirements: *id014
147
169
  - !ruby/object:Gem::Dependency
148
170
  name: treetop
149
- requirement: &id013 !ruby/object:Gem::Requirement
171
+ requirement: &id015 !ruby/object:Gem::Requirement
150
172
  none: false
151
173
  requirements:
152
174
  - - ~>
@@ -154,10 +176,10 @@ dependencies:
154
176
  version: 1.4.9
155
177
  type: :development
156
178
  prerelease: false
157
- version_requirements: *id013
179
+ version_requirements: *id015
158
180
  - !ruby/object:Gem::Dependency
159
181
  name: bluecloth
160
- requirement: &id014 !ruby/object:Gem::Requirement
182
+ requirement: &id016 !ruby/object:Gem::Requirement
161
183
  none: false
162
184
  requirements:
163
185
  - - ~>
@@ -165,7 +187,7 @@ dependencies:
165
187
  version: 2.0.11
166
188
  type: :development
167
189
  prerelease: false
168
- version_requirements: *id014
190
+ version_requirements: *id016
169
191
  description: Framework for creating rich WebGL-enabled applications using JavaScript and Ruby
170
192
  email:
171
193
  - sinisterchipmunk@gmail.com
@@ -179,61 +201,71 @@ files:
179
201
  - .gitignore
180
202
  - .gitmodules
181
203
  - .rvmrc
204
+ - .travis.yml
182
205
  - CHANGELOG
183
206
  - Gemfile
184
207
  - LICENSE
185
208
  - README.md
186
209
  - Rakefile
187
210
  - bin/jax
188
- - builtin/shaders/basic/common.ejs
189
- - builtin/shaders/basic/fragment.ejs
190
- - builtin/shaders/basic/vertex.ejs
191
- - builtin/shaders/depthmap/common.ejs
192
- - builtin/shaders/depthmap/fragment.ejs
193
- - builtin/shaders/depthmap/material.js
194
- - builtin/shaders/depthmap/vertex.ejs
195
- - builtin/shaders/fog/common.ejs
196
- - builtin/shaders/fog/fragment.ejs
197
- - builtin/shaders/fog/manifest.yml
198
- - builtin/shaders/fog/material.js
199
- - builtin/shaders/fog/vertex.ejs
200
- - builtin/shaders/functions/depth_map.ejs
201
- - builtin/shaders/functions/lights.ejs
202
- - builtin/shaders/functions/noise.ejs
203
- - builtin/shaders/lighting/common.ejs
204
- - builtin/shaders/lighting/fragment.ejs
205
- - builtin/shaders/lighting/manifest.yml
206
- - builtin/shaders/lighting/material.js
207
- - builtin/shaders/lighting/vertex.ejs
208
- - builtin/shaders/normal_map/common.ejs
209
- - builtin/shaders/normal_map/fragment.ejs
210
- - builtin/shaders/normal_map/manifest.yml
211
- - builtin/shaders/normal_map/material.js
212
- - builtin/shaders/normal_map/vertex.ejs
213
- - builtin/shaders/paraboloid/common.ejs
214
- - builtin/shaders/paraboloid/fragment.ejs
215
- - builtin/shaders/paraboloid/manifest.yml
216
- - builtin/shaders/paraboloid/material.js
217
- - builtin/shaders/paraboloid/vertex.ejs
218
- - builtin/shaders/picking/common.ejs
219
- - builtin/shaders/picking/fragment.ejs
220
- - builtin/shaders/picking/material.js
221
- - builtin/shaders/picking/vertex.ejs
222
- - builtin/shaders/shadow_map/common.ejs
223
- - builtin/shaders/shadow_map/fragment.ejs
224
- - builtin/shaders/shadow_map/manifest.yml
225
- - builtin/shaders/shadow_map/material.js
226
- - builtin/shaders/shadow_map/vertex.ejs
227
- - builtin/shaders/texture/common.ejs
228
- - builtin/shaders/texture/fragment.ejs
229
- - builtin/shaders/texture/manifest.yml
230
- - builtin/shaders/texture/material.js
231
- - builtin/shaders/texture/vertex.ejs
211
+ - builtin/app/shaders/basic/common.ejs
212
+ - builtin/app/shaders/basic/fragment.ejs
213
+ - builtin/app/shaders/basic/vertex.ejs
214
+ - builtin/app/shaders/depthmap/common.ejs
215
+ - builtin/app/shaders/depthmap/fragment.ejs
216
+ - builtin/app/shaders/depthmap/material.js
217
+ - builtin/app/shaders/depthmap/vertex.ejs
218
+ - builtin/app/shaders/fog/common.ejs
219
+ - builtin/app/shaders/fog/fragment.ejs
220
+ - builtin/app/shaders/fog/manifest.yml
221
+ - builtin/app/shaders/fog/material.js
222
+ - builtin/app/shaders/fog/vertex.ejs
223
+ - builtin/app/shaders/functions/depth_map.ejs
224
+ - builtin/app/shaders/functions/lights.ejs
225
+ - builtin/app/shaders/functions/noise.ejs
226
+ - builtin/app/shaders/lighting/common.ejs
227
+ - builtin/app/shaders/lighting/fragment.ejs
228
+ - builtin/app/shaders/lighting/manifest.yml
229
+ - builtin/app/shaders/lighting/material.js
230
+ - builtin/app/shaders/lighting/vertex.ejs
231
+ - builtin/app/shaders/normal_map/common.ejs
232
+ - builtin/app/shaders/normal_map/fragment.ejs
233
+ - builtin/app/shaders/normal_map/manifest.yml
234
+ - builtin/app/shaders/normal_map/material.js
235
+ - builtin/app/shaders/normal_map/vertex.ejs
236
+ - builtin/app/shaders/paraboloid/common.ejs
237
+ - builtin/app/shaders/paraboloid/fragment.ejs
238
+ - builtin/app/shaders/paraboloid/manifest.yml
239
+ - builtin/app/shaders/paraboloid/material.js
240
+ - builtin/app/shaders/paraboloid/vertex.ejs
241
+ - builtin/app/shaders/picking/common.ejs
242
+ - builtin/app/shaders/picking/fragment.ejs
243
+ - builtin/app/shaders/picking/material.js
244
+ - builtin/app/shaders/picking/vertex.ejs
245
+ - builtin/app/shaders/shadow_map/common.ejs
246
+ - builtin/app/shaders/shadow_map/fragment.ejs
247
+ - builtin/app/shaders/shadow_map/manifest.yml
248
+ - builtin/app/shaders/shadow_map/material.js
249
+ - builtin/app/shaders/shadow_map/vertex.ejs
250
+ - builtin/app/shaders/texture/common.ejs
251
+ - builtin/app/shaders/texture/fragment.ejs
252
+ - builtin/app/shaders/texture/manifest.yml
253
+ - builtin/app/shaders/texture/material.js
254
+ - builtin/app/shaders/texture/vertex.ejs
232
255
  - jax.gems
233
256
  - jax.gemspec
234
257
  - lib/jax.rb
235
258
  - lib/jax/application.rb
259
+ - lib/jax/application/builtin.rb
260
+ - lib/jax/application/builtin/configurable.rb
261
+ - lib/jax/application/builtin/configuration.rb
262
+ - lib/jax/application/configurable.rb
236
263
  - lib/jax/application/configuration.rb
264
+ - lib/jax/application/railties.rb
265
+ - lib/jax/core_ext/kernel.rb
266
+ - lib/jax/engine.rb
267
+ - lib/jax/engine/configurable.rb
268
+ - lib/jax/engine/configuration.rb
237
269
  - lib/jax/generators/app.rb
238
270
  - lib/jax/generators/app/app_generator.rb
239
271
  - lib/jax/generators/app/templates/Gemfile.tt
@@ -245,8 +277,11 @@ files:
245
277
  - lib/jax/generators/app/templates/app/views/.empty_directory
246
278
  - lib/jax/generators/app/templates/config/application.rb.tt
247
279
  - lib/jax/generators/app/templates/config/boot.rb
280
+ - lib/jax/generators/app/templates/config/environment.rb.tt
248
281
  - lib/jax/generators/app/templates/config/routes.rb.tt
282
+ - lib/jax/generators/app/templates/public/index.html.tt
249
283
  - lib/jax/generators/app/templates/public/javascripts/jax.js
284
+ - lib/jax/generators/app/templates/public/stylesheets/%file_name%.css.tt
250
285
  - lib/jax/generators/app/templates/public/webgl_not_supported.html
251
286
  - lib/jax/generators/app/templates/script/jax
252
287
  - lib/jax/generators/app/templates/spec/javascripts/controllers/application_controller_spec.js
@@ -265,6 +300,7 @@ files:
265
300
  - lib/jax/generators/controller/templates/helper.js.tt
266
301
  - lib/jax/generators/controller/templates/helper_test.js.tt
267
302
  - lib/jax/generators/controller/templates/view.js.tt
303
+ - lib/jax/generators/interactions.rb
268
304
  - lib/jax/generators/light_source/USAGE
269
305
  - lib/jax/generators/light_source/light_source_generator.rb
270
306
  - lib/jax/generators/light_source/templates/light.yml.tt
@@ -276,6 +312,23 @@ files:
276
312
  - lib/jax/generators/model/model_generator.rb
277
313
  - lib/jax/generators/model/templates/model.js.tt
278
314
  - lib/jax/generators/model/templates/test.js.tt
315
+ - lib/jax/generators/packager/package_generator.rb
316
+ - lib/jax/generators/plugin/USAGE
317
+ - lib/jax/generators/plugin/all.rb
318
+ - lib/jax/generators/plugin/credentials.rb
319
+ - lib/jax/generators/plugin/plugin_generator.rb
320
+ - lib/jax/generators/plugin/plugin_manager.rb
321
+ - lib/jax/generators/plugin/templates/new_plugin/app/controllers/.empty_directory
322
+ - lib/jax/generators/plugin/templates/new_plugin/app/helpers/.empty_directory
323
+ - lib/jax/generators/plugin/templates/new_plugin/app/models/.empty_directory
324
+ - lib/jax/generators/plugin/templates/new_plugin/app/resources/.empty_directory
325
+ - lib/jax/generators/plugin/templates/new_plugin/app/views/.empty_directory
326
+ - lib/jax/generators/plugin/templates/new_plugin/config/routes.rb
327
+ - lib/jax/generators/plugin/templates/new_plugin/init.rb
328
+ - lib/jax/generators/plugin/templates/new_plugin/install.rb
329
+ - lib/jax/generators/plugin/templates/new_plugin/public/.empty_directory
330
+ - lib/jax/generators/plugin/templates/new_plugin/spec/.empty_directory
331
+ - lib/jax/generators/plugin/templates/new_plugin/uninstall.rb
279
332
  - lib/jax/generators/script_jax_loader.rb
280
333
  - lib/jax/generators/shader/USAGE
281
334
  - lib/jax/generators/shader/shader_generator.rb
@@ -290,24 +343,54 @@ files:
290
343
  - lib/jax/monkeypatch/jasmine/server.rb
291
344
  - lib/jax/packager.rb
292
345
  - lib/jax/packager/sprockets_template.rb
346
+ - lib/jax/plugin.rb
347
+ - lib/jax/plugin/manifest.rb
293
348
  - lib/jax/resource_compiler.rb
294
349
  - lib/jax/routes.rb
295
350
  - lib/jax/shader.rb
296
351
  - lib/jax/tasks/rake.rb
297
352
  - lib/jax/version.rb
298
- - spec/generators/app_generator_spec.rb
299
- - spec/generators/controller_generator_spec.rb
300
- - spec/generators/light_generator_spec.rb
301
- - spec/generators/material_generator_spec.rb
302
- - spec/generators/model_generator_spec.rb
353
+ - spec/benchmark.htm
354
+ - spec/fixtures/web/plugins/404.http
355
+ - spec/fixtures/web/plugins/all.xml
356
+ - spec/fixtures/web/plugins/author/create_account.xml.http
357
+ - spec/fixtures/web/plugins/author/create_new_plugin.xml.http
358
+ - spec/fixtures/web/plugins/author/login_existing_account.xml.http
359
+ - spec/fixtures/web/plugins/author/login_not_found.xml.http
360
+ - spec/fixtures/web/plugins/author/login_password_invalid.xml.http
361
+ - spec/fixtures/web/plugins/clouds.xml
362
+ - spec/fixtures/web/plugins/example.tgz.http
363
+ - spec/fixtures/web/plugins/example.tgz.http.old
364
+ - spec/fixtures/web/plugins/none.http
365
+ - spec/fixtures/web/plugins/vert.xml
366
+ - spec/fixtures/web/plugins/vertex-blob.xml
367
+ - spec/fixtures/web/plugins/vertex-height-map.xml
368
+ - spec/generators/app_generator_test.rb
369
+ - spec/generators/controller_generator_test.rb
370
+ - spec/generators/light_generator_test.rb
371
+ - spec/generators/material_generator_test.rb
372
+ - spec/generators/model_generator_test.rb
373
+ - spec/generators/plugin_generator_test.rb
374
+ - spec/generators/plugin_manager/push_test.rb
375
+ - spec/generators/plugin_manager_test.rb
376
+ - spec/generators/shader_generator_test.rb
303
377
  - spec/javascripts/support/jasmine.yml
304
378
  - spec/javascripts/support/jasmine_runner.rb
305
- - spec/lib/jax/routes_spec.rb
306
- - spec/lib/jax/shader_spec.rb
307
- - spec/lib/jax/tasks/jax_rake_spec.rb
308
- - spec/spec_helper.rb
379
+ - spec/lib/jax/application_test.rb
380
+ - spec/lib/jax/generators/plugin/credentials_test.rb
381
+ - spec/lib/jax/packager_test.rb
382
+ - spec/lib/jax/plugin_test.rb
383
+ - spec/lib/jax/reloading_test.rb
384
+ - spec/lib/jax/routes_test.rb
385
+ - spec/lib/jax/shader_test.rb
386
+ - spec/lib/jax/tasks/jax_rake_test.rb
387
+ - spec/support/bases/generator_test_case.rb
388
+ - spec/support/bases/isolated_test_case.rb
309
389
  - spec/support/file_exist_matcher.rb
390
+ - spec/support/fixtures_helper.rb
310
391
  - spec/support/spec_shell.rb
392
+ - spec/test_app.rb
393
+ - spec/test_helper.rb
311
394
  homepage: http://jaxgl.com
312
395
  licenses: []
313
396
 
@@ -321,19 +404,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
321
404
  requirements:
322
405
  - - ">="
323
406
  - !ruby/object:Gem::Version
324
- hash: 1583209363736596176
407
+ hash: 1049636856271835622
325
408
  segments:
326
409
  - 0
327
410
  version: "0"
328
411
  required_rubygems_version: !ruby/object:Gem::Requirement
329
412
  none: false
330
413
  requirements:
331
- - - ">="
414
+ - - ">"
332
415
  - !ruby/object:Gem::Version
333
- hash: 1583209363736596176
334
- segments:
335
- - 0
336
- version: "0"
416
+ version: 1.3.1
337
417
  requirements: []
338
418
 
339
419
  rubyforge_project: jax
@@ -342,16 +422,44 @@ signing_key:
342
422
  specification_version: 3
343
423
  summary: Framework for creating rich WebGL-enabled applications using JavaScript and Ruby
344
424
  test_files:
345
- - spec/generators/app_generator_spec.rb
346
- - spec/generators/controller_generator_spec.rb
347
- - spec/generators/light_generator_spec.rb
348
- - spec/generators/material_generator_spec.rb
349
- - spec/generators/model_generator_spec.rb
425
+ - spec/benchmark.htm
426
+ - spec/fixtures/web/plugins/404.http
427
+ - spec/fixtures/web/plugins/all.xml
428
+ - spec/fixtures/web/plugins/author/create_account.xml.http
429
+ - spec/fixtures/web/plugins/author/create_new_plugin.xml.http
430
+ - spec/fixtures/web/plugins/author/login_existing_account.xml.http
431
+ - spec/fixtures/web/plugins/author/login_not_found.xml.http
432
+ - spec/fixtures/web/plugins/author/login_password_invalid.xml.http
433
+ - spec/fixtures/web/plugins/clouds.xml
434
+ - spec/fixtures/web/plugins/example.tgz.http
435
+ - spec/fixtures/web/plugins/example.tgz.http.old
436
+ - spec/fixtures/web/plugins/none.http
437
+ - spec/fixtures/web/plugins/vert.xml
438
+ - spec/fixtures/web/plugins/vertex-blob.xml
439
+ - spec/fixtures/web/plugins/vertex-height-map.xml
440
+ - spec/generators/app_generator_test.rb
441
+ - spec/generators/controller_generator_test.rb
442
+ - spec/generators/light_generator_test.rb
443
+ - spec/generators/material_generator_test.rb
444
+ - spec/generators/model_generator_test.rb
445
+ - spec/generators/plugin_generator_test.rb
446
+ - spec/generators/plugin_manager/push_test.rb
447
+ - spec/generators/plugin_manager_test.rb
448
+ - spec/generators/shader_generator_test.rb
350
449
  - spec/javascripts/support/jasmine.yml
351
450
  - spec/javascripts/support/jasmine_runner.rb
352
- - spec/lib/jax/routes_spec.rb
353
- - spec/lib/jax/shader_spec.rb
354
- - spec/lib/jax/tasks/jax_rake_spec.rb
355
- - spec/spec_helper.rb
451
+ - spec/lib/jax/application_test.rb
452
+ - spec/lib/jax/generators/plugin/credentials_test.rb
453
+ - spec/lib/jax/packager_test.rb
454
+ - spec/lib/jax/plugin_test.rb
455
+ - spec/lib/jax/reloading_test.rb
456
+ - spec/lib/jax/routes_test.rb
457
+ - spec/lib/jax/shader_test.rb
458
+ - spec/lib/jax/tasks/jax_rake_test.rb
459
+ - spec/support/bases/generator_test_case.rb
460
+ - spec/support/bases/isolated_test_case.rb
356
461
  - spec/support/file_exist_matcher.rb
462
+ - spec/support/fixtures_helper.rb
357
463
  - spec/support/spec_shell.rb
464
+ - spec/test_app.rb
465
+ - spec/test_helper.rb