entityjs 0.4.2 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +40 -20
- data/entityjs.gemspec +1 -1
- data/lib/entityjs/commands/build.rb +5 -2
- data/lib/entityjs/commands/server.rb +2 -2
- data/lib/entityjs/config.rb +1 -1
- data/lib/entityjs/version.rb +1 -1
- data/spec/javascripts/src/core/comp_spec.js +10 -0
- data/spec/javascripts/src/core/load_spec.js +1 -1
- data/spec/javascripts/src/core/query_spec.js +1 -0
- data/spec/javascripts/src/math/bisect_spec.js +1 -1
- data/spec/lib/entityjs/commands/new_spec.rb +1 -1
- data/spec/support/mygame.rb +1 -1
- data/src/core/comp.js +12 -4
- data/src/core/load.js +11 -10
- data/src/core/query.js +9 -0
- data/src/display/circle.js +2 -2
- data/src/display/el.js +12 -10
- data/src/display/image.js +1 -1
- data/src/math/bisect.js +3 -3
- data/src/pattern/flicker.js +13 -13
- data/src/pattern/pathfind.js +1 -1
- data/templates/circle/game.json +1 -1
- data/templates/dom/game.json +1 -1
- data/templates/dom/scripts/els/btn.js +2 -2
- data/templates/isometric/game.json +1 -1
- data/templates/platform/game.json +1 -1
- data/templates/pong/game.json +1 -1
- data/templates/tiltmaze/game.json +1 -1
- metadata +20 -60
data/README.md
CHANGED
@@ -3,11 +3,15 @@ An HTML5 javascript game engine utlizing the entity-component design. Write high
|
|
3
3
|
|
4
4
|
[EntityJS Website](http://entityjs.com) | [Demos](http://entityjs.com/demos) | [Tutorials](http://entityjs.com/tutorials) | [API](http://entityjs.com/api)
|
5
5
|
|
6
|
-
## Version 0.
|
6
|
+
## Version 0.4.2
|
7
7
|
|
8
|
-
*
|
9
|
-
*
|
10
|
-
*
|
8
|
+
* Stylesheets are now automatically included. Place css in the styles folder.
|
9
|
+
* Factory method added to comp.
|
10
|
+
* El comp can place elements on top of canvas.
|
11
|
+
* Converted config.yml to game.json.
|
12
|
+
* Attributes inside game.json are available in js.
|
13
|
+
* Use `entityjs html` make changes to the html.
|
14
|
+
* Builds folder removed and replaced with a single build.
|
11
15
|
|
12
16
|
## API
|
13
17
|
Currently the [API](http://entityjs.com/api) is out of date. It will slowly be updated everyday.
|
@@ -83,7 +87,7 @@ To play visit:
|
|
83
87
|
`localhost:2345`
|
84
88
|
|
85
89
|
To run tests visit:
|
86
|
-
`localhost:2345/
|
90
|
+
`localhost:2345/test`
|
87
91
|
|
88
92
|
Assets are located here:
|
89
93
|
`localhost:2345/assets/*name`
|
@@ -96,24 +100,16 @@ View [all commands](/bendangelo/EntityJS/wiki/commands)
|
|
96
100
|
* Images - Add any images here and retrieve them with `re.assets.images`
|
97
101
|
* Sounds - Add any sounds and retrieve them with `re.assets.sounds`
|
98
102
|
|
99
|
-
*
|
103
|
+
* Build - Contains built game
|
100
104
|
|
101
105
|
* Scripts - Contains all js, coffee sources. Xml, tmx and json files will be converted into js.
|
102
106
|
* Plugins - Contains minified scripts for plugin play.
|
103
107
|
|
104
108
|
* Tests - Contains test files to run in [QUnit](http://docs.jquery.com/QUnit)
|
105
109
|
|
106
|
-
*
|
107
|
-
* readme.txt - Optional, simple description of the game.
|
108
|
-
|
109
|
-
## Changes In V0.3
|
110
|
-
|
111
|
-
* `Inherit()` is now `defaults()`
|
112
|
-
* `Extend()` is now `defines()`
|
113
|
-
* `Inherit()` on entities is now `def()`
|
114
|
-
* `Extend()` on entities is now `attr()`
|
110
|
+
* Styles - Contains all css to be included. Will support sass and others later on.
|
115
111
|
|
116
|
-
|
112
|
+
* game.json - Optional, configurate scripts order, ignore certain files, etc
|
117
113
|
|
118
114
|
### Short getters and setters
|
119
115
|
|
@@ -131,11 +127,35 @@ There are many more name changes, make sure to read the component source code fo
|
|
131
127
|
//or
|
132
128
|
tile.attr('tile', [1,2]); //samething
|
133
129
|
|
134
|
-
###
|
130
|
+
### Factories in 0.4.2
|
131
|
+
|
132
|
+
All components now have a factory method which can be used to create complex entities.
|
133
|
+
|
134
|
+
re.c("button")
|
135
|
+
.factory(function(label, click){
|
136
|
+
this.label = label;
|
137
|
+
|
138
|
+
if(click){
|
139
|
+
this.on('click', click);
|
140
|
+
}
|
141
|
+
});
|
142
|
+
|
143
|
+
re.button("Hello", function(){
|
144
|
+
alert(this.label+" clicked!");
|
145
|
+
});
|
146
|
+
|
147
|
+
//Can be overwritten using the `method` function. A singleton is created below.
|
148
|
+
|
149
|
+
re.c("player")
|
150
|
+
.method(function(){
|
151
|
+
if(!this.instance){
|
152
|
+
this.instance = re.e('player');
|
153
|
+
}
|
154
|
+
return this.instance;
|
155
|
+
});
|
135
156
|
|
136
|
-
|
137
|
-
|
138
|
-
* `signal()` is now `trigger()`
|
157
|
+
//get player
|
158
|
+
re.player();
|
139
159
|
|
140
160
|
## QUnit Testing
|
141
161
|
|
data/entityjs.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.add_development_dependency "rspec"
|
24
24
|
s.add_development_dependency "jasmine"
|
25
25
|
|
26
|
-
s.add_dependency "sinatra", ">= 1.0"
|
26
|
+
s.add_dependency "sinatra", ">= 1.3.0"
|
27
27
|
s.add_dependency "coffee-script"
|
28
28
|
s.add_dependency 'uglifier'
|
29
29
|
s.add_dependency 'json'
|
@@ -19,6 +19,7 @@ module Entityjs
|
|
19
19
|
images_folder = Config.images_folder
|
20
20
|
sounds_folder = Config.sounds_folder
|
21
21
|
scripts_folder = Config.scripts_folder
|
22
|
+
styles_folder = Config.instance.build_styles_path
|
22
23
|
|
23
24
|
final_name = Config.instance.build_name+'.js'
|
24
25
|
html_name = 'play.html'
|
@@ -60,7 +61,9 @@ module Entityjs
|
|
60
61
|
end
|
61
62
|
|
62
63
|
#save css
|
63
|
-
|
64
|
+
Dirc.create_dir(styles_folder)
|
65
|
+
|
66
|
+
File.open(styles_folder+"/"+Config.instance.build_styles_name+'.css', 'w') do |f|
|
64
67
|
f.write(css)
|
65
68
|
end
|
66
69
|
|
@@ -98,7 +101,7 @@ module Entityjs
|
|
98
101
|
|
99
102
|
puts "Build Complete!"
|
100
103
|
puts "Build is at"
|
101
|
-
puts " #{
|
104
|
+
puts " #{build_folder}"
|
102
105
|
|
103
106
|
Dirc.to_game_root
|
104
107
|
|
@@ -14,7 +14,7 @@ module Entityjs
|
|
14
14
|
puts " http://localhost:2345/"
|
15
15
|
puts ""
|
16
16
|
puts "Your tests are here:"
|
17
|
-
puts " http://localhost:2345/
|
17
|
+
puts " http://localhost:2345/test"
|
18
18
|
puts ""
|
19
19
|
|
20
20
|
Entityjs::Server.run! :port=>2345
|
@@ -72,4 +72,4 @@ module Entityjs
|
|
72
72
|
|
73
73
|
end
|
74
74
|
|
75
|
-
end
|
75
|
+
end
|
data/lib/entityjs/config.rb
CHANGED
data/lib/entityjs/version.rb
CHANGED
@@ -30,6 +30,16 @@ describe('comp', function(){
|
|
30
30
|
eq(re[k.name](val).ref, val);
|
31
31
|
|
32
32
|
});
|
33
|
+
|
34
|
+
it('should overwrite method', function(){
|
35
|
+
|
36
|
+
|
37
|
+
k.method(function(){
|
38
|
+
eq(this, re[k.name]);
|
39
|
+
});
|
40
|
+
|
41
|
+
re[k.name]();
|
42
|
+
});
|
33
43
|
|
34
44
|
it('should add events', function(){
|
35
45
|
k.events('mouseup', function(){})
|
@@ -13,7 +13,7 @@ describe 'new' do
|
|
13
13
|
Entityjs::New.generate(['mygame', 'blank']).should == 0
|
14
14
|
Dir.pwd.should match /\/EntityJS$/i
|
15
15
|
|
16
|
-
File.exists?('mygame/
|
16
|
+
File.exists?('mygame/game.json').should == true
|
17
17
|
File.exists?('mygame/readme.txt').should == true
|
18
18
|
end
|
19
19
|
|
data/spec/support/mygame.rb
CHANGED
data/src/core/comp.js
CHANGED
@@ -71,6 +71,14 @@ re.c.init.prototype = {
|
|
71
71
|
}
|
72
72
|
},
|
73
73
|
|
74
|
+
//turns global method into a singleton
|
75
|
+
singleton:function(){
|
76
|
+
this._re_method = function(){
|
77
|
+
return this._ || (this._ = re.e(this.name));
|
78
|
+
}
|
79
|
+
return this;
|
80
|
+
},
|
81
|
+
|
74
82
|
statics:function(obj, value){
|
75
83
|
this._checkFinal();
|
76
84
|
|
@@ -126,10 +134,10 @@ re.c.init.prototype = {
|
|
126
134
|
},
|
127
135
|
|
128
136
|
_re_method:function(){
|
129
|
-
var e = re.e(this.name);
|
137
|
+
var e = re.e(this.name), f = this._re_factory;
|
130
138
|
|
131
|
-
if(
|
132
|
-
|
139
|
+
if(f)
|
140
|
+
f.apply(e, arguments);
|
133
141
|
|
134
142
|
return e;
|
135
143
|
},
|
@@ -146,7 +154,7 @@ re.c.init.prototype = {
|
|
146
154
|
|
147
155
|
*/
|
148
156
|
method:function(f){
|
149
|
-
this._re_method = f;
|
157
|
+
this._re_method = f.bind(re[this.name]);
|
150
158
|
return this;
|
151
159
|
},
|
152
160
|
|
data/src/core/load.js
CHANGED
@@ -5,6 +5,10 @@
|
|
5
5
|
}
|
6
6
|
|
7
7
|
b.path = "";
|
8
|
+
//returns file name of path
|
9
|
+
b.file = function(name){
|
10
|
+
return name.split('/').pop().split('?').shift();
|
11
|
+
};
|
8
12
|
|
9
13
|
b.imageExt = 'img';
|
10
14
|
b.soundExt = 'sfx';
|
@@ -74,13 +78,10 @@
|
|
74
78
|
a = this.assets[i];
|
75
79
|
|
76
80
|
//copy full source path
|
77
|
-
var s = a;
|
78
|
-
|
81
|
+
var s = (a.charAt(0)=='/')?a:re.load.path+a;
|
82
|
+
|
79
83
|
//remove directories
|
80
|
-
|
81
|
-
if(d != -1){
|
82
|
-
a = a.substr(d+1, a.length);
|
83
|
-
}
|
84
|
+
a = re.load.file(a);
|
84
85
|
|
85
86
|
//find file extension
|
86
87
|
var j = a.lastIndexOf('.')+1;
|
@@ -154,7 +155,7 @@
|
|
154
155
|
|
155
156
|
};
|
156
157
|
|
157
|
-
img.src =
|
158
|
+
img.src = src;
|
158
159
|
|
159
160
|
return this;
|
160
161
|
};
|
@@ -189,7 +190,7 @@
|
|
189
190
|
|
190
191
|
s = soundManager.createSound({
|
191
192
|
id:a,
|
192
|
-
url:
|
193
|
+
url:src,
|
193
194
|
autoLoad:true,
|
194
195
|
onload:function(){
|
195
196
|
that._loaded();
|
@@ -201,8 +202,8 @@
|
|
201
202
|
});
|
202
203
|
|
203
204
|
} else {
|
204
|
-
s = new Audio(
|
205
|
-
s.src =
|
205
|
+
s = new Audio(src);
|
206
|
+
s.src = src;
|
206
207
|
s.preload = "auto";
|
207
208
|
s.load();
|
208
209
|
|
data/src/core/query.js
CHANGED
@@ -367,6 +367,15 @@
|
|
367
367
|
|
368
368
|
return val;
|
369
369
|
}
|
370
|
+
|
371
|
+
p.sum = function(method, context){
|
372
|
+
var val = 0;
|
373
|
+
|
374
|
+
this.each(function(e, i, l){
|
375
|
+
val += method.call(context || this, e, i, l);
|
376
|
+
});
|
377
|
+
return val;
|
378
|
+
}
|
370
379
|
|
371
380
|
//without this filter would return a normal array.
|
372
381
|
p.filter = function(){
|
data/src/display/circle.js
CHANGED
@@ -13,7 +13,7 @@ re.c('circle')
|
|
13
13
|
c.fillStyle = this.color;
|
14
14
|
|
15
15
|
c.beginPath();
|
16
|
-
var r = this.radius
|
16
|
+
var r = this.radius;
|
17
17
|
|
18
18
|
c.arc(-this.regX + r , -this.regY + r , r, 0, Math.PI*2, true);
|
19
19
|
|
@@ -31,4 +31,4 @@ re.c('circle')
|
|
31
31
|
return this.sizeX * 0.5;
|
32
32
|
}
|
33
33
|
|
34
|
-
});
|
34
|
+
});
|
data/src/display/el.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
The element comp creates and displays DOM elements. This can be used to display buttons,
|
3
3
|
images, icons etc. on top of the canvas element.
|
4
4
|
|
5
|
-
re.e('el:a').$el //jquery element
|
5
|
+
re.e('el:a').$el //jquery element reference
|
6
6
|
|
7
7
|
Jquery must be available to work!
|
8
8
|
|
@@ -13,7 +13,8 @@ re.c('el')
|
|
13
13
|
|
14
14
|
posX:function(x){
|
15
15
|
if(re.is(x)){
|
16
|
-
|
16
|
+
this.$el.css('left', x);
|
17
|
+
return this;
|
17
18
|
}
|
18
19
|
|
19
20
|
return this.$el.position().left;
|
@@ -21,7 +22,8 @@ re.c('el')
|
|
21
22
|
|
22
23
|
posY:function(y){
|
23
24
|
if(re.is(y)){
|
24
|
-
|
25
|
+
this.$el.css('top', y);
|
26
|
+
return this;
|
25
27
|
}
|
26
28
|
return this.$el.position().top;
|
27
29
|
},
|
@@ -38,7 +40,6 @@ re.c('el')
|
|
38
40
|
var that = this;
|
39
41
|
this.$el.click(function(e){
|
40
42
|
f.call(that,e);
|
41
|
-
return false;
|
42
43
|
});
|
43
44
|
return this;
|
44
45
|
},
|
@@ -48,7 +49,7 @@ re.c('el')
|
|
48
49
|
},
|
49
50
|
|
50
51
|
setEl:function(el){
|
51
|
-
this.
|
52
|
+
this.removeEl();
|
52
53
|
|
53
54
|
this.el = el;
|
54
55
|
this.$el = $(el).addClass('el');
|
@@ -67,15 +68,16 @@ re.c('el')
|
|
67
68
|
},
|
68
69
|
|
69
70
|
//places element to parent of canvas
|
70
|
-
|
71
|
-
$(re.sys.canvas).parent()
|
71
|
+
addEl:function(targ){
|
72
|
+
targ = targ || $(re.sys.canvas).parent();
|
73
|
+
|
74
|
+
targ.append(this.el);
|
72
75
|
return this;
|
73
76
|
},
|
74
77
|
|
75
|
-
|
78
|
+
removeEl:function(){
|
76
79
|
if(this.$el){
|
77
80
|
this.$el.remove();
|
78
|
-
this.$el = this.el = null;
|
79
81
|
}
|
80
82
|
return this;
|
81
83
|
},
|
@@ -95,5 +97,5 @@ re.c('el')
|
|
95
97
|
if(e) this.setEl(re.$new(e));
|
96
98
|
})
|
97
99
|
.dispose(function(){
|
98
|
-
this.
|
100
|
+
this.removeEl();
|
99
101
|
});
|
data/src/display/image.js
CHANGED
data/src/math/bisect.js
CHANGED
@@ -23,9 +23,9 @@ re.c('bisect')
|
|
23
23
|
return this.toTileX(bi, width, size) * size;
|
24
24
|
},
|
25
25
|
|
26
|
-
toY:function(bi, width,
|
26
|
+
toY:function(bi, width, sizeX, sizeY){
|
27
27
|
|
28
|
-
return this.toTileY(bi, width,
|
28
|
+
return this.toTileY(bi, width, sizeX) * sizeY;
|
29
29
|
},
|
30
30
|
|
31
31
|
toTileX:function(bi, width, size){
|
@@ -56,7 +56,7 @@ re.c('bisect')
|
|
56
56
|
|
57
57
|
biToY:function(bi){
|
58
58
|
|
59
|
-
return re.bisect.toY(bi, this.bisect, this.sizeX);
|
59
|
+
return re.bisect.toY(bi, this.bisect, this.sizeX, this.sizeY);
|
60
60
|
},
|
61
61
|
|
62
62
|
biToTileX:function(bi){
|
data/src/pattern/flicker.js
CHANGED
@@ -50,21 +50,21 @@ re.c('flicker')
|
|
50
50
|
|
51
51
|
change:function(){
|
52
52
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
if(this.flicker_loops == -1 || --this.flicker_loops >= 1){
|
57
|
-
//loop again
|
58
|
-
|
59
|
-
this.flicker_frame = 0;
|
53
|
+
//check if over
|
54
|
+
if(this.flicker_frame == this.flicker_frames.length){
|
60
55
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
56
|
+
if(this.flicker_loops == -1 || --this.flicker_loops >= 1){
|
57
|
+
//loop again
|
58
|
+
|
59
|
+
this.flicker_frame = 0;
|
60
|
+
|
61
|
+
} else {
|
62
|
+
//done flickering
|
63
|
+
|
64
|
+
this.flicker_stop();
|
65
|
+
return;
|
66
|
+
}
|
66
67
|
}
|
67
|
-
}
|
68
68
|
|
69
69
|
this.flicker_run();
|
70
70
|
},
|
data/src/pattern/pathfind.js
CHANGED
data/templates/circle/game.json
CHANGED
data/templates/dom/game.json
CHANGED
data/templates/pong/game.json
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: entityjs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-07-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirement: &23146660 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,15 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ! '>='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0'
|
24
|
+
version_requirements: *23146660
|
30
25
|
- !ruby/object:Gem::Dependency
|
31
26
|
name: jasmine
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
27
|
+
requirement: &23146240 !ruby/object:Gem::Requirement
|
33
28
|
none: false
|
34
29
|
requirements:
|
35
30
|
- - ! '>='
|
@@ -37,31 +32,21 @@ dependencies:
|
|
37
32
|
version: '0'
|
38
33
|
type: :development
|
39
34
|
prerelease: false
|
40
|
-
version_requirements:
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
35
|
+
version_requirements: *23146240
|
46
36
|
- !ruby/object:Gem::Dependency
|
47
37
|
name: sinatra
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
38
|
+
requirement: &23145740 !ruby/object:Gem::Requirement
|
49
39
|
none: false
|
50
40
|
requirements:
|
51
41
|
- - ! '>='
|
52
42
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
43
|
+
version: 1.3.0
|
54
44
|
type: :runtime
|
55
45
|
prerelease: false
|
56
|
-
version_requirements:
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '1.0'
|
46
|
+
version_requirements: *23145740
|
62
47
|
- !ruby/object:Gem::Dependency
|
63
48
|
name: coffee-script
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirement: &23145320 !ruby/object:Gem::Requirement
|
65
50
|
none: false
|
66
51
|
requirements:
|
67
52
|
- - ! '>='
|
@@ -69,15 +54,10 @@ dependencies:
|
|
69
54
|
version: '0'
|
70
55
|
type: :runtime
|
71
56
|
prerelease: false
|
72
|
-
version_requirements:
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ! '>='
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0'
|
57
|
+
version_requirements: *23145320
|
78
58
|
- !ruby/object:Gem::Dependency
|
79
59
|
name: uglifier
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirement: &23144860 !ruby/object:Gem::Requirement
|
81
61
|
none: false
|
82
62
|
requirements:
|
83
63
|
- - ! '>='
|
@@ -85,15 +65,10 @@ dependencies:
|
|
85
65
|
version: '0'
|
86
66
|
type: :runtime
|
87
67
|
prerelease: false
|
88
|
-
version_requirements:
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - ! '>='
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: '0'
|
68
|
+
version_requirements: *23144860
|
94
69
|
- !ruby/object:Gem::Dependency
|
95
70
|
name: json
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirement: &23144440 !ruby/object:Gem::Requirement
|
97
72
|
none: false
|
98
73
|
requirements:
|
99
74
|
- - ! '>='
|
@@ -101,15 +76,10 @@ dependencies:
|
|
101
76
|
version: '0'
|
102
77
|
type: :runtime
|
103
78
|
prerelease: false
|
104
|
-
version_requirements:
|
105
|
-
none: false
|
106
|
-
requirements:
|
107
|
-
- - ! '>='
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
79
|
+
version_requirements: *23144440
|
110
80
|
- !ruby/object:Gem::Dependency
|
111
81
|
name: cobravsmongoose
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
82
|
+
requirement: &23144020 !ruby/object:Gem::Requirement
|
113
83
|
none: false
|
114
84
|
requirements:
|
115
85
|
- - ! '>='
|
@@ -117,15 +87,10 @@ dependencies:
|
|
117
87
|
version: '0'
|
118
88
|
type: :runtime
|
119
89
|
prerelease: false
|
120
|
-
version_requirements:
|
121
|
-
none: false
|
122
|
-
requirements:
|
123
|
-
- - ! '>='
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '0'
|
90
|
+
version_requirements: *23144020
|
126
91
|
- !ruby/object:Gem::Dependency
|
127
92
|
name: cssmin
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
93
|
+
requirement: &23143600 !ruby/object:Gem::Requirement
|
129
94
|
none: false
|
130
95
|
requirements:
|
131
96
|
- - ! '>='
|
@@ -133,12 +98,7 @@ dependencies:
|
|
133
98
|
version: '0'
|
134
99
|
type: :runtime
|
135
100
|
prerelease: false
|
136
|
-
version_requirements:
|
137
|
-
none: false
|
138
|
-
requirements:
|
139
|
-
- - ! '>='
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: '0'
|
101
|
+
version_requirements: *23143600
|
142
102
|
description: HTML5 Javascript game engine, quickly create robust, flexible and reusable
|
143
103
|
games.
|
144
104
|
email:
|
@@ -459,7 +419,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
459
419
|
version: '0'
|
460
420
|
requirements: []
|
461
421
|
rubyforge_project: entityjs
|
462
|
-
rubygems_version: 1.8.
|
422
|
+
rubygems_version: 1.8.15
|
463
423
|
signing_key:
|
464
424
|
specification_version: 3
|
465
425
|
summary: Create HTML5 javascript games in EntityJS.
|