rails-angularjs_crud_generator 0.1.0
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 +7 -0
- data/lib/generators/angularjs_crud/angularjs_crud_generator.rb +42 -0
- data/lib/generators/angularjs_crud/helpers/bower_helper.rb +25 -0
- data/lib/generators/angularjs_crud/helpers/npm_helper.rb +25 -0
- data/lib/generators/angularjs_crud/install/install_generator.rb +42 -0
- data/lib/generators/angularjs_crud/install/templates/angular_js_helper.rb +19 -0
- metadata +49 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 553a4111b1328847bcc44dd43ecf7a3972e56764
|
4
|
+
data.tar.gz: 742302c6cb5badf5c788f319eef9a61f0b865534
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4085954b07bcfa5d1867cb67f3e6da852da7b82c3563336114a9df3c2547ab135a62c0413c55ef1e6869b22b946963c8bc729a9f68b29e0e6dddb8b4f0c39c34
|
7
|
+
data.tar.gz: becc2f7f9f619ff53a69711c16eae839d2f20eb946e91fd2b503c709bb9f59f1a35e2078a754c394837638e77eb8032cb4d2b6149d7a81c9a4e6a1cbd679b291
|
@@ -0,0 +1,42 @@
|
|
1
|
+
class AngularjsCrudGenerator < Rails::Generators::NamedBase
|
2
|
+
source_root File.expand_path('../templates', __FILE__)
|
3
|
+
|
4
|
+
def print_start
|
5
|
+
puts 'starting...'
|
6
|
+
end
|
7
|
+
|
8
|
+
def create_app_dir
|
9
|
+
empty_directory app_dir
|
10
|
+
end
|
11
|
+
|
12
|
+
def create_main_js_file
|
13
|
+
template "angular_app/main.js", "#{app_dir}/main.js"
|
14
|
+
end
|
15
|
+
|
16
|
+
def create_test_files
|
17
|
+
template "angular_app/test/services/model_spec.js", "#{app_dir}/test/services/#{file_name}_spec.js"
|
18
|
+
template "angular_app/test/directives/form_spec.js", "#{app_dir}/test/directives/#{file_name}_form_spec.js"
|
19
|
+
template "angular_app/test/controllers/main_ctrl_spec.js", "#{app_dir}/test/controllers/main_ctrl_spec.js"
|
20
|
+
end
|
21
|
+
|
22
|
+
def create_template_files
|
23
|
+
template "angular_app/templates/tmpl_form.html", "#{app_dir}/templates/tmpl_form.html"
|
24
|
+
template "angular_app/templates/tmpl_new.html", "#{app_dir}/templates/tmpl_new.html"
|
25
|
+
template "angular_app/templates/tmpl_edit.html", "#{app_dir}/templates/tmpl_edit.html"
|
26
|
+
template "angular_app/templates/tmpl_show.html", "#{app_dir}/templates/tmpl_show.html"
|
27
|
+
template "angular_app/templates/tmpl_delete.html", "#{app_dir}/templates/tmpl_delete.html"
|
28
|
+
end
|
29
|
+
|
30
|
+
def create_app_partial
|
31
|
+
template "_app_partial.html.erb", "app/views/angular_apps/_#{file_name.pluralize}_app.html.erb"
|
32
|
+
end
|
33
|
+
|
34
|
+
def print_end
|
35
|
+
puts 'done.'
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
def app_dir
|
40
|
+
"public/assets/js/apps/#{file_name.pluralize}"
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module BowerHelper
|
2
|
+
def bower_init
|
3
|
+
copy_bower_json
|
4
|
+
copy_bower_rc
|
5
|
+
gitignore_bower_components
|
6
|
+
end
|
7
|
+
|
8
|
+
def copy_bower_json
|
9
|
+
copy_file 'bower.json'
|
10
|
+
end
|
11
|
+
|
12
|
+
def copy_bower_rc
|
13
|
+
copy_file '_bowerrc', '.bowerrc'
|
14
|
+
end
|
15
|
+
|
16
|
+
def gitignore_bower_components
|
17
|
+
run "echo '/public/assets/bower_components' >> .gitignore"
|
18
|
+
end
|
19
|
+
|
20
|
+
def run_bower_install(*args)
|
21
|
+
options = args.join(' ')
|
22
|
+
|
23
|
+
run "bower install #{options}"
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module NpmHelper
|
2
|
+
def npm_init
|
3
|
+
copy_package_json
|
4
|
+
copy_karma_conf
|
5
|
+
gitignore_node_modules
|
6
|
+
end
|
7
|
+
|
8
|
+
def copy_package_json
|
9
|
+
copy_file "package.json"
|
10
|
+
end
|
11
|
+
|
12
|
+
def copy_karma_conf
|
13
|
+
copy_file "karma.conf.js"
|
14
|
+
end
|
15
|
+
|
16
|
+
def gitignore_node_modules
|
17
|
+
run "echo '/node_modules' >> .gitignore"
|
18
|
+
end
|
19
|
+
|
20
|
+
def run_npm_install(*args)
|
21
|
+
options = args.join(' ')
|
22
|
+
|
23
|
+
run "npm install #{options}"
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require_relative "../helpers/bower_helper"
|
2
|
+
require_relative "../helpers/npm_helper"
|
3
|
+
|
4
|
+
module AngularjsCrud
|
5
|
+
module Generators
|
6
|
+
class InstallGenerator < ::Rails::Generators::Base
|
7
|
+
include BowerHelper
|
8
|
+
include NpmHelper
|
9
|
+
|
10
|
+
source_root ::File.expand_path('../templates', __FILE__)
|
11
|
+
|
12
|
+
desc 'Installs the required packages and files for AngularjsCrudGenerator'
|
13
|
+
|
14
|
+
def init_npm_files
|
15
|
+
npm_init
|
16
|
+
end
|
17
|
+
|
18
|
+
def install_npm_packages
|
19
|
+
run_npm_install
|
20
|
+
end
|
21
|
+
|
22
|
+
def init_bower_config_file
|
23
|
+
bower_init
|
24
|
+
end
|
25
|
+
|
26
|
+
def install_bower_packages
|
27
|
+
run_bower_install '--save', 'jquery',
|
28
|
+
'bootstrap',
|
29
|
+
'font-awesome',
|
30
|
+
'angular',
|
31
|
+
'angular-resource',
|
32
|
+
'angular-bootstrap'
|
33
|
+
|
34
|
+
run_bower_install '--save-dev', 'angular-mocks'
|
35
|
+
end
|
36
|
+
|
37
|
+
def copy_angular_js_view_helper
|
38
|
+
copy_file "angular_js_helper.rb", "app/helpers/angular_js_helper.rb"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module AngularJsHelper
|
2
|
+
|
3
|
+
def angular_inline_template(relative_file_path, template_id=nil)
|
4
|
+
root_dir = "../../public/assets/js/apps"
|
5
|
+
|
6
|
+
external_template_path = "#{root_dir}/#{relative_file_path}"
|
7
|
+
external_template = render template: external_template_path
|
8
|
+
template_id = relative_file_path if template_id == nil
|
9
|
+
|
10
|
+
inline_template = <<-HTML
|
11
|
+
<script type="text/ng-template" id="#{template_id}">
|
12
|
+
#{external_template}
|
13
|
+
</script>
|
14
|
+
HTML
|
15
|
+
|
16
|
+
inline_template.html_safe
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
metadata
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rails-angularjs_crud_generator
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Chanaka Sandaruwan
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-11-05 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: Generates a fully working angularjs app for basic crud operations of
|
14
|
+
a model.
|
15
|
+
email: chanakasan@gmail.com
|
16
|
+
executables: []
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- lib/generators/angularjs_crud/angularjs_crud_generator.rb
|
21
|
+
- lib/generators/angularjs_crud/helpers/bower_helper.rb
|
22
|
+
- lib/generators/angularjs_crud/helpers/npm_helper.rb
|
23
|
+
- lib/generators/angularjs_crud/install/install_generator.rb
|
24
|
+
- lib/generators/angularjs_crud/install/templates/angular_js_helper.rb
|
25
|
+
homepage: https://github.com/chanakasan/rails-angularjs_crud_generator
|
26
|
+
licenses:
|
27
|
+
- Apache License, Version 2.0
|
28
|
+
metadata: {}
|
29
|
+
post_install_message:
|
30
|
+
rdoc_options: []
|
31
|
+
require_paths:
|
32
|
+
- lib
|
33
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
34
|
+
requirements:
|
35
|
+
- - ">="
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 1.9.3
|
38
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '0'
|
43
|
+
requirements: []
|
44
|
+
rubyforge_project:
|
45
|
+
rubygems_version: 2.2.3
|
46
|
+
signing_key:
|
47
|
+
specification_version: 4
|
48
|
+
summary: Generates fully working angularjs apps
|
49
|
+
test_files: []
|