emberjs-couchapp 0.0.1
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/.gitignore +5 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +36 -0
- data/LICENSE +13 -0
- data/README.md +52 -0
- data/Rakefile +17 -0
- data/bin/emberjs-couchapp +5 -0
- data/emberjs-couchapp.gemspec +23 -0
- data/lib/emberjs-couchapp.rb +5 -0
- data/lib/emberjs-couchapp/app_generator.rb +25 -0
- data/lib/emberjs-couchapp/cli.rb +13 -0
- data/lib/emberjs-couchapp/templates/app/.couchappignore +7 -0
- data/lib/emberjs-couchapp/templates/app/.couchapprc.tt +10 -0
- data/lib/emberjs-couchapp/templates/app/.gitignore +3 -0
- data/lib/emberjs-couchapp/templates/app/Assetfile.tt +136 -0
- data/lib/emberjs-couchapp/templates/app/Gemfile +19 -0
- data/lib/emberjs-couchapp/templates/app/Guardfile +3 -0
- data/lib/emberjs-couchapp/templates/app/LICENSE +13 -0
- data/lib/emberjs-couchapp/templates/app/README.md +58 -0
- data/lib/emberjs-couchapp/templates/app/Rakefile.tt +34 -0
- data/lib/emberjs-couchapp/templates/app/_id.tt +1 -0
- data/lib/emberjs-couchapp/templates/app/app/css/bootstrap.css +4983 -0
- data/lib/emberjs-couchapp/templates/app/app/css/main.css +11 -0
- data/lib/emberjs-couchapp/templates/app/app/index.html.tt +24 -0
- data/lib/emberjs-couchapp/templates/app/app/lib/controllers/.empty_directory +0 -0
- data/lib/emberjs-couchapp/templates/app/app/lib/core.js.tt +11 -0
- data/lib/emberjs-couchapp/templates/app/app/lib/ext.js.tt +20 -0
- data/lib/emberjs-couchapp/templates/app/app/lib/main.js.tt +3 -0
- data/lib/emberjs-couchapp/templates/app/app/lib/models/.empty_directory +0 -0
- data/lib/emberjs-couchapp/templates/app/app/lib/state_manager.js.tt +11 -0
- data/lib/emberjs-couchapp/templates/app/app/lib/states/start.js.tt +9 -0
- data/lib/emberjs-couchapp/templates/app/app/lib/store.js.tt +5 -0
- data/lib/emberjs-couchapp/templates/app/app/lib/views/.empty_directory +0 -0
- data/lib/emberjs-couchapp/templates/app/app/modules/.empty_directory +0 -0
- data/lib/emberjs-couchapp/templates/app/app/plugins/loader.js +60 -0
- data/lib/emberjs-couchapp/templates/app/app/static/img/glyphicons-halflings-white.png +0 -0
- data/lib/emberjs-couchapp/templates/app/app/static/img/glyphicons-halflings.png +0 -0
- data/lib/emberjs-couchapp/templates/app/app/templates/main_page.handlebars.tt +1 -0
- data/lib/emberjs-couchapp/templates/app/app/tests/%name%_tests.js.tt +5 -0
- data/lib/emberjs-couchapp/templates/app/app/vendor/ember-data.js +3787 -0
- data/lib/emberjs-couchapp/templates/app/app/vendor/ember.js +20148 -0
- data/lib/emberjs-couchapp/templates/app/app/vendor/jquery.js +9404 -0
- data/lib/emberjs-couchapp/templates/app/config.ru.tt +18 -0
- data/lib/emberjs-couchapp/templates/app/couchapp.json.tt +4 -0
- data/lib/emberjs-couchapp/templates/app/filters/my_filter.js +3 -0
- data/lib/emberjs-couchapp/templates/app/language +1 -0
- data/lib/emberjs-couchapp/templates/app/lists/my_list.js +3 -0
- data/lib/emberjs-couchapp/templates/app/shows/my_show.js +3 -0
- data/lib/emberjs-couchapp/templates/app/tests/index.html +42 -0
- data/lib/emberjs-couchapp/templates/app/tests/qunit/qunit.css +235 -0
- data/lib/emberjs-couchapp/templates/app/tests/qunit/qunit.js +1669 -0
- data/lib/emberjs-couchapp/templates/app/tests/run-tests.js +93 -0
- data/lib/emberjs-couchapp/templates/app/views/my_view/map.js +3 -0
- data/lib/emberjs-couchapp/templates/app/views/my_view/reduce.js +3 -0
- data/lib/emberjs-couchapp/version.rb +3 -0
- data/spec/ember/cli_spec.rb +128 -0
- data/spec/spec_helper.rb +44 -0
- metadata +175 -0
@@ -0,0 +1,93 @@
|
|
1
|
+
// PhantomJS QUnit Test Runner
|
2
|
+
|
3
|
+
var args = phantom.args;
|
4
|
+
if (args.length < 1 || args.length > 2) {
|
5
|
+
console.log("Usage: " + phantom.scriptName + " <URI> <timeout>");
|
6
|
+
phantom.exit(1);
|
7
|
+
}
|
8
|
+
|
9
|
+
var page = require('webpage').create();
|
10
|
+
|
11
|
+
var depRe = /^DEPRECATION:/;
|
12
|
+
page.onConsoleMessage = function(msg) {
|
13
|
+
if (!depRe.test(msg)) console.log(msg);
|
14
|
+
};
|
15
|
+
|
16
|
+
var uri = args[0];
|
17
|
+
page.open(uri, function(status) {
|
18
|
+
if (status !== 'success') {
|
19
|
+
console.error("Unable to access: " + uri + " [" + status + "]");
|
20
|
+
phantom.exit(1);
|
21
|
+
} else {
|
22
|
+
page.evaluate(addLogging);
|
23
|
+
|
24
|
+
var timeout = parseInt(args[1] || 30000, 10);
|
25
|
+
var start = Date.now();
|
26
|
+
var interval = setInterval(function() {
|
27
|
+
if (Date.now() > start + timeout) {
|
28
|
+
console.error("Tests timed out");
|
29
|
+
phantom.exit(1);
|
30
|
+
} else {
|
31
|
+
var qunitDone = page.evaluate(function() {
|
32
|
+
return window.qunitDone;
|
33
|
+
});
|
34
|
+
|
35
|
+
if (qunitDone) {
|
36
|
+
clearInterval(interval);
|
37
|
+
if (qunitDone.failed > 0) {
|
38
|
+
phantom.exit(1);
|
39
|
+
} else {
|
40
|
+
phantom.exit();
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
44
|
+
}, 500);
|
45
|
+
}
|
46
|
+
});
|
47
|
+
|
48
|
+
function addLogging() {
|
49
|
+
var testErrors = [];
|
50
|
+
var assertionErrors = [];
|
51
|
+
|
52
|
+
QUnit.moduleDone(function(context) {
|
53
|
+
if (context.failed) {
|
54
|
+
var msg = "Module Failed: " + context.name + "\n" + testErrors.join("\n");
|
55
|
+
console.error(msg);
|
56
|
+
testErrors = [];
|
57
|
+
}
|
58
|
+
});
|
59
|
+
|
60
|
+
QUnit.testDone(function(context) {
|
61
|
+
if (context.failed) {
|
62
|
+
var msg = " Test Failed: " + context.name + assertionErrors.join(" ");
|
63
|
+
testErrors.push(msg);
|
64
|
+
assertionErrors = [];
|
65
|
+
}
|
66
|
+
});
|
67
|
+
|
68
|
+
QUnit.log(function(context) {
|
69
|
+
if (context.result) return;
|
70
|
+
|
71
|
+
var msg = "\n Assertion Failed:";
|
72
|
+
if (context.message) {
|
73
|
+
msg += " " + context.message;
|
74
|
+
}
|
75
|
+
|
76
|
+
if (context.expected) {
|
77
|
+
msg += "\n Expected: " + context.expected + ", Actual: " + context.actual;
|
78
|
+
}
|
79
|
+
|
80
|
+
assertionErrors.push(msg);
|
81
|
+
});
|
82
|
+
|
83
|
+
QUnit.done(function(context) {
|
84
|
+
var stats = [
|
85
|
+
"Time: " + context.runtime + "ms",
|
86
|
+
"Total: " + context.total,
|
87
|
+
"Passed: " + context.passed,
|
88
|
+
"Failed: " + context.failed
|
89
|
+
];
|
90
|
+
console.log(stats.join(", "));
|
91
|
+
window.qunitDone = context;
|
92
|
+
});
|
93
|
+
}
|
@@ -0,0 +1,128 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'emberjs-couchapp/cli'
|
3
|
+
|
4
|
+
describe EmberjsCouchapp::CLI do
|
5
|
+
def ember(*args)
|
6
|
+
capture_io {
|
7
|
+
EmberjsCouchapp::CLI.start(args)
|
8
|
+
}
|
9
|
+
end
|
10
|
+
|
11
|
+
describe "new" do
|
12
|
+
shared_examples "a new app" do
|
13
|
+
before do
|
14
|
+
ember('new', app_path)
|
15
|
+
end
|
16
|
+
|
17
|
+
def path(*segments)
|
18
|
+
Pathname.new(File.join(tmp, app_path, *segments))
|
19
|
+
end
|
20
|
+
|
21
|
+
let(:app_name) { File.basename(app_path) }
|
22
|
+
|
23
|
+
it 'creates root files' do
|
24
|
+
path.should exist
|
25
|
+
path('.gitignore').should exist
|
26
|
+
path('Assetfile').should exist
|
27
|
+
path('config.ru').should exist
|
28
|
+
path('Gemfile').should exist
|
29
|
+
path('Guardfile').should exist
|
30
|
+
path('LICENSE').should exist
|
31
|
+
path('Rakefile').should exist
|
32
|
+
path('README.md').should exist
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'creates couchapp specific root files' do
|
36
|
+
path('_id').should exist
|
37
|
+
path('.couchappignore').should exist
|
38
|
+
path('.couchapprc').should exist
|
39
|
+
path('couchapp.json').should exist
|
40
|
+
path('language').should exist
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'creates a sample CouchDB filter, list, show and view' do
|
44
|
+
path('filters/my_filter.js').should exist
|
45
|
+
path('lists/my_list.js').should exist
|
46
|
+
path('shows/my_show.js').should exist
|
47
|
+
path('views/my_view/map.js').should exist
|
48
|
+
path('views/my_view/reduce.js').should exist
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'creates app root files' do
|
52
|
+
path('app/index.html').should exist
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'creates app/css files' do
|
56
|
+
path('app/css').should exist
|
57
|
+
path('app/css/bootstrap.css').should exist
|
58
|
+
path('app/css/main.css').should exist
|
59
|
+
end
|
60
|
+
|
61
|
+
it 'creates app/lib files' do
|
62
|
+
path('app/lib').should exist
|
63
|
+
path('app/lib/controllers').should exist
|
64
|
+
path('app/lib/core.js').should exist
|
65
|
+
path('app/lib/ext.js').should exist
|
66
|
+
path('app/lib/main.js').should exist
|
67
|
+
path('app/lib/models').should exist
|
68
|
+
path('app/lib/state_manager.js').should exist
|
69
|
+
path('app/lib/states').should exist
|
70
|
+
path('app/lib/states/start.js').should exist
|
71
|
+
path('app/lib/store.js').should exist
|
72
|
+
path('app/lib/views').should exist
|
73
|
+
end
|
74
|
+
|
75
|
+
it 'creates app/modules files' do
|
76
|
+
path('app/modules').should exist
|
77
|
+
end
|
78
|
+
|
79
|
+
it 'creates app/plugins files' do
|
80
|
+
path('app/plugins').should exist
|
81
|
+
path('app/plugins/loader.js').should exist
|
82
|
+
end
|
83
|
+
|
84
|
+
it 'creates app/static files' do
|
85
|
+
path('app/static').should exist
|
86
|
+
path('app/static/img').should exist
|
87
|
+
path('app/static/img/glyphicons-halflings.png').should exist
|
88
|
+
path('app/static/img/glyphicons-halflings-white.png').should exist
|
89
|
+
end
|
90
|
+
|
91
|
+
it 'creates app/templates files' do
|
92
|
+
path('app/templates').should exist
|
93
|
+
path('app/templates/main_page.handlebars').should exist
|
94
|
+
end
|
95
|
+
|
96
|
+
it 'creates app/tests files' do
|
97
|
+
path('app/tests').should exist
|
98
|
+
path("app/tests/#{app_name}_tests.js").should exist
|
99
|
+
end
|
100
|
+
|
101
|
+
it 'creates app/vendor files' do
|
102
|
+
path('app/vendor').should exist
|
103
|
+
path('app/vendor/ember-data.js').should exist
|
104
|
+
path('app/vendor/ember.js').should exist
|
105
|
+
path('app/vendor/jquery.js').should exist
|
106
|
+
end
|
107
|
+
|
108
|
+
it 'creates tests/ files' do
|
109
|
+
path('tests').should exist
|
110
|
+
path('tests/qunit').should exist
|
111
|
+
path('tests/qunit/qunit.css').should exist
|
112
|
+
path('tests/qunit/qunit.js').should exist
|
113
|
+
path('tests/index.html').should exist
|
114
|
+
path('tests/run-tests.js').should exist
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
context "given a name" do
|
119
|
+
let(:app_path) { "inky" }
|
120
|
+
include_examples "a new app"
|
121
|
+
end
|
122
|
+
|
123
|
+
context "given a path" do
|
124
|
+
let(:app_path) { "path/to/inky" }
|
125
|
+
include_examples "a new app"
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'pry'
|
2
|
+
require 'stringio'
|
3
|
+
|
4
|
+
module EmberSpecHelpers
|
5
|
+
def capture_io
|
6
|
+
original_stdout, original_stderr = $stdout, $stderr
|
7
|
+
$stdout, $stderr = StringIO.new, StringIO.new
|
8
|
+
yield
|
9
|
+
return $stdout.string, $stderr.string
|
10
|
+
ensure
|
11
|
+
$stdout, $stderr = original_stdout, original_stderr
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
15
|
+
|
16
|
+
RSpec::Matchers.define :have_contents do |expected|
|
17
|
+
match do |file|
|
18
|
+
actual = file.read
|
19
|
+
case expected
|
20
|
+
when String; expected == actual
|
21
|
+
when Regexp; expected =~ actual
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
RSpec.configure do |c|
|
27
|
+
c.include EmberSpecHelpers
|
28
|
+
|
29
|
+
original = Dir.pwd
|
30
|
+
|
31
|
+
def tmp
|
32
|
+
File.expand_path("../tmp", __FILE__)
|
33
|
+
end
|
34
|
+
|
35
|
+
c.before do
|
36
|
+
FileUtils.rm_rf(tmp)
|
37
|
+
FileUtils.mkdir_p(tmp)
|
38
|
+
Dir.chdir(tmp)
|
39
|
+
end
|
40
|
+
|
41
|
+
c.after do
|
42
|
+
Dir.chdir(original)
|
43
|
+
end
|
44
|
+
end
|
metadata
ADDED
@@ -0,0 +1,175 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: emberjs-couchapp
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Clemens Müller
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-06-13 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: thor
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rake
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rspec
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: pry
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
description: Create CouchApp which uses Ember.js
|
79
|
+
email:
|
80
|
+
- cmueller.418@gmail.com
|
81
|
+
executables:
|
82
|
+
- emberjs-couchapp
|
83
|
+
extensions: []
|
84
|
+
extra_rdoc_files: []
|
85
|
+
files:
|
86
|
+
- .gitignore
|
87
|
+
- Gemfile
|
88
|
+
- Gemfile.lock
|
89
|
+
- LICENSE
|
90
|
+
- README.md
|
91
|
+
- Rakefile
|
92
|
+
- bin/emberjs-couchapp
|
93
|
+
- emberjs-couchapp.gemspec
|
94
|
+
- lib/emberjs-couchapp.rb
|
95
|
+
- lib/emberjs-couchapp/app_generator.rb
|
96
|
+
- lib/emberjs-couchapp/cli.rb
|
97
|
+
- lib/emberjs-couchapp/templates/app/.couchappignore
|
98
|
+
- lib/emberjs-couchapp/templates/app/.couchapprc.tt
|
99
|
+
- lib/emberjs-couchapp/templates/app/.gitignore
|
100
|
+
- lib/emberjs-couchapp/templates/app/Assetfile.tt
|
101
|
+
- lib/emberjs-couchapp/templates/app/Gemfile
|
102
|
+
- lib/emberjs-couchapp/templates/app/Guardfile
|
103
|
+
- lib/emberjs-couchapp/templates/app/LICENSE
|
104
|
+
- lib/emberjs-couchapp/templates/app/README.md
|
105
|
+
- lib/emberjs-couchapp/templates/app/Rakefile.tt
|
106
|
+
- lib/emberjs-couchapp/templates/app/_id.tt
|
107
|
+
- lib/emberjs-couchapp/templates/app/app/css/bootstrap.css
|
108
|
+
- lib/emberjs-couchapp/templates/app/app/css/main.css
|
109
|
+
- lib/emberjs-couchapp/templates/app/app/index.html.tt
|
110
|
+
- lib/emberjs-couchapp/templates/app/app/lib/controllers/.empty_directory
|
111
|
+
- lib/emberjs-couchapp/templates/app/app/lib/core.js.tt
|
112
|
+
- lib/emberjs-couchapp/templates/app/app/lib/ext.js.tt
|
113
|
+
- lib/emberjs-couchapp/templates/app/app/lib/main.js.tt
|
114
|
+
- lib/emberjs-couchapp/templates/app/app/lib/models/.empty_directory
|
115
|
+
- lib/emberjs-couchapp/templates/app/app/lib/state_manager.js.tt
|
116
|
+
- lib/emberjs-couchapp/templates/app/app/lib/states/start.js.tt
|
117
|
+
- lib/emberjs-couchapp/templates/app/app/lib/store.js.tt
|
118
|
+
- lib/emberjs-couchapp/templates/app/app/lib/views/.empty_directory
|
119
|
+
- lib/emberjs-couchapp/templates/app/app/modules/.empty_directory
|
120
|
+
- lib/emberjs-couchapp/templates/app/app/plugins/loader.js
|
121
|
+
- lib/emberjs-couchapp/templates/app/app/static/img/glyphicons-halflings-white.png
|
122
|
+
- lib/emberjs-couchapp/templates/app/app/static/img/glyphicons-halflings.png
|
123
|
+
- lib/emberjs-couchapp/templates/app/app/templates/main_page.handlebars.tt
|
124
|
+
- lib/emberjs-couchapp/templates/app/app/tests/%name%_tests.js.tt
|
125
|
+
- lib/emberjs-couchapp/templates/app/app/vendor/ember-data.js
|
126
|
+
- lib/emberjs-couchapp/templates/app/app/vendor/ember.js
|
127
|
+
- lib/emberjs-couchapp/templates/app/app/vendor/jquery.js
|
128
|
+
- lib/emberjs-couchapp/templates/app/config.ru.tt
|
129
|
+
- lib/emberjs-couchapp/templates/app/couchapp.json.tt
|
130
|
+
- lib/emberjs-couchapp/templates/app/filters/my_filter.js
|
131
|
+
- lib/emberjs-couchapp/templates/app/language
|
132
|
+
- lib/emberjs-couchapp/templates/app/lists/my_list.js
|
133
|
+
- lib/emberjs-couchapp/templates/app/shows/my_show.js
|
134
|
+
- lib/emberjs-couchapp/templates/app/tests/index.html
|
135
|
+
- lib/emberjs-couchapp/templates/app/tests/qunit/qunit.css
|
136
|
+
- lib/emberjs-couchapp/templates/app/tests/qunit/qunit.js
|
137
|
+
- lib/emberjs-couchapp/templates/app/tests/run-tests.js
|
138
|
+
- lib/emberjs-couchapp/templates/app/views/my_view/map.js
|
139
|
+
- lib/emberjs-couchapp/templates/app/views/my_view/reduce.js
|
140
|
+
- lib/emberjs-couchapp/version.rb
|
141
|
+
- spec/ember/cli_spec.rb
|
142
|
+
- spec/spec_helper.rb
|
143
|
+
homepage: https://github.com/pangratz/emberjs-couchapp-gem
|
144
|
+
licenses: []
|
145
|
+
post_install_message:
|
146
|
+
rdoc_options: []
|
147
|
+
require_paths:
|
148
|
+
- lib
|
149
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
150
|
+
none: false
|
151
|
+
requirements:
|
152
|
+
- - ! '>='
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
version: '0'
|
155
|
+
segments:
|
156
|
+
- 0
|
157
|
+
hash: 2091285936960838770
|
158
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
159
|
+
none: false
|
160
|
+
requirements:
|
161
|
+
- - ! '>='
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
version: '0'
|
164
|
+
segments:
|
165
|
+
- 0
|
166
|
+
hash: 2091285936960838770
|
167
|
+
requirements: []
|
168
|
+
rubyforge_project:
|
169
|
+
rubygems_version: 1.8.24
|
170
|
+
signing_key:
|
171
|
+
specification_version: 3
|
172
|
+
summary: CouchApp using Ember.js
|
173
|
+
test_files:
|
174
|
+
- spec/ember/cli_spec.rb
|
175
|
+
- spec/spec_helper.rb
|