joosy 1.1.2 → 1.2.0.alpha.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +6 -7
- data/Gemfile +1 -11
- data/Gruntfile.coffee +138 -0
- data/README.md +65 -24
- data/bin/joosy +21 -0
- data/bower.json +23 -0
- data/joosy.gemspec +6 -12
- data/lib/joosy.js +3754 -0
- data/lib/joosy.rb +8 -9
- data/package.json +37 -0
- data/spec/{javascripts/helpers/spec_helper.js.coffee → helpers/helper.coffee} +0 -0
- data/spec/{javascripts/joosy/core/application_spec.js.coffee → joosy/core/application_spec.coffee} +0 -0
- data/spec/{javascripts/joosy/core/form_spec.js.coffee → joosy/core/form_spec.coffee} +30 -30
- data/spec/{javascripts/joosy/core/helpers/forms_spec.js.coffee → joosy/core/helpers/forms_spec.coffee} +0 -0
- data/spec/{javascripts/joosy/core/helpers/view_spec.js.coffee → joosy/core/helpers/view_spec.coffee} +0 -0
- data/spec/{javascripts/joosy/core/helpers/widgets_spec.js.coffee → joosy/core/helpers/widgets_spec.coffee} +0 -0
- data/spec/{javascripts/joosy/core/joosy_spec.js.coffee → joosy/core/joosy_spec.coffee} +0 -0
- data/spec/{javascripts/joosy/core/layout_spec.js.coffee → joosy/core/layout_spec.coffee} +0 -0
- data/spec/{javascripts/joosy/core/modules/container_spec.js.coffee → joosy/core/modules/container_spec.coffee} +1 -1
- data/spec/{javascripts/joosy/core/modules/events_spec.js.coffee → joosy/core/modules/events_spec.coffee} +0 -0
- data/spec/{javascripts/joosy/core/modules/filters_spec.js.coffee → joosy/core/modules/filters_spec.coffee} +0 -0
- data/spec/{javascripts/joosy/core/modules/log_spec.js.coffee → joosy/core/modules/log_spec.coffee} +0 -0
- data/spec/{javascripts/joosy/core/modules/module_spec.js.coffee → joosy/core/modules/module_spec.coffee} +0 -0
- data/spec/{javascripts/joosy/core/modules/renderer_spec.js.coffee → joosy/core/modules/renderer_spec.coffee} +35 -0
- data/spec/{javascripts/joosy/core/modules/time_manager_spec.js.coffee → joosy/core/modules/time_manager_spec.coffee} +0 -0
- data/spec/{javascripts/joosy/core/modules/widget_manager_spec.js.coffee → joosy/core/modules/widget_manager_spec.coffee} +0 -0
- data/spec/{javascripts/joosy/core/page_spec.js.coffee → joosy/core/page_spec.coffee} +0 -0
- data/spec/{javascripts/joosy/core/resource/collection_spec.js.coffee → joosy/core/resource/collection_spec.coffee} +0 -0
- data/spec/{javascripts/joosy/core/resource/generic_spec.js.coffee → joosy/core/resource/generic_spec.coffee} +0 -0
- data/spec/{javascripts/joosy/core/resource/rest_collection_spec.js.coffee → joosy/core/resource/rest_collection_spec.coffee} +0 -0
- data/spec/{javascripts/joosy/core/resource/rest_spec.js.coffee → joosy/core/resource/rest_spec.coffee} +0 -8
- data/spec/{javascripts/joosy/core/router_spec.js.coffee → joosy/core/router_spec.coffee} +19 -22
- data/spec/{javascripts/joosy/core/templaters/rails_jst_spec.js.coffee → joosy/core/templaters/rails_jst_spec.coffee} +0 -0
- data/spec/{javascripts/joosy/core/widget_spec.js.coffee → joosy/core/widget_spec.coffee} +0 -0
- data/spec/{javascripts/joosy/preloaders/caching_spec.js.coffee → joosy/preloaders/caching_spec.coffee} +2 -2
- data/spec/{javascripts/joosy/preloaders/inline_spec.js.coffee → joosy/preloaders/inline_spec.coffee} +1 -1
- data/spec/support/test.js +1 -0
- data/{app/assets/javascripts/joosy/core/application.js.coffee → src/joosy/core/application.coffee} +0 -0
- data/{app/assets/javascripts/joosy/core/form.js.coffee → src/joosy/core/form.coffee} +5 -5
- data/{app/assets/javascripts/joosy/core/helpers/form.js.coffee → src/joosy/core/helpers/form.coffee} +0 -0
- data/{app/assets/javascripts/joosy/core/helpers/view.js.coffee → src/joosy/core/helpers/view.coffee} +0 -0
- data/{app/assets/javascripts/joosy/core/helpers/widgets.js.coffee → src/joosy/core/helpers/widgets.coffee} +0 -0
- data/{app/assets/javascripts/joosy/core/joosy.js.coffee → src/joosy/core/joosy.coffee} +1 -1
- data/{app/assets/javascripts/joosy/core/layout.js.coffee → src/joosy/core/layout.coffee} +0 -0
- data/{app/assets/javascripts/joosy/core/modules/container.js.coffee → src/joosy/core/modules/container.coffee} +1 -1
- data/{app/assets/javascripts/joosy/core/modules/events.js.coffee → src/joosy/core/modules/events.coffee} +4 -6
- data/{app/assets/javascripts/joosy/core/modules/filters.js.coffee → src/joosy/core/modules/filters.coffee} +0 -0
- data/{app/assets/javascripts/joosy/core/modules/log.js.coffee → src/joosy/core/modules/log.coffee} +0 -0
- data/{app/assets/javascripts/joosy/core/modules/module.js.coffee → src/joosy/core/modules/module.coffee} +0 -0
- data/{app/assets/javascripts/joosy/core/modules/renderer.js.coffee → src/joosy/core/modules/renderer.coffee} +1 -1
- data/{app/assets/javascripts/joosy/core/modules/time_manager.js.coffee → src/joosy/core/modules/time_manager.coffee} +0 -0
- data/{app/assets/javascripts/joosy/core/modules/widgets_manager.js.coffee → src/joosy/core/modules/widgets_manager.coffee} +0 -0
- data/{app/assets/javascripts/joosy/core/page.js.coffee → src/joosy/core/page.coffee} +0 -1
- data/{app/assets/javascripts/joosy/core/preloader.js.coffee → src/joosy/core/preloader.coffee} +0 -0
- data/{app/assets/javascripts/joosy/core/resource/collection.js.coffee → src/joosy/core/resource/collection.coffee} +0 -0
- data/{app/assets/javascripts/joosy/core/resource/generic.js.coffee → src/joosy/core/resource/generic.coffee} +5 -5
- data/{app/assets/javascripts/joosy/core/resource/rest.js.coffee → src/joosy/core/resource/rest.coffee} +5 -5
- data/{app/assets/javascripts/joosy/core/resource/rest_collection.js.coffee → src/joosy/core/resource/rest_collection.coffee} +0 -0
- data/src/joosy/core/resource/watcher.coffee +50 -0
- data/{app/assets/javascripts/joosy/core/router.js.coffee → src/joosy/core/router.coffee} +28 -30
- data/{app/assets/javascripts/joosy/core/templaters/rails_jst.js.coffee → src/joosy/core/templaters/rails_jst.coffee} +12 -2
- data/{app/assets/javascripts/joosy/core/widget.js.coffee → src/joosy/core/widget.coffee} +0 -0
- data/src/joosy/generators/command.coffee +49 -0
- data/src/joosy/generators/generator.coffee +93 -0
- data/src/joosy/generators/layout.coffee +20 -0
- data/src/joosy/generators/page.coffee +20 -0
- data/src/joosy/generators/project/base.coffee +28 -0
- data/src/joosy/generators/project/standalone.coffee +25 -0
- data/src/joosy/generators/project.coffee +16 -0
- data/src/joosy/generators/widget.coffee +20 -0
- data/{app/assets/javascripts/joosy/preloaders/caching.js.coffee → src/joosy/preloaders/caching.coffee} +0 -0
- data/{app/assets/javascripts/joosy/preloaders/inline.js.coffee → src/joosy/preloaders/inline.coffee} +0 -0
- data/src/joosy.coffee +2 -0
- data/src/vendor/metamorph.coffee +410 -0
- data/tasks/joosy.coffee +63 -0
- data/templates/application/base/application.coffee +11 -0
- data/{lib/rails/generators/joosy/templates/app/helpers/application.js.coffee → templates/application/base/helpers/application.coffee} +0 -0
- data/{lib/rails/generators/joosy/templates/app/layouts/application.js.coffee → templates/application/base/layouts/application.coffee} +0 -0
- data/{lib/rails/generators/joosy/templates/app/pages/application.js.coffee → templates/application/base/pages/application.coffee} +0 -0
- data/{lib/rails/generators/joosy/templates/app/pages/welcome/index.js.coffee → templates/application/base/pages/welcome/index.coffee} +3 -3
- data/templates/application/base/routes.coffee +3 -0
- data/{lib/rails/generators/joosy/templates/app → templates/application/base}/templates/layouts/application.jst.hamlc +0 -0
- data/{lib/rails/generators/joosy/templates/app → templates/application/base}/templates/pages/welcome/index.jst.hamlc +1 -2
- data/templates/application/standalone/.gitignore +5 -0
- data/templates/application/standalone/Gruntfile.coffee +40 -0
- data/templates/application/standalone/Procfile +1 -0
- data/templates/application/standalone/bower.json +7 -0
- data/templates/application/standalone/package.json +24 -0
- data/templates/application/standalone/source/index.haml +7 -0
- data/templates/application/standalone/stylesheets/application.styl +2 -0
- data/templates/layout/basic.coffee +2 -0
- data/templates/layout/namespaced.coffee +4 -0
- data/templates/page/basic.coffee +3 -0
- data/templates/page/namespaced.coffee +5 -0
- data/templates/widget/basic.coffee +2 -0
- data/templates/widget/namespaced.coffee +4 -0
- metadata +98 -179
- data/.codoopts +0 -5
- data/Gemfile.lock +0 -157
- data/Guardfile +0 -32
- data/LICENSE +0 -22
- data/MIT-LICENSE +0 -21
- data/Rakefile +0 -14
- data/app/assets/javascripts/joosy.js.coffee +0 -5
- data/app/helpers/joosy/sprockets_helper.rb +0 -41
- data/app/views/layouts/json_wrapper.json.erb +0 -1
- data/lib/joosy/rails/engine.rb +0 -24
- data/lib/joosy/version.rb +0 -3
- data/lib/rails/generators/joosy/application_generator.rb +0 -43
- data/lib/rails/generators/joosy/joosy_base.rb +0 -30
- data/lib/rails/generators/joosy/layout_generator.rb +0 -30
- data/lib/rails/generators/joosy/page_generator.rb +0 -42
- data/lib/rails/generators/joosy/preloader_generator.rb +0 -30
- data/lib/rails/generators/joosy/resource_generator.rb +0 -40
- data/lib/rails/generators/joosy/templates/app/layouts/template.js.coffee +0 -2
- data/lib/rails/generators/joosy/templates/app/pages/template.js.coffee +0 -5
- data/lib/rails/generators/joosy/templates/app/resources/template.js.coffee +0 -2
- data/lib/rails/generators/joosy/templates/app/resources/template_with_namespace.js.coffee +0 -4
- data/lib/rails/generators/joosy/templates/app/routes.js.coffee +0 -8
- data/lib/rails/generators/joosy/templates/app/widgets/template.js.coffee +0 -2
- data/lib/rails/generators/joosy/templates/app.js.coffee +0 -11
- data/lib/rails/generators/joosy/templates/app_controller.rb +0 -9
- data/lib/rails/generators/joosy/templates/app_preloader.js.coffee.erb +0 -13
- data/lib/rails/generators/joosy/templates/app_railties.js.coffee.erb +0 -11
- data/lib/rails/generators/joosy/templates/preload.html.erb +0 -26
- data/lib/rails/generators/joosy/templates/preload.html.haml +0 -19
- data/lib/rails/generators/joosy/templates/preload.html.slim +0 -19
- data/lib/rails/generators/joosy/widget_generator.rb +0 -30
- data/lib/rails/resources_with_joosy.rb +0 -11
- data/spec/javascripts/support/assets/coolface.jpg +0 -0
- data/spec/javascripts/support/assets/okay.jpg +0 -0
- data/spec/javascripts/support/assets/test.js +0 -1
- data/spec/javascripts/support/jasmine.yml +0 -74
- data/spec/javascripts/support/jasmine_config.rb +0 -23
- data/spec/javascripts/support/jasmine_runner.rb +0 -32
- data/spec/javascripts/support/sinon-1.3.1.js +0 -3469
- data/spec/javascripts/support/sinon-ie-1.3.1.js.skip +0 -82
- data/vendor/assets/javascripts/jquery.form.js +0 -1190
- data/vendor/assets/javascripts/jquery.hashchange.js +0 -390
- data/vendor/assets/javascripts/metamorph.js +0 -409
- data/vendor/assets/javascripts/sugar.js +0 -8637
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 02b11c8b16a833bce2041755884857abb5ebc8d7
|
4
|
+
data.tar.gz: 325c12aabae0052cdd11a098e1d2551e59962e77
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c70a1a3d66b29e5b3c35bbd9e989128441ab28d680805b17dcc624ae5edabb1be2a13154ca6becf56f048ba059d442ec9ed8ff5dae8d47c3299690cf43f3a5c6
|
7
|
+
data.tar.gz: a92fe9856fab357b6953bed3e31744470b5a67028741af7419575bc11295a40f4122224601425c00731dc2f0bf7b5ce7605294da1db17443d265a4b6d7fe77e3
|
data/.gitignore
CHANGED
@@ -1,7 +1,6 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
.
|
7
|
-
doc/
|
1
|
+
node_modules
|
2
|
+
components
|
3
|
+
.grunt
|
4
|
+
index.html
|
5
|
+
*.gem
|
6
|
+
Gemfile.lock
|
data/Gemfile
CHANGED
@@ -1,15 +1,5 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
2
|
|
3
|
-
# Specify your gem's dependencies in joosy.gemspec
|
4
3
|
gemspec
|
5
4
|
|
6
|
-
|
7
|
-
gem 'jasmine', :git => 'git://github.com/pivotal/jasmine-gem.git'
|
8
|
-
gem 'guard-sprockets'
|
9
|
-
gem 'thin'
|
10
|
-
end
|
11
|
-
|
12
|
-
group :test do
|
13
|
-
gem 'rb-inotify', :require => false
|
14
|
-
gem 'libnotify', :require => false
|
15
|
-
end
|
5
|
+
gem 'pry'
|
data/Gruntfile.coffee
ADDED
@@ -0,0 +1,138 @@
|
|
1
|
+
module.exports = (grunt) ->
|
2
|
+
|
3
|
+
Sugar = require 'sugar'
|
4
|
+
Mincer = require 'mincer'
|
5
|
+
FS = require 'fs'
|
6
|
+
|
7
|
+
#
|
8
|
+
# Locations
|
9
|
+
#
|
10
|
+
locations =
|
11
|
+
source:
|
12
|
+
root: 'joosy.coffee'
|
13
|
+
path: 'src'
|
14
|
+
build: 'lib/joosy.js'
|
15
|
+
specs:
|
16
|
+
units: 'spec/**/*_spec.*'
|
17
|
+
helpers: 'spec/helpers/**/*.*'
|
18
|
+
build: '.grunt'
|
19
|
+
|
20
|
+
#
|
21
|
+
# Grunt extensions
|
22
|
+
#
|
23
|
+
grunt.loadNpmTasks 'grunt-mincer'
|
24
|
+
grunt.loadNpmTasks 'grunt-contrib-connect'
|
25
|
+
grunt.loadNpmTasks 'grunt-contrib-coffee'
|
26
|
+
grunt.loadNpmTasks 'grunt-contrib-jasmine'
|
27
|
+
grunt.loadNpmTasks 'grunt-contrib-watch'
|
28
|
+
grunt.loadNpmTasks 'grunt-coffeelint'
|
29
|
+
grunt.loadNpmTasks 'grunt-release'
|
30
|
+
|
31
|
+
grunt.initConfig
|
32
|
+
release:
|
33
|
+
options:
|
34
|
+
bump: false
|
35
|
+
add: false
|
36
|
+
commit: false
|
37
|
+
push: false
|
38
|
+
|
39
|
+
connect:
|
40
|
+
specs:
|
41
|
+
options:
|
42
|
+
port: 8888
|
43
|
+
|
44
|
+
watch:
|
45
|
+
source:
|
46
|
+
files: [locations.source.path + '/**/*']
|
47
|
+
tasks: ['mince', 'jasmine']
|
48
|
+
specs:
|
49
|
+
options:
|
50
|
+
nospawn: true
|
51
|
+
files: [locations.specs.units, locations.specs.helpers]
|
52
|
+
tasks: ['coffee', 'jasmine']
|
53
|
+
|
54
|
+
coffee:
|
55
|
+
specs:
|
56
|
+
expand: true
|
57
|
+
src: [locations.specs.units, locations.specs.helpers]
|
58
|
+
dest: locations.specs.build
|
59
|
+
ext: '.js'
|
60
|
+
|
61
|
+
mince:
|
62
|
+
main:
|
63
|
+
include: [locations.source.path]
|
64
|
+
src: locations.source.root
|
65
|
+
dest: locations.source.build
|
66
|
+
|
67
|
+
coffeelint:
|
68
|
+
source:
|
69
|
+
files:
|
70
|
+
src: [locations.source.path + '/joosy/**/*.coffee']
|
71
|
+
options:
|
72
|
+
'max_line_length':
|
73
|
+
level: 'ignore'
|
74
|
+
|
75
|
+
jasmine:
|
76
|
+
joosy:
|
77
|
+
src: locations.source.build
|
78
|
+
options:
|
79
|
+
host: 'http://localhost:8888/'
|
80
|
+
keepRunner: true
|
81
|
+
outfile: 'index.html'
|
82
|
+
vendor: [
|
83
|
+
'components/sinonjs/sinon.js',
|
84
|
+
'components/jquery/jquery.js',
|
85
|
+
'components/jquery-form/jquery.form.js',
|
86
|
+
'components/sugar/release/sugar-full.min.js'
|
87
|
+
],
|
88
|
+
specs: locations.specs.build + '/' + locations.specs.units
|
89
|
+
helpers: locations.specs.build + '/' + locations.specs.helpers
|
90
|
+
|
91
|
+
grunt.event.on 'watch', (action, filepath) ->
|
92
|
+
grunt.config ['coffee', 'specs', 'src'], filepath
|
93
|
+
|
94
|
+
#
|
95
|
+
# Tasks
|
96
|
+
#
|
97
|
+
grunt.registerTask 'default', ['connect', 'build', 'watch']
|
98
|
+
|
99
|
+
grunt.registerTask 'build', ['mince', 'coffee', 'jasmine:joosy:build', 'bowerize']
|
100
|
+
|
101
|
+
grunt.registerTask 'test', ['connect', 'mince', 'coffee', 'bowerize', 'jasmine']
|
102
|
+
|
103
|
+
grunt.registerTask 'bowerize', ->
|
104
|
+
bower = require './bower.json'
|
105
|
+
meta = require './package.json'
|
106
|
+
|
107
|
+
bower.version = meta.version
|
108
|
+
FS.writeFileSync 'bower.json', JSON.stringify(bower, null, 2)
|
109
|
+
|
110
|
+
grunt.registerTask 'publish:ensureCommits', ->
|
111
|
+
complete = @async()
|
112
|
+
|
113
|
+
grunt.util.spawn {cmd: "git", args: ["status", "--porcelain" ]}, (error, result) ->
|
114
|
+
if !!error || result.stdout.length > 0
|
115
|
+
console.log ""
|
116
|
+
console.log "Uncommited changes found. Please commit prior to release or use `--force`.".bold
|
117
|
+
console.log ""
|
118
|
+
complete false
|
119
|
+
else
|
120
|
+
complete true
|
121
|
+
|
122
|
+
grunt.registerTask 'publish:gem', ->
|
123
|
+
meta = require './package.json'
|
124
|
+
complete = @async()
|
125
|
+
|
126
|
+
grunt.util.spawn {cmd: "gem", args: ["build", "joosy.gemspec"]}, (error, result) ->
|
127
|
+
return complete false if error
|
128
|
+
|
129
|
+
gem = "joosy-#{meta.version.replace('-', '.')}.gem"
|
130
|
+
grunt.log.ok "Built #{gem}"
|
131
|
+
|
132
|
+
grunt.util.spawn {cmd: "gem", args: ["push", gem]}, (error, result) ->
|
133
|
+
return complete false if error
|
134
|
+
grunt.log.ok "Published #{gem}"
|
135
|
+
grunt.file.delete gem
|
136
|
+
complete(true)
|
137
|
+
|
138
|
+
grunt.registerTask 'publish', ['test', 'publish:ensureCommits', 'release', 'publish:gem']
|
data/README.md
CHANGED
@@ -1,56 +1,97 @@
|
|
1
|
-
|
1
|
+
# Joosy 1.2: Feather
|
2
|
+
|
3
|
+
## WARNING!!!
|
4
|
+
|
5
|
+
Master branch is currently totally incompatible with the stable 1.1 and 1.0 branches. 1.2 features
|
6
|
+
total restructuring of the way we build the gem and the way you are supposed to include it.
|
7
|
+
|
8
|
+
To keep things working please use either
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
gem 'joosy', '~> 1.1.0'
|
12
|
+
```
|
13
|
+
|
14
|
+
or
|
15
|
+
|
16
|
+
```ruby
|
17
|
+
gem 'joosy', github: 'joosy/joosy', branch: '1.1'
|
18
|
+
```
|
19
|
+
|
20
|
+
[Guides](http://guides.joosy.ws/) and [API](http://api.joosy.ws/) are also bound to 1.1 branch.
|
21
|
+
Again – make sure you use proper gem versions.
|
22
|
+
|
23
|
+
### Whatever! I'm ninja!
|
24
|
+
|
25
|
+
Below in this README you will find new installation instructions. They are still very likely
|
26
|
+
to change or work not as expected while 1.2 branch is still early alpha.
|
27
|
+
|
28
|
+
Keep track on what's going on at the [Wiki](https://github.com/joosy/joosy/wiki#12-feather)
|
2
29
|
|
3
30
|
## What is Joosy
|
4
31
|
|
32
|
+
![Joosy](http://f.cl.ly/items/2N2J453J2B353F1A0t0I/joocy1.1.png)
|
33
|
+
|
5
34
|
Joosy is a javascript framework. Being a harmonious extensions to Rails it introduces everything you like about this framework right to your browser. Ready conventions set, extensive CoffeeScript, HAML support, Helpers, seamless backend integration, automatic code generation and more.
|
6
35
|
|
7
36
|
Joosy allows you to create web apps which work completely in the browser. So that, it helps you to relocate all your Rails Views to the client side. It also helps you with managing the growing quantity of JS code. On another hand, it makes your backend to have exactly one function – to be a simple REST provider. That leads to easier development support and improves the scalability greatly.
|
8
37
|
|
9
38
|
Besides Rails, Joosy is based on top of [CoffeeScript](http://coffeescript.org/), [jQuery](http://jquery.com/) and [Sugar.js](http://sugarjs.com/) in role of ActiveSupport.
|
10
39
|
|
11
|
-
Finally, Joosy boosts your development drastically. Just like the Rails
|
40
|
+
Finally, Joosy boosts your development drastically. Just like the Rails framework does.
|
12
41
|
|
13
|
-
|
14
|
-
* [Joosy vs X](http://guides.joosy.ws/guides/basics/joosy-vs-x.html): comparison to Backbone and Ember.js
|
15
|
-
* [Joosy guides](http://guides.joosy.ws/): set of articles that will help you to learn the framework.
|
16
|
-
* [Joosy API](http://api.joosy.ws/): Codo-documented API of Joosy.
|
17
|
-
|
18
|
-
### Hello world app
|
42
|
+
### Jump in with Rails
|
19
43
|
|
20
44
|
Add Joosy gem to your Gemfile:
|
21
45
|
|
22
|
-
|
46
|
+
```ruby
|
47
|
+
gem 'joosy-rails', '~> 1.2.0'
|
48
|
+
```
|
23
49
|
|
24
50
|
Using built-in generators you can quickly generate small app inside your Rails app to see Joosy application from inside a bit.
|
25
51
|
|
26
52
|
rails g joosy:application dummy
|
27
|
-
rails g joosy:preloader dummy
|
28
53
|
|
29
|
-
Now you can `rails s`
|
54
|
+
Now you can run `rails s` to get Joosy placeholder at [localhost:3000/dummy](http://localhost:3000/dummy). Generated application will consist of one `Layout` and one `Page` both including very basic practices of Joosy.
|
30
55
|
|
31
|
-
|
56
|
+
### Jump in with Sinatra
|
32
57
|
|
33
|
-
|
58
|
+
### Standalone application
|
34
59
|
|
35
|
-
|
60
|
+
Make sure you have Node.js installed. Install joosy package globally to start with:
|
36
61
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
62
|
+
npm install joosy -g
|
63
|
+
|
64
|
+
Now run basic application generator with the following command:
|
65
|
+
|
66
|
+
joosy new dummy
|
67
|
+
|
68
|
+
Now you can `grunt server` to get Joosy placeholder at [localhost:4000/](http://localhost:4000/). Generated application will consist of one `Layout` and one `Page` both including very basic practices of Joosy.
|
69
|
+
|
70
|
+
To generate assets statically prior to the deployment run
|
71
|
+
|
72
|
+
grunt joosy:compile
|
73
|
+
|
74
|
+
Your assets will appear at `public/` directory.
|
75
|
+
|
76
|
+
## Hacking
|
77
|
+
|
78
|
+
* Ensure you have Node.js available on your system
|
79
|
+
* Clone the project
|
80
|
+
* Run `npm install` to get required Node modules
|
81
|
+
* Run `bower install` to get require JS components
|
82
|
+
* Run `grunt test` to run specs once
|
83
|
+
* Run `grunt` to watch sources (automatic changes compilations) and run test-server (get your browser to http://localhost:8888/)
|
42
84
|
|
43
|
-
|
85
|
+
While current repository is, at the same time: NPM package, Ruby gem and Bower component – the main Core
|
86
|
+
environment is Node.js.
|
44
87
|
|
45
|
-
Credits
|
46
|
-
-------
|
88
|
+
## Credits
|
47
89
|
|
48
90
|
* Boris Staal ([@_inossidabile](http://twitter.com/#!/_inossidabile)) [![endorse](http://api.coderwall.com/inossidabile/endorsecount.png)](http://coderwall.com/inossidabile)
|
49
91
|
* Andrew Shaydurov ([@ImGearHead](http://twitter.com/#!/ImGearHead))
|
50
92
|
* Alexander Pavlenko ([@alerticus](http://twitter.com/#!/alerticus))
|
51
93
|
* Peter Zotov ([@whitequark](http://twitter.com/#!/whitequark))
|
52
94
|
|
53
|
-
LICENSE
|
54
|
-
-------
|
95
|
+
## LICENSE
|
55
96
|
|
56
97
|
It is free software, and may be redistributed under the terms of MIT license.
|
data/bin/joosy
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/env node
|
2
|
+
|
3
|
+
'use strict';
|
4
|
+
|
5
|
+
var resolve = require('resolve').sync
|
6
|
+
var path = require('path')
|
7
|
+
var base = ''
|
8
|
+
var location = path.join('src', 'joosy', 'generators', 'command')
|
9
|
+
|
10
|
+
try {
|
11
|
+
base = resolve('joosy', {
|
12
|
+
basedir: process.cwd(),
|
13
|
+
extensions: ['.coffee'],
|
14
|
+
packageFilter: function(pkg) { pkg.main = location; return pkg; }
|
15
|
+
});
|
16
|
+
} catch (ex) {
|
17
|
+
base = path.join('..', location);
|
18
|
+
}
|
19
|
+
|
20
|
+
require('coffee-script');
|
21
|
+
require(base)();
|
data/bower.json
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
{
|
2
|
+
"name": "joosy",
|
3
|
+
"version": "1.2.0-alpha.4",
|
4
|
+
"main": "lib/joosy.js",
|
5
|
+
"ignore": [
|
6
|
+
"bin",
|
7
|
+
"spec",
|
8
|
+
"tasks",
|
9
|
+
"templates",
|
10
|
+
"Gemfile",
|
11
|
+
"Gruntfile.coffee",
|
12
|
+
"joosy.gemspec",
|
13
|
+
"package.json"
|
14
|
+
],
|
15
|
+
"dependencies": {
|
16
|
+
"jquery": "~2.0.2",
|
17
|
+
"sugar": "~1.3.9",
|
18
|
+
"jquery-form": "~3.32.0-2013.04.09"
|
19
|
+
},
|
20
|
+
"devDependencies": {
|
21
|
+
"sinonjs": "~1.7.1"
|
22
|
+
}
|
23
|
+
}
|
data/joosy.gemspec
CHANGED
@@ -1,24 +1,18 @@
|
|
1
|
-
require File.expand_path("../lib/joosy
|
1
|
+
require File.expand_path("../lib/joosy.rb", __FILE__)
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "joosy"
|
5
5
|
s.version = Joosy::VERSION
|
6
6
|
s.platform = Gem::Platform::RUBY
|
7
|
-
s.summary = "Joosy Framework
|
8
|
-
s.email = "boris@
|
7
|
+
s.summary = "Joosy Framework"
|
8
|
+
s.email = "boris@staal.io"
|
9
9
|
s.homepage = "http://github.com/joosy/joosy"
|
10
|
-
s.description = "A gem wrapper to include Joosy via the asset pipeline
|
10
|
+
s.description = "A gem wrapper to include Joosy via the asset pipeline"
|
11
11
|
s.authors = ['Boris Staal', 'Andrew Shaydurov', 'Peter Zotov', 'Alexander Pavlenko']
|
12
12
|
|
13
|
-
s.files
|
13
|
+
s.files = `git ls-files`.split("\n")
|
14
14
|
s.require_paths = ["lib"]
|
15
15
|
|
16
16
|
s.add_dependency 'sprockets'
|
17
17
|
s.add_dependency 'haml_coffee_assets'
|
18
|
-
|
19
|
-
s.add_development_dependency 'jquery-rails'
|
20
|
-
s.add_development_dependency 'guard'
|
21
|
-
s.add_development_dependency 'guard-coffeescript'
|
22
|
-
s.add_development_dependency 'guard-sprockets'
|
23
|
-
s.add_development_dependency 'jasmine'
|
24
|
-
end
|
18
|
+
end
|