susanoo 0.7.4 → 0.8.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 +4 -4
- data/Susanoo.gemspec +2 -0
- data/lib/susanoo/cli.rb +6 -0
- data/lib/susanoo/cli/project.rb +34 -25
- data/lib/susanoo/generators/ng_module.rb +39 -5
- data/lib/susanoo/generators/scaffold.rb +1 -1
- data/lib/susanoo/templates/generators/ng_module/index.html.erb +2 -0
- data/lib/susanoo/templates/generators/ng_module/module.js.erb +20 -0
- data/lib/susanoo/version.rb +1 -1
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c60da5900b89568fe851951a06b0f6cc876e055d
|
4
|
+
data.tar.gz: b095140999ff6f4ede405579b6d9417c06eae6b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 49f9e95ee26f5611e4484e0dae27c53ebee56a0979aee7fb5b8587d3f7f7ad7c3afd2716d7ba40086ee0e124d6ea2a70bfd95690a637aef10786e029d18f141b
|
7
|
+
data.tar.gz: 75a117a6d0a344f90484ff92774527d520039b84524e5f8d068ee6310cce20323870877a8369b43807a497ccbdcaef914ef3b5a2a8d310122d470edb01208d53
|
data/Susanoo.gemspec
CHANGED
data/lib/susanoo/cli.rb
CHANGED
data/lib/susanoo/cli/project.rb
CHANGED
@@ -13,6 +13,7 @@ module Susanoo
|
|
13
13
|
map 's' => :server
|
14
14
|
map 'g' => :generate
|
15
15
|
map 'r' => :run_in
|
16
|
+
map 'd' => :destroy
|
16
17
|
|
17
18
|
def self.root=(path)
|
18
19
|
@@root = path
|
@@ -21,19 +22,18 @@ module Susanoo
|
|
21
22
|
|
22
23
|
desc 'generate GENERATOR [options]', 'Run the given generator'
|
23
24
|
def generate(generator_name = nil, *options)
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
generator = get_the_generator_class generator_name
|
26
|
+
# Run the generator with given options
|
27
|
+
generator.start(options, behavior: :invoke,
|
28
|
+
destination_root: Susanoo::Project.path)
|
29
|
+
end
|
28
30
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
end
|
36
|
-
generator.start options
|
31
|
+
desc 'destroy GENERATOR [options]', 'Destroy the given generator'
|
32
|
+
def destroy(generator_name = nil, *options)
|
33
|
+
generator = get_the_generator_class generator_name
|
34
|
+
|
35
|
+
generator.start(options, behavior: :revoke,
|
36
|
+
destination_root: Susanoo::Project.path)
|
37
37
|
end
|
38
38
|
|
39
39
|
method_option :debug, default: true
|
@@ -104,26 +104,35 @@ module Susanoo
|
|
104
104
|
private
|
105
105
|
# Private ---------------------------
|
106
106
|
|
107
|
-
def
|
108
|
-
|
109
|
-
|
107
|
+
def get_the_generator_class(generator_name)
|
108
|
+
# Print the generators list and exit
|
109
|
+
if generator_name.nil?
|
110
|
+
print_generator_list
|
111
|
+
return
|
112
|
+
end
|
113
|
+
|
114
|
+
# Try to load and get the generator Class
|
115
|
+
begin
|
116
|
+
klass = generator_name.downcase.camelize
|
117
|
+
generator = Susanoo::Generators.const_get(klass)
|
110
118
|
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
119
|
+
rescue NameError
|
120
|
+
print '[Error]:'.colorize(:red)
|
121
|
+
say "Generator `#{generator}` not found."
|
122
|
+
exit 1
|
123
|
+
end
|
124
|
+
generator
|
117
125
|
end
|
118
126
|
|
119
127
|
def print_generator_list
|
120
|
-
say
|
121
|
-
say
|
128
|
+
say 'Available generators:'
|
129
|
+
say '---------------------------------------------------'
|
122
130
|
Susanoo::Generators.constants.each do |g|
|
123
131
|
generator = Susanoo::Generators.const_get(g)
|
124
132
|
|
125
|
-
|
126
|
-
|
133
|
+
if generator.respond_to?(:global_generator?) && \
|
134
|
+
!generator.global_generator?
|
135
|
+
generator_name = generator.to_s.split('::').last.underscore
|
127
136
|
say "#{generator_name}\t\t #{generator.desc}\n"
|
128
137
|
end
|
129
138
|
|
@@ -3,16 +3,50 @@ module Susanoo
|
|
3
3
|
class NgModule < Thor::Group
|
4
4
|
include Thor::Actions
|
5
5
|
|
6
|
-
desc
|
6
|
+
desc 'Create an AngularJS module.'
|
7
7
|
|
8
|
-
argument :name, :
|
8
|
+
argument :name, type: :string, desc: 'Name of AngularJS'
|
9
|
+
class_option :deps, type: :string, default: '', desc: 'Dependencies of Angularjs module, comma separated'
|
9
10
|
|
10
|
-
def self.
|
11
|
+
def self.source_root
|
12
|
+
File.join(File.dirname(__FILE__),
|
13
|
+
'../templates/generators/ng_module')
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.global_generator?
|
11
17
|
false
|
12
18
|
end
|
13
19
|
|
14
|
-
def
|
15
|
-
|
20
|
+
def setup_directories
|
21
|
+
empty_directory "src/views/#{directory_name}#{module_name}"
|
22
|
+
|
23
|
+
mpath = 'src/assets/javascripts/modules/'
|
24
|
+
empty_directory "#{mpath}#{directory_name}" unless directory_name.nil?
|
25
|
+
end
|
26
|
+
|
27
|
+
def install_js_module
|
28
|
+
template 'module.js.erb', "src/assets/javascripts/modules/#{directory_name}#{module_name}.js"
|
29
|
+
end
|
30
|
+
|
31
|
+
def install_view
|
32
|
+
template('index.html.erb',
|
33
|
+
"src/views/#{directory_name}#{module_name}/index.html")
|
34
|
+
end
|
35
|
+
|
36
|
+
private
|
37
|
+
|
38
|
+
def directory_name
|
39
|
+
dir_name = name.split('/')[0..-2].join('/')
|
40
|
+
return dir_name + '/' unless dir_name.empty?
|
41
|
+
nil
|
42
|
+
end
|
43
|
+
|
44
|
+
def module_name
|
45
|
+
name.split('/')[-1].underscore
|
46
|
+
end
|
47
|
+
|
48
|
+
def dependencies
|
49
|
+
options[:deps].split(',')
|
16
50
|
end
|
17
51
|
end
|
18
52
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
// <%= module_name.humanize%> Module
|
2
|
+
var <%= module_name %> = angular.module("<%= module_name.camelize %>", ["gettext"<% dependencies.each do |dep| %>, "<%= dep.camelize %>"<% end %>]);
|
3
|
+
|
4
|
+
// configuration section ---------------------------
|
5
|
+
<%= module_name %>.config(["$routeProvider", function($routeProvider){
|
6
|
+
|
7
|
+
// Configuring application index route.
|
8
|
+
// Add any route you need here.
|
9
|
+
$routeProvider.
|
10
|
+
when("/<%= directory_name %><%= module_name %>/", {
|
11
|
+
templateUrl: template("<%= directory_name %><%= module_name %>/index"),
|
12
|
+
controller: "<%= module_name.camelize %>Controller"
|
13
|
+
});
|
14
|
+
|
15
|
+
}]);
|
16
|
+
|
17
|
+
<%= module_name %>.controller("<%= module_name.camelize %>Controller", ["$scope", "gettext", function($scope, gettext){
|
18
|
+
// <%= module_name.camelize.humanize %> controller of application. This controller is responsible for `/<%= module_name %>` url
|
19
|
+
|
20
|
+
}]);
|
data/lib/susanoo/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: susanoo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sameer Rahmani
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -220,6 +220,20 @@ dependencies:
|
|
220
220
|
- - ">="
|
221
221
|
- !ruby/object:Gem::Version
|
222
222
|
version: '0'
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: activesupport
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - ">="
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '0'
|
230
|
+
type: :runtime
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - ">="
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '0'
|
223
237
|
description: " Develop mobile application using apache cordova and ruby utilities. "
|
224
238
|
email:
|
225
239
|
- lxsameer@gnu.org
|
@@ -275,6 +289,8 @@ files:
|
|
275
289
|
- lib/susanoo/templates/application/src/assets/stylesheets/main.scss
|
276
290
|
- lib/susanoo/templates/application/src/index.html.erb
|
277
291
|
- lib/susanoo/templates/application/src/views/main.html
|
292
|
+
- lib/susanoo/templates/generators/ng_module/index.html.erb
|
293
|
+
- lib/susanoo/templates/generators/ng_module/module.js.erb
|
278
294
|
- lib/susanoo/version.rb
|
279
295
|
homepage: http://github.com/lxsameer/Susanoo
|
280
296
|
licenses:
|