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 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: []