rails_karma 0.1.0 → 0.1.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.
- checksums.yaml +4 -4
- data/README.md +34 -5
- data/files/karma.conf.js +13 -13
- data/lib/rails_karma/tasks.rb +64 -15
- data/lib/rails_karma/version.rb +1 -1
- data/rails_karma.gemspec +9 -8
- metadata +15 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3ca4ef8f9506e14c0f599772f6b3edd8256d16fa
|
4
|
+
data.tar.gz: a1c818d3c70eef190e5f252cb5c6bc73dc86b564
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f936e1fd09b9bb412a314cd6b90d31d16b932a27be0816ba40184aea02df3dcd64529765f4cd8abdd7d879b8684b1e48ff3fbefcfd7da2cf74f516cbc4d3fe16
|
7
|
+
data.tar.gz: 0888bae68ca0c82d9e95d093865e5f3c33a2d59edf62a5be6997884dd4a8408cba7420d5a37daa66af30492754072a92e70690e49715fd7294c9b52b0876850c
|
data/README.md
CHANGED
@@ -1,24 +1,47 @@
|
|
1
1
|
# RailsKarma
|
2
2
|
|
3
|
-
|
3
|
+
This is a simple gem which integrates [Karma](http://karma-runner.github.io/) with Rails
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
7
|
+
You will need npm to install karma so if you don't have node you can [get it here](http://nodejs.org/download/)
|
8
|
+
|
7
9
|
Add this line to your application's Gemfile:
|
8
10
|
|
9
11
|
gem 'rails_karma'
|
10
12
|
|
11
|
-
|
13
|
+
Then execute:
|
12
14
|
|
13
15
|
$ bundle
|
16
|
+
$ rake karma:install
|
17
|
+
|
18
|
+
This will install a sample config file in config/karma.conf.js and install karma via npm
|
19
|
+
|
20
|
+
If you are using travis you will need `npm install` in your before_script to install karma e.g.
|
21
|
+
|
22
|
+
#sample .travis.yml file
|
23
|
+
language: ruby
|
24
|
+
env:
|
25
|
+
- DB=postgres
|
26
|
+
rvm:
|
27
|
+
- 2.0.0
|
28
|
+
bundler_args: --without development
|
29
|
+
before_script:
|
30
|
+
- cp config/database.yml.travis config/database.yml
|
31
|
+
- bundle exec rake db:setup
|
32
|
+
- npm install
|
14
33
|
|
15
|
-
|
34
|
+
and then you can use karma in your rake task e.g.
|
16
35
|
|
17
|
-
|
36
|
+
#lib/tasks/ci.rake
|
37
|
+
desc "Run all the tests, called by the CI server"
|
38
|
+
task :ci => [:spec, :cucumber, :karma] do
|
39
|
+
|
40
|
+
end
|
18
41
|
|
19
42
|
## Usage
|
20
43
|
|
21
|
-
|
44
|
+
Update config/karma.conf.js to load the files you want to test and run `rake karma` to run your tests
|
22
45
|
|
23
46
|
## Contributing
|
24
47
|
|
@@ -27,3 +50,9 @@ TODO: Write usage instructions here
|
|
27
50
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
28
51
|
4. Push to the branch (`git push origin my-new-feature`)
|
29
52
|
5. Create new Pull Request
|
53
|
+
|
54
|
+
|
55
|
+
## Changelog
|
56
|
+
|
57
|
+
### 0.1.1
|
58
|
+
- initial release
|
data/files/karma.conf.js
CHANGED
@@ -1,22 +1,22 @@
|
|
1
1
|
basePath = '../';
|
2
2
|
|
3
3
|
files = [
|
4
|
-
|
5
|
-
|
4
|
+
JASMINE,
|
5
|
+
JASMINE_ADAPTER,
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
//libs
|
8
|
+
'vendor/assets/javascripts/rails_karma/angular.js',
|
9
|
+
'vendor/assets/javascripts/rails_karma/angular-cookies.js',
|
10
|
+
'vendor/assets/javascripts/rails_karma/angular-loader.js',
|
11
|
+
'vendor/assets/javascripts/rails_karma/angular-resource.js',
|
12
|
+
'vendor/assets/javascripts/rails_karma/angular-sanitize.js',
|
13
|
+
'vendor/assets/javascripts/rails_karma/angular-mocks.js',
|
10
14
|
|
11
|
-
|
12
|
-
|
15
|
+
//our app!
|
16
|
+
'app/assets/angular/**',
|
13
17
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
// and our tests
|
18
|
-
'karma/lib/angular/angular-mocks.js',
|
19
|
-
'karma/**/*.coffee',
|
18
|
+
//and our tests
|
19
|
+
'karma/**/*',
|
20
20
|
];
|
21
21
|
|
22
22
|
browsers = 'PhantomJS'.split(' ')
|
data/lib/rails_karma/tasks.rb
CHANGED
@@ -6,23 +6,72 @@ namespace :karma do
|
|
6
6
|
|
7
7
|
desc 'Install karma files'
|
8
8
|
task :install do
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
sh 'mkdir karma/lib/angular'
|
15
|
-
|
16
|
-
mocks_source = File.join(Gem.loaded_specs["rails_karma"].full_gem_path, 'files', 'angular-mocks.js')
|
17
|
-
mocks_target = File.join(Rails.root, 'karma', 'lib', 'angular', 'angular-mocks.js')
|
18
|
-
FileUtils.cp_r mocks_source, mocks_target
|
19
|
-
end
|
9
|
+
puts 'Generating Karma files'
|
10
|
+
RailsKarma::Installer.karma
|
11
|
+
RailsKarma::Installer.angular_files
|
12
|
+
RailsKarma::Installer.karma_config
|
13
|
+
end
|
20
14
|
|
21
|
-
|
22
|
-
|
23
|
-
|
15
|
+
desc 'Uninstall karma files'
|
16
|
+
task :uninstall do
|
17
|
+
files = ['./config/karma.conf.js', './karma', './vendor/assets/javascripts/rails_karma']
|
18
|
+
#FileUtils.rm 'package.json'
|
19
|
+
puts 'Removing files...'
|
20
|
+
|
21
|
+
files.each do |f|
|
22
|
+
if File.exists? f
|
23
|
+
puts f
|
24
|
+
FileUtils.rm_rf f
|
25
|
+
end
|
26
|
+
end
|
24
27
|
end
|
25
28
|
end
|
26
29
|
|
27
30
|
desc 'Alias for karma:run'
|
28
|
-
task :karma =>
|
31
|
+
task :karma => 'karma:run'
|
32
|
+
|
33
|
+
module RailsKarma
|
34
|
+
class Installer
|
35
|
+
def self.karma
|
36
|
+
unless File.exists?('package.json')
|
37
|
+
puts './package.json'
|
38
|
+
File.open('package.json', 'w') {|f| f.write '{}'}
|
39
|
+
end
|
40
|
+
unless File.open('package.json') {|f| f.read.include? 'karma'}
|
41
|
+
puts 'installing karma'
|
42
|
+
sh 'npm install karma --save-dev'
|
43
|
+
end
|
44
|
+
unless File.open('.gitignore') {|f| f.read.include? 'node_modules'}
|
45
|
+
puts 'adding node_modules to .gitignore'
|
46
|
+
File.open('.gitignore', 'a') {|f| f.write "node_modules\n"}
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def self.angular_files
|
51
|
+
vendor_dir = File.join('vendor', 'assets', 'javascripts', 'rails_karma')
|
52
|
+
unless Dir.exists?(vendor_dir)
|
53
|
+
puts vendor_dir
|
54
|
+
Dir.mkdir vendor_dir
|
55
|
+
end
|
56
|
+
|
57
|
+
angular_glob = File.join(Gem.loaded_specs['angularjs-rails'].full_gem_path, 'vendor', 'assets', 'javascripts', '*.js')
|
58
|
+
Dir.glob(angular_glob).each do |file|
|
59
|
+
FileUtils.cp file, File.join(vendor_dir,File.basename(file))
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def self.karma_config
|
64
|
+
config_source = File.join(Gem.loaded_specs['rails_karma'].full_gem_path, 'files', 'karma.conf.js')
|
65
|
+
config_target = File.join(Rails.root, 'config', 'karma.conf.js')
|
66
|
+
unless File.exists?(config_target)
|
67
|
+
puts './config/karma.conf.js'
|
68
|
+
FileUtils.cp_r config_source, config_target
|
69
|
+
end
|
70
|
+
unless Dir.exists?('karma')
|
71
|
+
puts './karma'
|
72
|
+
Dir.mkdir 'karma'
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
data/lib/rails_karma/version.rb
CHANGED
data/rails_karma.gemspec
CHANGED
@@ -4,20 +4,21 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'rails_karma/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
7
|
+
spec.name = 'rails_karma'
|
8
8
|
spec.version = RailsKarma::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
9
|
+
spec.authors = ['Joshua Vial']
|
10
|
+
spec.email = ['joshua@enspiral.com']
|
11
11
|
spec.summary = %q{Integrate Karma javascript test runner with rails}
|
12
12
|
spec.description = %q{A simple gem which installs Karma config files and rake tasks}
|
13
|
-
spec.homepage =
|
14
|
-
spec.license =
|
13
|
+
spec.homepage = 'https://github.com/enspiral/rails_karma'
|
14
|
+
spec.license = 'MIT'
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
17
17
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
-
spec.require_paths = [
|
19
|
+
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
spec.add_development_dependency
|
22
|
-
spec.add_development_dependency
|
21
|
+
spec.add_development_dependency 'bundler', '~> 1.3'
|
22
|
+
spec.add_development_dependency 'rake'
|
23
|
+
spec.add_dependency 'angularjs-rails', '~>1.0.7'
|
23
24
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_karma
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joshua Vial
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: angularjs-rails
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.0.7
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.0.7
|
41
55
|
description: A simple gem which installs Karma config files and rake tasks
|
42
56
|
email:
|
43
57
|
- joshua@enspiral.com
|