joosy 1.2.0.alpha.4 → 1.2.0.alpha.5
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 +1 -1
- data/bower.json +1 -1
- data/lib/joosy.rb +9 -1
- data/package.json +1 -1
- data/src/joosy/generators/{generator.coffee → base.coffee} +36 -21
- data/src/joosy/generators/layout.coffee +10 -5
- data/src/joosy/generators/page.coffee +10 -5
- data/src/joosy/generators/project/base.coffee +10 -4
- data/src/joosy/generators/project/standalone.coffee +10 -6
- data/src/joosy/generators/widget.coffee +10 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8395d61d74334b79dff75dfac8d41a983da6cd7d
|
4
|
+
data.tar.gz: f8bc1d0db984fa3c4bd689a5ad00defe632c3f19
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf279fa42a0b35c7fb01950e28af1f33701aa762ae82747b4854da0dd46bfd04e16dd4d56f81fed3c48ce7845b17973236f0846f155fc59d2c9028e1cb03d278
|
7
|
+
data.tar.gz: 4a33c7dd7ff43dc198842f133d5ed2a31307f3f5173fc87b0aa431291334eca0e37d548f0194fa1a9b95ffc5a6db08998e7d25fc360c12b29a6ff63a4a2a2f7a
|
data/README.md
CHANGED
@@ -65,7 +65,7 @@ Now run basic application generator with the following command:
|
|
65
65
|
|
66
66
|
joosy new dummy
|
67
67
|
|
68
|
-
Now you can `grunt server` to
|
68
|
+
The main application code will appear at `source` directory. `stylesheets` is for Stylus-based styles and the main canvas of page is defined at `source/index.haml`. Now you can `grunt joosy:server` to start development server at [localhost:4000/](http://localhost:4000/).
|
69
69
|
|
70
70
|
To generate assets statically prior to the deployment run
|
71
71
|
|
data/bower.json
CHANGED
data/lib/joosy.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
require 'haml_coffee_assets'
|
2
1
|
require 'json'
|
2
|
+
require 'haml_coffee_assets'
|
3
3
|
|
4
4
|
module Joosy
|
5
5
|
PACKAGE = File.expand_path("../../package.json", __FILE__)
|
@@ -13,4 +13,12 @@ module Joosy
|
|
13
13
|
File.dirname(HamlCoffeeAssets.helpers_path)
|
14
14
|
]
|
15
15
|
end
|
16
|
+
|
17
|
+
def self.generators_path
|
18
|
+
File.expand_path '../../src/joosy/generators', __FILE__
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.templates_path
|
22
|
+
File.expand_path '../../templates', __FILE__
|
23
|
+
end
|
16
24
|
end
|
data/package.json
CHANGED
@@ -1,14 +1,15 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
@
|
11
|
-
@
|
1
|
+
if module?
|
2
|
+
File = require('grunt').file
|
3
|
+
Log = require('grunt').log
|
4
|
+
Path = require('path')
|
5
|
+
EJS = require('ejs')
|
6
|
+
Commander = require('commander')
|
7
|
+
|
8
|
+
class Base
|
9
|
+
constructor: (@destination, @templates) ->
|
10
|
+
@destination ||= process?.cwd()
|
11
|
+
@templates ||= @join(__dirname, '..', '..', '..', 'templates') if __dirname?
|
12
|
+
@actions = []
|
12
13
|
|
13
14
|
getNamespace: (name) ->
|
14
15
|
name = name.split('/')
|
@@ -23,9 +24,7 @@ module.exports = class
|
|
23
24
|
source = @join(@templates, source...) if source instanceof Array
|
24
25
|
destination = @join(destination...) if destination instanceof Array
|
25
26
|
|
26
|
-
|
27
|
-
|
28
|
-
@actions.push ['template', destination, result]
|
27
|
+
@actions.push ['template', destination, source, data]
|
29
28
|
|
30
29
|
file: (destination, content='') ->
|
31
30
|
destination = @join(destination...) if destination instanceof Array
|
@@ -38,18 +37,28 @@ module.exports = class
|
|
38
37
|
|
39
38
|
@actions.push ['copy', destination, source]
|
40
39
|
|
41
|
-
|
42
|
-
|
43
|
-
|
40
|
+
camelize: (string) ->
|
41
|
+
parts = (part.charAt(0).toUpperCase() + part.substr(1) for part in string.split(/_|-/))
|
42
|
+
parts.join ''
|
43
|
+
|
44
44
|
join: ->
|
45
|
-
Path
|
45
|
+
if Path?
|
46
|
+
Path.join arguments...
|
47
|
+
else
|
48
|
+
Array.prototype.slice.call(arguments, 0).join('/')
|
46
49
|
|
47
|
-
|
48
|
-
|
50
|
+
#
|
51
|
+
# Methods that have to be overrided outside of Node.js
|
52
|
+
#
|
53
|
+
version: ->
|
54
|
+
require('../../../package.json').version
|
49
55
|
|
50
56
|
#
|
51
57
|
# Node-base performer
|
52
58
|
#
|
59
|
+
compileTemplate: (source, data) ->
|
60
|
+
EJS.render File.read(source), data
|
61
|
+
|
53
62
|
perform: (callback) ->
|
54
63
|
actions = @actions.clone()
|
55
64
|
@performAction actions.pop(), actions, callback
|
@@ -90,4 +99,10 @@ module.exports = class
|
|
90
99
|
write()
|
91
100
|
callback()
|
92
101
|
|
93
|
-
performTemplateAction:
|
102
|
+
performTemplateAction: (callback, destination, source, data) ->
|
103
|
+
@performFileAction callback, destination, @compileTemplate(source, data)
|
104
|
+
|
105
|
+
if module?
|
106
|
+
module.exports = Base
|
107
|
+
else
|
108
|
+
@Base = Base
|
@@ -1,6 +1,6 @@
|
|
1
|
-
|
1
|
+
@Base = require './base' if module?
|
2
2
|
|
3
|
-
|
3
|
+
class Layout extends @Base
|
4
4
|
constructor: (@name, destination, templates) ->
|
5
5
|
super(destination, templates)
|
6
6
|
@destination = @join @destination, 'source'
|
@@ -11,10 +11,15 @@ module.exports = class extends Generator
|
|
11
11
|
template = if namespace.length > 0 then 'namespaced' else 'basic'
|
12
12
|
|
13
13
|
@template ['layout', "#{template}.coffee"], ['layouts', @join(namespace...), "#{basename}.coffee"],
|
14
|
-
namespace_name:
|
15
|
-
class_name:
|
14
|
+
namespace_name: (@camelize(x) for x in namespace).join('.')
|
15
|
+
class_name: @camelize(basename)
|
16
16
|
view_name: basename
|
17
17
|
|
18
18
|
@file ['templates', 'layouts', @join(namespace...), "#{basename}.jst.hamlc"]
|
19
19
|
|
20
|
-
@actions
|
20
|
+
@actions
|
21
|
+
|
22
|
+
if module?
|
23
|
+
module.exports = Layout
|
24
|
+
else
|
25
|
+
@Generator = Layout
|
@@ -1,6 +1,6 @@
|
|
1
|
-
|
1
|
+
@Base = require './base' if module?
|
2
2
|
|
3
|
-
|
3
|
+
class Page extends @Base
|
4
4
|
constructor: (@name, destination, templates) ->
|
5
5
|
super(destination, templates)
|
6
6
|
@destination = @join @destination, 'source'
|
@@ -11,10 +11,15 @@ module.exports = class extends Generator
|
|
11
11
|
template = if namespace.length > 0 then 'namespaced' else 'basic'
|
12
12
|
|
13
13
|
@template ['page', "#{template}.coffee"], ['pages', @join(namespace...), "#{basename}.coffee"],
|
14
|
-
namespace_name:
|
15
|
-
class_name:
|
14
|
+
namespace_name: (@camelize(x) for x in namespace).join('.')
|
15
|
+
class_name: @camelize(basename)
|
16
16
|
view_name: basename
|
17
17
|
|
18
18
|
@file ['templates', 'pages', @join(namespace...), "#{basename}.jst.hamlc"]
|
19
19
|
|
20
|
-
@actions
|
20
|
+
@actions
|
21
|
+
|
22
|
+
if module?
|
23
|
+
module.exports = Page
|
24
|
+
else
|
25
|
+
@Generator = Page
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
@Base = require '../base' if module?
|
2
2
|
|
3
|
-
|
4
|
-
constructor: (
|
3
|
+
class ProjectBase extends @Base
|
4
|
+
constructor: (name, destination, templates) ->
|
5
5
|
super(destination, templates)
|
6
|
+
@name = name.split('/').pop()
|
6
7
|
@destination = @join @destination, 'source'
|
7
8
|
|
8
9
|
generate: ->
|
@@ -25,4 +26,9 @@ module.exports = class extends Generator
|
|
25
26
|
@template ['application', 'base', 'application.coffee'], ['application.coffee'],
|
26
27
|
application: @name
|
27
28
|
|
28
|
-
@actions
|
29
|
+
@actions
|
30
|
+
|
31
|
+
if module?
|
32
|
+
module.exports = ProjectBase
|
33
|
+
else
|
34
|
+
@Generator = ProjectBase
|
@@ -1,9 +1,8 @@
|
|
1
|
-
|
2
|
-
Generator = require '../generator'
|
1
|
+
@Base = require '../base' if module?
|
3
2
|
|
4
|
-
|
3
|
+
class ProjectStandalone extends @Base
|
5
4
|
constructor: (@name, destination, templates) ->
|
6
|
-
destination = @join
|
5
|
+
destination = @join process.cwd(), @name if !destination? && process?
|
7
6
|
super(destination, templates)
|
8
7
|
|
9
8
|
generate: ->
|
@@ -20,6 +19,11 @@ module.exports = class extends Generator
|
|
20
19
|
['stylesheets', 'application.styl']
|
21
20
|
|
22
21
|
@template ['application', 'standalone', 'package.json'], ['package.json'],
|
23
|
-
joosy_version:
|
22
|
+
joosy_version: @version()
|
24
23
|
|
25
|
-
@actions
|
24
|
+
@actions
|
25
|
+
|
26
|
+
if module?
|
27
|
+
module.exports = ProjectStandalone
|
28
|
+
else
|
29
|
+
@Generator = ProjectStandalone
|
@@ -1,6 +1,6 @@
|
|
1
|
-
|
1
|
+
@Base = require './base' if module?
|
2
2
|
|
3
|
-
|
3
|
+
class Widget extends @Base
|
4
4
|
constructor: (@name, destination, templates) ->
|
5
5
|
super(destination, templates)
|
6
6
|
@destination = @join @destination, 'source'
|
@@ -11,10 +11,15 @@ module.exports = class extends Generator
|
|
11
11
|
template = if namespace.length > 0 then 'namespaced' else 'basic'
|
12
12
|
|
13
13
|
@template ['widget', "#{template}.coffee"], ['widgets', @join(namespace...), "#{basename}.coffee"],
|
14
|
-
namespace_name:
|
15
|
-
class_name:
|
14
|
+
namespace_name: (@camelize(x) for x in namespace).join('.')
|
15
|
+
class_name: @camelize(basename)
|
16
16
|
view_name: basename
|
17
17
|
|
18
18
|
@file ['templates', 'widgets', @join(namespace...), "#{basename}.jst.hamlc"]
|
19
19
|
|
20
|
-
@actions
|
20
|
+
@actions
|
21
|
+
|
22
|
+
if module?
|
23
|
+
module.exports = Widget
|
24
|
+
else
|
25
|
+
@Generator = Widget
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: joosy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.0.alpha.
|
4
|
+
version: 1.2.0.alpha.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Boris Staal
|
@@ -110,8 +110,8 @@ files:
|
|
110
110
|
- src/joosy/core/router.coffee
|
111
111
|
- src/joosy/core/templaters/rails_jst.coffee
|
112
112
|
- src/joosy/core/widget.coffee
|
113
|
+
- src/joosy/generators/base.coffee
|
113
114
|
- src/joosy/generators/command.coffee
|
114
|
-
- src/joosy/generators/generator.coffee
|
115
115
|
- src/joosy/generators/layout.coffee
|
116
116
|
- src/joosy/generators/page.coffee
|
117
117
|
- src/joosy/generators/project.coffee
|