Skip to content
This repository was archived by the owner on Jan 16, 2023. It is now read-only.

Commit a322fdf

Browse files
committed
adding angularjs-rails-resource, making install code more explicit
1 parent 991600f commit a322fdf

File tree

6 files changed

+65
-19
lines changed

6 files changed

+65
-19
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ Update config/karma.conf.js to load the files you want to test and run `rake kar
5656

5757
## Changelog
5858

59+
### 0.1.3
60+
- adding [angularjs-rails-resource](https://github.com/FineLinePrototyping/angularjs-rails-resource)
61+
- adding test spec so rake karma works straight after install
62+
5963
### 0.1.2
6064
- fixing error with shell command installing karma
6165

files/karma.conf.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@ files = [
44
JASMINE,
55
JASMINE_ADAPTER,
66

7-
//libs
7+
//angular
88
'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',
9+
'vendor/assets/javascripts/rails_karma/*.js',
10+
11+
//angular rails resource
12+
'vendor/assets/javascripts/rails_karma/angularjs-rails-resource/**',
1413

1514
//our app!
1615
'app/assets/angular/**',

files/karma_test.coffee

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
describe "Karma", ->
2+
it "should pass", ->
3+
expect(true).toBe(true)

lib/rails_karma/tasks.rb

Lines changed: 51 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,14 @@
77
desc 'Install karma files'
88
task :install do
99
puts 'Generating Karma files'
10-
RailsKarma::Installer.karma
11-
RailsKarma::Installer.angular_files
12-
RailsKarma::Installer.karma_config
10+
RailsKarma::Installer.install_karma_lib
11+
RailsKarma::Installer.ignore_node_modules
12+
RailsKarma::Installer.make_vendor_dir
13+
RailsKarma::Installer.copy_angularjs_files
14+
RailsKarma::Installer.copy_angularjs_resource_files
15+
RailsKarma::Installer.copy_karma_config
16+
RailsKarma::Installer.create_karma_dir
17+
RailsKarma::Installer.copy_test_spec
1318
end
1419

1520
desc 'Uninstall karma files'
@@ -20,7 +25,7 @@
2025

2126
files.each do |f|
2227
if File.exists? f
23-
puts f
28+
puts "rm -rf #{f}"
2429
FileUtils.rm_rf f
2530
end
2631
end
@@ -32,7 +37,7 @@
3237

3338
module RailsKarma
3439
class Installer
35-
def self.karma
40+
def self.install_karma_lib
3641
unless File.exists?('package.json')
3742
puts './package.json'
3843
File.open('package.json', 'w') {|f| f.write '{}'}
@@ -41,37 +46,71 @@ def self.karma
4146
puts 'installing karma'
4247
puts `npm install karma --save-dev`
4348
end
49+
end
50+
51+
def self.ignore_node_modules
4452
unless File.open('.gitignore') {|f| f.read.include? 'node_modules'}
4553
puts 'adding node_modules to .gitignore'
4654
File.open('.gitignore', 'a') {|f| f.write "node_modules\n"}
4755
end
4856
end
4957

50-
def self.angular_files
51-
vendor_dir = File.join('vendor', 'assets', 'javascripts', 'rails_karma')
58+
def self.vendor_dir
59+
File.join('vendor', 'assets', 'javascripts', 'rails_karma')
60+
end
61+
62+
def self.rails_resource_dir
63+
File.join(vendor_dir, 'angularjs-rails-resource')
64+
end
65+
66+
def self.make_vendor_dir
5267
unless Dir.exists?(vendor_dir)
53-
puts vendor_dir
68+
puts "mkdir #{vendor_dir}"
5469
Dir.mkdir vendor_dir
5570
end
71+
unless Dir.exists?(rails_resource_dir)
72+
puts "mkdir #{rails_resource_dir}"
73+
Dir.mkdir rails_resource_dir
74+
end
75+
end
5676

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))
77+
def self.copy_angularjs_files
78+
angular_files = ['angular.js', 'angular-cookies.js', 'angular-loader.js', 'angular-resource.js', 'angular-sanitize.js', 'angular-mocks.js']
79+
angular_files.each do |file_name|
80+
path = File.join(Gem.loaded_specs['angularjs-rails'].full_gem_path, 'vendor', 'assets', 'javascripts', file_name)
81+
FileUtils.cp path, File.join(vendor_dir,File.basename(path))
6082
end
6183
end
6284

63-
def self.karma_config
85+
def self.copy_angularjs_resource_files
86+
rails_resource_lib = File.join(Gem.loaded_specs['angularjs-rails-resource'].full_gem_path, 'vendor', 'assets', 'javascripts', 'angularjs', 'rails', 'resource')
87+
FileUtils.cp_r rails_resource_lib, rails_resource_dir
88+
end
89+
90+
def self.copy_karma_config
6491
config_source = File.join(Gem.loaded_specs['rails_karma'].full_gem_path, 'files', 'karma.conf.js')
6592
config_target = File.join(Rails.root, 'config', 'karma.conf.js')
6693
unless File.exists?(config_target)
6794
puts './config/karma.conf.js'
6895
FileUtils.cp_r config_source, config_target
6996
end
97+
end
98+
99+
def self.create_karma_dir
70100
unless Dir.exists?('karma')
71101
puts './karma'
72102
Dir.mkdir 'karma'
73103
end
74104
end
105+
106+
def self.copy_test_spec
107+
test_spec = File.join(Gem.loaded_specs['rails_karma'].full_gem_path, 'files', 'karma_test.coffee')
108+
target = File.join(Rails.root, 'karma', 'karma_test.coffee')
109+
unless File.exists?(target)
110+
puts './karma/karma_test.coffee'
111+
FileUtils.cp test_spec, target
112+
end
113+
end
75114
end
76115
end
77116

lib/rails_karma/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module RailsKarma
2-
VERSION = "0.1.2"
2+
VERSION = "0.1.3"
33
end

rails_karma.gemspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,5 @@ Gem::Specification.new do |spec|
2121
spec.add_development_dependency 'bundler', '~> 1.3'
2222
spec.add_development_dependency 'rake'
2323
spec.add_dependency 'angularjs-rails', '~>1.0.7'
24+
spec.add_dependency 'angularjs-rails-resource', '~> 0.2.0'
2425
end

0 commit comments

Comments
 (0)