joosy 0.1.0.RC3 → 0.1.0.alpha
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +0 -2
- data/Gemfile +2 -13
- data/Gemfile.lock +62 -80
- data/Guardfile +15 -21
- data/MIT-LICENSE +2 -2
- data/README.rdoc +3 -0
- data/app/helpers/joosy/sprockets_helper.rb +11 -23
- data/joosy.gemspec +3 -3
- data/lib/joosy/forms.rb +12 -2
- data/lib/joosy/rails/engine.rb +1 -9
- data/lib/joosy/rails/version.rb +2 -2
- data/lib/joosy-rails.rb +5 -0
- data/lib/rails/generators/joosy/application_generator.rb +3 -13
- data/lib/rails/generators/joosy/joosy_base.rb +2 -2
- data/lib/rails/generators/joosy/layout_generator.rb +1 -8
- data/lib/rails/generators/joosy/page_generator.rb +6 -21
- data/lib/rails/generators/joosy/preloader_generator.rb +7 -14
- data/lib/rails/generators/joosy/templates/app/layouts/application.js.coffee +0 -1
- data/lib/rails/generators/joosy/templates/app/layouts/template.js.coffee +1 -1
- data/lib/rails/generators/joosy/templates/app/pages/application.js.coffee +1 -1
- data/lib/rails/generators/joosy/templates/app/pages/template.js.coffee +3 -3
- data/lib/rails/generators/joosy/templates/app/routes.js.coffee +1 -7
- data/lib/rails/generators/joosy/templates/app/widgets/template.js.coffee +2 -2
- data/lib/rails/generators/joosy/templates/app.js.coffee +0 -3
- data/lib/rails/generators/joosy/templates/app_preloader.js.coffee.erb +12 -9
- data/lib/rails/generators/joosy/templates/preload.html.erb +6 -5
- data/lib/rails/generators/joosy/templates/preload.html.haml +5 -3
- data/lib/rails/generators/joosy/templates/preload.html.slim +21 -0
- data/lib/rails/generators/joosy/widget_generator.rb +1 -8
- data/spec/javascripts/helpers/spec_helper.js.coffee +0 -20
- data/spec/javascripts/joosy/core/modules/container_spec.js.coffee +27 -24
- data/spec/javascripts/joosy/core/modules/events_spec.js.coffee +18 -42
- data/spec/javascripts/joosy/core/modules/filters_spec.js.coffee +27 -27
- data/spec/javascripts/joosy/core/modules/log_spec.js.coffee +3 -3
- data/spec/javascripts/joosy/core/modules/module_spec.js.coffee +15 -6
- data/spec/javascripts/joosy/core/modules/time_manager_spec.js.coffee +7 -12
- data/spec/javascripts/joosy/core/modules/widget_manager_spec.js.coffee +17 -31
- data/tmp/javascripts/.gitignore +1 -0
- data/tmp/spec/javascripts/helpers/.gitignore +1 -0
- data/vendor/assets/javascripts/base64.js +135 -0
- data/vendor/assets/javascripts/joosy/core/application.js.coffee +26 -0
- data/vendor/assets/javascripts/joosy/core/form.js.coffee +87 -0
- data/vendor/assets/javascripts/joosy/core/joosy.js.coffee +62 -0
- data/vendor/assets/javascripts/joosy/core/layout.js.coffee +38 -0
- data/vendor/assets/javascripts/joosy/core/modules/container.js.coffee +51 -0
- data/vendor/assets/javascripts/joosy/core/modules/events.js.coffee +17 -0
- data/vendor/assets/javascripts/joosy/core/modules/filters.js.coffee +39 -0
- data/vendor/assets/javascripts/joosy/core/modules/log.js.coffee +12 -0
- data/vendor/assets/javascripts/joosy/core/modules/module.js.coffee +28 -0
- data/vendor/assets/javascripts/joosy/core/modules/time_manager.js.coffee +23 -0
- data/vendor/assets/javascripts/joosy/core/modules/widgets_manager.js.coffee +45 -0
- data/vendor/assets/javascripts/joosy/core/page.js.coffee +136 -0
- data/vendor/assets/javascripts/joosy/core/resource/rest.js.coffee +69 -0
- data/vendor/assets/javascripts/joosy/core/resource/rest_collection.js.coffee +42 -0
- data/vendor/assets/javascripts/joosy/core/router.js.coffee +75 -0
- data/vendor/assets/javascripts/joosy/core/widget.js.coffee +35 -0
- data/vendor/assets/javascripts/joosy/preloader/development.js.coffee +27 -0
- data/vendor/assets/javascripts/joosy/preloader/production.js.coffee +84 -0
- data/{app → vendor}/assets/javascripts/joosy.js.coffee +0 -0
- data/vendor/assets/javascripts/jquery.form.js +963 -978
- data/vendor/assets/javascripts/sugar.js +1 -1
- metadata +48 -77
- data/.codoopts +0 -5
- data/README.md +0 -95
- data/app/assets/javascripts/joosy/core/application.js.coffee +0 -50
- data/app/assets/javascripts/joosy/core/form.js.coffee +0 -304
- data/app/assets/javascripts/joosy/core/helpers/view.js.coffee +0 -30
- data/app/assets/javascripts/joosy/core/joosy.js.coffee +0 -129
- data/app/assets/javascripts/joosy/core/layout.js.coffee +0 -162
- data/app/assets/javascripts/joosy/core/modules/container.js.coffee +0 -104
- data/app/assets/javascripts/joosy/core/modules/events.js.coffee +0 -123
- data/app/assets/javascripts/joosy/core/modules/filters.js.coffee +0 -67
- data/app/assets/javascripts/joosy/core/modules/log.js.coffee +0 -36
- data/app/assets/javascripts/joosy/core/modules/module.js.coffee +0 -105
- data/app/assets/javascripts/joosy/core/modules/renderer.js.coffee +0 -195
- data/app/assets/javascripts/joosy/core/modules/time_manager.js.coffee +0 -46
- data/app/assets/javascripts/joosy/core/modules/widgets_manager.js.coffee +0 -84
- data/app/assets/javascripts/joosy/core/page.js.coffee +0 -375
- data/app/assets/javascripts/joosy/core/preloader.js.coffee +0 -13
- data/app/assets/javascripts/joosy/core/resource/collection.js.coffee +0 -174
- data/app/assets/javascripts/joosy/core/resource/generic.js.coffee +0 -254
- data/app/assets/javascripts/joosy/core/resource/rest.js.coffee +0 -197
- data/app/assets/javascripts/joosy/core/resource/rest_collection.js.coffee +0 -125
- data/app/assets/javascripts/joosy/core/router.js.coffee +0 -163
- data/app/assets/javascripts/joosy/core/templaters/rails_jst.js.coffee +0 -36
- data/app/assets/javascripts/joosy/core/widget.js.coffee +0 -80
- data/app/assets/javascripts/joosy/preloaders/caching.js.coffee +0 -169
- data/app/assets/javascripts/joosy/preloaders/inline.js.coffee +0 -56
- data/lib/joosy.rb +0 -9
- data/lib/rails/generators/joosy/resource_generator.rb +0 -29
- data/lib/rails/generators/joosy/templates/app/helpers/application.js.coffee +0 -4
- data/lib/rails/generators/joosy/templates/app/pages/welcome/index.js.coffee +0 -22
- data/lib/rails/generators/joosy/templates/app/resources/template.js.coffee +0 -2
- data/lib/rails/generators/joosy/templates/app/templates/layouts/application.jst.hamlc +0 -2
- data/lib/rails/generators/joosy/templates/app/templates/pages/welcome/index.jst.hamlc +0 -7
- data/spec/javascripts/joosy/core/application_spec.js.coffee +0 -40
- data/spec/javascripts/joosy/core/form_spec.js.coffee +0 -184
- data/spec/javascripts/joosy/core/joosy_spec.js.coffee +0 -72
- data/spec/javascripts/joosy/core/layout_spec.js.coffee +0 -50
- data/spec/javascripts/joosy/core/modules/renderer_spec.js.coffee +0 -185
- data/spec/javascripts/joosy/core/page_spec.js.coffee +0 -178
- data/spec/javascripts/joosy/core/resource/collection_spec.js.coffee +0 -84
- data/spec/javascripts/joosy/core/resource/generic_spec.js.coffee +0 -118
- data/spec/javascripts/joosy/core/resource/rest_collection_spec.js.coffee +0 -58
- data/spec/javascripts/joosy/core/resource/rest_spec.js.coffee +0 -129
- data/spec/javascripts/joosy/core/router_spec.js.coffee +0 -123
- data/spec/javascripts/joosy/core/templaters/rails_jst_spec.js.coffee +0 -25
- data/spec/javascripts/joosy/core/widget_spec.js.coffee +0 -40
- data/spec/javascripts/joosy/preloaders/caching_spec.js.coffee +0 -36
- data/spec/javascripts/joosy/preloaders/inline_spec.js.coffee +0 -16
- 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/sinon-ie-1.3.1.js +0 -82
- data/vendor/assets/javascripts/metamorph.js +0 -409
data/Gemfile
CHANGED
@@ -1,15 +1,4 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
2
|
|
3
|
-
# Specify your gem's dependencies in joosy.gemspec
|
4
|
-
gemspec
|
5
|
-
|
6
|
-
gem 'jasmine', :git => 'git://github.com/pivotal/jasmine-gem.git'
|
7
|
-
gem 'guard-sprockets', :git => 'git://github.com/roundlake/guard-sprockets.git'
|
8
|
-
gem 'thin'
|
9
|
-
|
10
|
-
group :test do
|
11
|
-
if RUBY_PLATFORM =~ /linux/
|
12
|
-
gem 'rb-inotify'
|
13
|
-
gem 'libnotify'
|
14
|
-
end
|
15
|
-
end
|
3
|
+
# Specify your gem's dependencies in joosy-rails.gemspec
|
4
|
+
gemspec
|
data/Gemfile.lock
CHANGED
@@ -1,124 +1,110 @@
|
|
1
|
-
GIT
|
2
|
-
remote: git://github.com/pivotal/jasmine-gem.git
|
3
|
-
revision: 953d17dff4b4adba79b2a808b55cf33f4ff93af7
|
4
|
-
specs:
|
5
|
-
jasmine (1.2.0.rc2)
|
6
|
-
jasmine-core (>= 1.2.0.rc1)
|
7
|
-
rack (>= 1.1)
|
8
|
-
rspec (>= 1.3.1)
|
9
|
-
selenium-webdriver (>= 0.1.3)
|
10
|
-
|
11
|
-
GIT
|
12
|
-
remote: git://github.com/roundlake/guard-sprockets.git
|
13
|
-
revision: ba7574363f41b2c2c950f095b3b5cfc08762a6cc
|
14
|
-
specs:
|
15
|
-
guard-sprockets (0.2.0)
|
16
|
-
guard (>= 0.2.2)
|
17
|
-
sprockets (~> 2)
|
18
|
-
|
19
1
|
PATH
|
20
2
|
remote: .
|
21
3
|
specs:
|
22
|
-
joosy (0.1.0
|
4
|
+
joosy-rails (0.1.0)
|
23
5
|
coffee-rails
|
24
|
-
haml_coffee_assets
|
25
6
|
jquery-rails
|
26
|
-
rails (>= 3.
|
7
|
+
rails (>= 3.0.0)
|
27
8
|
|
28
9
|
GEM
|
29
10
|
remote: http://rubygems.org/
|
30
11
|
specs:
|
31
|
-
actionmailer (3.
|
32
|
-
actionpack (= 3.
|
33
|
-
mail (~> 2.
|
34
|
-
actionpack (3.
|
35
|
-
activemodel (= 3.
|
36
|
-
activesupport (= 3.
|
12
|
+
actionmailer (3.1.3)
|
13
|
+
actionpack (= 3.1.3)
|
14
|
+
mail (~> 2.3.0)
|
15
|
+
actionpack (3.1.3)
|
16
|
+
activemodel (= 3.1.3)
|
17
|
+
activesupport (= 3.1.3)
|
37
18
|
builder (~> 3.0.0)
|
38
19
|
erubis (~> 2.7.0)
|
39
|
-
|
40
|
-
rack (~> 1.
|
20
|
+
i18n (~> 0.6)
|
21
|
+
rack (~> 1.3.5)
|
41
22
|
rack-cache (~> 1.1)
|
23
|
+
rack-mount (~> 0.8.2)
|
42
24
|
rack-test (~> 0.6.1)
|
43
|
-
sprockets (~> 2.
|
44
|
-
activemodel (3.
|
45
|
-
activesupport (= 3.
|
25
|
+
sprockets (~> 2.0.3)
|
26
|
+
activemodel (3.1.3)
|
27
|
+
activesupport (= 3.1.3)
|
46
28
|
builder (~> 3.0.0)
|
47
|
-
activerecord (3.2.1)
|
48
|
-
activemodel (= 3.2.1)
|
49
|
-
activesupport (= 3.2.1)
|
50
|
-
arel (~> 3.0.0)
|
51
|
-
tzinfo (~> 0.3.29)
|
52
|
-
activeresource (3.2.1)
|
53
|
-
activemodel (= 3.2.1)
|
54
|
-
activesupport (= 3.2.1)
|
55
|
-
activesupport (3.2.1)
|
56
29
|
i18n (~> 0.6)
|
30
|
+
activerecord (3.1.3)
|
31
|
+
activemodel (= 3.1.3)
|
32
|
+
activesupport (= 3.1.3)
|
33
|
+
arel (~> 2.2.1)
|
34
|
+
tzinfo (~> 0.3.29)
|
35
|
+
activeresource (3.1.3)
|
36
|
+
activemodel (= 3.1.3)
|
37
|
+
activesupport (= 3.1.3)
|
38
|
+
activesupport (3.1.3)
|
57
39
|
multi_json (~> 1.0)
|
58
|
-
arel (
|
40
|
+
arel (2.2.1)
|
59
41
|
builder (3.0.0)
|
60
42
|
childprocess (0.3.0)
|
61
43
|
ffi (~> 1.0.6)
|
62
|
-
coffee-rails (3.
|
44
|
+
coffee-rails (3.1.1)
|
63
45
|
coffee-script (>= 2.2.0)
|
64
|
-
railties (~> 3.
|
46
|
+
railties (~> 3.1.0)
|
65
47
|
coffee-script (2.2.0)
|
66
48
|
coffee-script-source
|
67
49
|
execjs
|
68
50
|
coffee-script-source (1.2.0)
|
69
|
-
daemons (1.1.8)
|
70
51
|
diff-lcs (1.1.3)
|
71
52
|
erubis (2.7.0)
|
72
|
-
|
73
|
-
eventmachine (0.12.10-java)
|
74
|
-
execjs (1.3.0)
|
53
|
+
execjs (1.2.13)
|
75
54
|
multi_json (~> 1.0)
|
76
55
|
ffi (1.0.11)
|
77
56
|
ffi (1.0.11-java)
|
78
|
-
guard (
|
57
|
+
guard (0.10.0)
|
79
58
|
ffi (>= 0.5.0)
|
80
59
|
thor (~> 0.14.6)
|
81
60
|
guard-coffeescript (0.5.4)
|
82
61
|
coffee-script (>= 2.2.0)
|
83
62
|
guard (>= 0.8.3)
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
63
|
+
guard-shell (0.2.0)
|
64
|
+
guard (>= 0.2.0)
|
65
|
+
guard-sprockets (0.2.0)
|
66
|
+
guard (>= 0.2.2)
|
67
|
+
sprockets (~> 2)
|
88
68
|
hike (1.2.1)
|
89
69
|
i18n (0.6.0)
|
90
|
-
jasmine
|
91
|
-
|
92
|
-
|
93
|
-
|
70
|
+
jasmine (1.1.2)
|
71
|
+
jasmine-core (>= 1.1.0)
|
72
|
+
rack (>= 1.1)
|
73
|
+
rspec (>= 1.3.1)
|
74
|
+
selenium-webdriver (>= 0.1.3)
|
75
|
+
jasmine-core (1.1.0)
|
76
|
+
jquery-rails (1.0.19)
|
77
|
+
railties (~> 3.0)
|
94
78
|
thor (~> 0.14)
|
95
|
-
json (1.6.
|
96
|
-
json (1.6.
|
97
|
-
mail (2.
|
79
|
+
json (1.6.4)
|
80
|
+
json (1.6.4-java)
|
81
|
+
mail (2.3.0)
|
98
82
|
i18n (>= 0.4.0)
|
99
83
|
mime-types (~> 1.16)
|
100
84
|
treetop (~> 1.4.8)
|
101
85
|
mime-types (1.17.2)
|
102
86
|
multi_json (1.0.4)
|
103
87
|
polyglot (0.3.3)
|
104
|
-
rack (1.
|
88
|
+
rack (1.3.6)
|
105
89
|
rack-cache (1.1)
|
106
90
|
rack (>= 0.4)
|
91
|
+
rack-mount (0.8.3)
|
92
|
+
rack (>= 1.0.0)
|
107
93
|
rack-ssl (1.3.2)
|
108
94
|
rack
|
109
95
|
rack-test (0.6.1)
|
110
96
|
rack (>= 1.0)
|
111
|
-
rails (3.
|
112
|
-
actionmailer (= 3.
|
113
|
-
actionpack (= 3.
|
114
|
-
activerecord (= 3.
|
115
|
-
activeresource (= 3.
|
116
|
-
activesupport (= 3.
|
97
|
+
rails (3.1.3)
|
98
|
+
actionmailer (= 3.1.3)
|
99
|
+
actionpack (= 3.1.3)
|
100
|
+
activerecord (= 3.1.3)
|
101
|
+
activeresource (= 3.1.3)
|
102
|
+
activesupport (= 3.1.3)
|
117
103
|
bundler (~> 1.0)
|
118
|
-
railties (= 3.
|
119
|
-
railties (3.
|
120
|
-
actionpack (= 3.
|
121
|
-
activesupport (= 3.
|
104
|
+
railties (= 3.1.3)
|
105
|
+
railties (3.1.3)
|
106
|
+
actionpack (= 3.1.3)
|
107
|
+
activesupport (= 3.1.3)
|
122
108
|
rack-ssl (~> 1.3.2)
|
123
109
|
rake (>= 0.8.7)
|
124
110
|
rdoc (~> 3.4)
|
@@ -140,14 +126,10 @@ GEM
|
|
140
126
|
ffi (~> 1.0.9)
|
141
127
|
multi_json (~> 1.0.4)
|
142
128
|
rubyzip
|
143
|
-
sprockets (2.
|
129
|
+
sprockets (2.0.3)
|
144
130
|
hike (~> 1.2)
|
145
131
|
rack (~> 1.0)
|
146
132
|
tilt (~> 1.1, != 1.3.0)
|
147
|
-
thin (1.3.1)
|
148
|
-
daemons (>= 1.0.9)
|
149
|
-
eventmachine (>= 0.12.6)
|
150
|
-
rack (>= 1.0.0)
|
151
133
|
thor (0.14.6)
|
152
134
|
tilt (1.3.3)
|
153
135
|
treetop (1.4.10)
|
@@ -162,7 +144,7 @@ PLATFORMS
|
|
162
144
|
DEPENDENCIES
|
163
145
|
guard
|
164
146
|
guard-coffeescript
|
165
|
-
guard-
|
166
|
-
|
167
|
-
|
168
|
-
|
147
|
+
guard-shell
|
148
|
+
guard-sprockets
|
149
|
+
jasmine
|
150
|
+
joosy-rails!
|
data/Guardfile
CHANGED
@@ -1,30 +1,24 @@
|
|
1
|
-
guard 'coffeescript',
|
2
|
-
|
1
|
+
guard 'coffeescript',
|
2
|
+
:output => 'tmp/spec/javascripts' do
|
3
|
+
watch(%r{^spec/javascripts/(.+)[sS]pec\.js\.coffee$})
|
3
4
|
end
|
4
5
|
|
5
|
-
guard 'coffeescript',
|
6
|
-
|
6
|
+
guard 'coffeescript',
|
7
|
+
:output => 'tmp/spec/javascripts/helpers' do
|
8
|
+
watch(%r{^spec/javascripts/helpers/(.+)\.js\.coffee$})
|
7
9
|
end
|
8
10
|
|
9
11
|
jquery_path = File.join(Gem.loaded_specs['jquery-rails'].full_gem_path, 'vendor/assets/javascripts')
|
10
|
-
|
11
|
-
|
12
|
-
:asset_paths => ['
|
13
|
-
|
14
|
-
watch %r{^app/assets/javascripts/joosy/core.+\.js}
|
15
|
-
watch 'app/assets/javascripts/joosy.js.coffee'
|
16
|
-
end
|
17
|
-
|
18
|
-
guard 'sprockets', :destination => 'tmp/javascripts',
|
19
|
-
:asset_paths => ['app/assets/javascripts', 'vendor/assets/javascripts', jquery_path],
|
20
|
-
:root_file => 'app/assets/javascripts/joosy/preloaders/caching.js.coffee' do
|
21
|
-
watch 'app/assets/javascripts/joosy/preloaders/caching.js.coffee'
|
12
|
+
guard 'sprockets',
|
13
|
+
:destination => 'tmp/javascripts',
|
14
|
+
:asset_paths => ['vendor/assets/javascripts', jquery_path] do
|
15
|
+
watch('vendor/assets/javascripts/joosy.js.coffee')
|
22
16
|
end
|
23
17
|
|
24
|
-
guard '
|
25
|
-
|
26
|
-
|
27
|
-
|
18
|
+
guard 'shell' do
|
19
|
+
watch(%r{^vendor/assets/javascripts/(?!joosy\.js).+\.js}) do
|
20
|
+
`touch vendor/assets/javascripts/joosy.js.coffee`
|
21
|
+
end
|
28
22
|
end
|
29
23
|
|
30
|
-
puts 'HI! Hit <Enter> to generate all stuff.'
|
24
|
+
puts 'HI! Hit <Enter> to generate all stuff.'
|
data/MIT-LICENSE
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
Copyright (C) 2011
|
2
|
-
|
1
|
+
Copyright (C) 2011 by Boris Staal <boris@roundlake.ru>,
|
2
|
+
Peter Zotov <p.zotov@roundlake.ru>.
|
3
3
|
|
4
4
|
Permission is hereby granted, free of charge, to any person obtaining
|
5
5
|
a copy of this software and associated documentation files (the
|
data/README.rdoc
ADDED
@@ -1,26 +1,14 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
[resource, size]
|
13
|
-
end.to_json.html_safe
|
14
|
-
end
|
15
|
-
|
16
|
-
def require_joosy_preloader_for(app_asset, options={})
|
17
|
-
preloader_asset = "joosy/preloaders/#{options[:preloader] || 'caching'}"
|
18
|
-
force_preloader = options[:force] || false
|
19
|
-
|
20
|
-
if force_preloader
|
21
|
-
require_asset preloader_asset
|
22
|
-
else
|
23
|
-
require_asset Rails.env == 'development' ? app_asset : preloader_asset
|
1
|
+
module Joosy
|
2
|
+
module SprocketsHelper
|
3
|
+
def extract_sources_and_sizes_from_include_tag(name)
|
4
|
+
code = javascript_include_tag name
|
5
|
+
resources = code.scan(/(?:href|src)=['"]([^'"]+)['"]/).flatten
|
6
|
+
|
7
|
+
resources.map do |resource|
|
8
|
+
path = ::Rails.root.to_s + "/public" + resource.split('?')[0]
|
9
|
+
size = File.size(path) rescue false
|
10
|
+
[resource, size]
|
11
|
+
end.to_json.html_safe
|
24
12
|
end
|
25
13
|
end
|
26
14
|
end
|
data/joosy.gemspec
CHANGED
@@ -6,19 +6,19 @@ Gem::Specification.new do |s|
|
|
6
6
|
s.platform = Gem::Platform::RUBY
|
7
7
|
s.summary = "Joosy Framework support for Ruby on Rails"
|
8
8
|
s.email = "boris@roundlake.ru"
|
9
|
-
s.homepage = "http://github.com/roundlake/joosy"
|
9
|
+
s.homepage = "http://github.com/roundlake/joosy-rails"
|
10
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
13
|
s.files = `git ls-files`.split("\n")
|
14
14
|
s.require_paths = ["lib"]
|
15
15
|
|
16
|
-
s.add_dependency 'rails', ">= 3.
|
16
|
+
s.add_dependency 'rails', ">= 3.0.0"
|
17
17
|
s.add_dependency 'coffee-rails'
|
18
18
|
s.add_dependency 'jquery-rails'
|
19
|
-
s.add_dependency 'haml_coffee_assets'
|
20
19
|
|
21
20
|
s.add_development_dependency 'guard'
|
21
|
+
s.add_development_dependency 'guard-shell'
|
22
22
|
s.add_development_dependency 'guard-coffeescript'
|
23
23
|
s.add_development_dependency 'guard-sprockets'
|
24
24
|
s.add_development_dependency 'jasmine'
|
data/lib/joosy/forms.rb
CHANGED
@@ -9,13 +9,23 @@ module Joosy
|
|
9
9
|
if entity.save
|
10
10
|
joosy_succeed(data, entity, &block)
|
11
11
|
else
|
12
|
-
joosy_fail(entity.errors, entity.class.name)
|
12
|
+
joosy_fail(entity.errors.messages, entity.class.name)
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
16
|
def joosy_fail(errors, entity=false)
|
17
17
|
errors = Hash[*errors.map {|x| [x, nil]}.flatten] if errors.is_a?(Array)
|
18
|
-
|
18
|
+
|
19
|
+
if !entity
|
20
|
+
notifications = errors
|
21
|
+
else
|
22
|
+
notifications = {}
|
23
|
+
errors.each do |k, v|
|
24
|
+
notifications["#{entity.underscore}[#{k}]"] = v
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
joosy_respond notifications, :unprocessable_entity
|
19
29
|
end
|
20
30
|
|
21
31
|
def joosy_succeed(data, entity=nil, &block)
|
data/lib/joosy/rails/engine.rb
CHANGED
@@ -3,15 +3,7 @@ require 'rails/engine'
|
|
3
3
|
module Joosy
|
4
4
|
module Rails
|
5
5
|
class Engine < ::Rails::Engine
|
6
|
-
|
7
|
-
initializer 'joosy.extend.sprockets' do |app|
|
8
|
-
ActiveSupport.on_load(:action_view) do
|
9
|
-
app.assets.context_class.instance_eval do
|
10
|
-
include ::Joosy::SprocketsHelper
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
6
|
+
# auto wire
|
15
7
|
end
|
16
8
|
end
|
17
9
|
end
|
data/lib/joosy/rails/version.rb
CHANGED
data/lib/joosy-rails.rb
ADDED
@@ -6,7 +6,7 @@ module Joosy
|
|
6
6
|
source_root File.join(File.dirname(__FILE__), 'templates')
|
7
7
|
|
8
8
|
def create_files
|
9
|
-
|
9
|
+
self.destination_root = "app/assets/javascripts"
|
10
10
|
|
11
11
|
template "app.js.coffee", "#{file_path}.js.coffee"
|
12
12
|
|
@@ -14,26 +14,16 @@ module Joosy
|
|
14
14
|
|
15
15
|
template "app/routes.js.coffee", "#{file_path}/routes.js.coffee"
|
16
16
|
|
17
|
-
empty_directory "#{file_path}/helpers"
|
18
|
-
template "app/helpers/application.js.coffee", "#{file_path}/helpers/application.js.coffee"
|
19
|
-
|
20
17
|
empty_directory "#{file_path}/layouts"
|
21
18
|
template "app/layouts/application.js.coffee", "#{file_path}/layouts/application.js.coffee"
|
22
19
|
|
23
|
-
empty_directory "#{file_path}/pages
|
20
|
+
empty_directory "#{file_path}/pages"
|
24
21
|
template "app/pages/application.js.coffee", "#{file_path}/pages/application.js.coffee"
|
25
|
-
template "app/pages/welcome/index.js.coffee", "#{file_path}/pages/welcome/index.js.coffee"
|
26
|
-
|
27
|
-
empty_directory "#{file_path}/templates/layouts"
|
28
|
-
template "app/templates/layouts/application.jst.hamlc", "#{file_path}/templates/layouts/application.jst.hamlc"
|
29
|
-
|
30
|
-
empty_directory "#{file_path}/templates/pages/welcome"
|
31
|
-
template "app/templates/pages/welcome/index.jst.hamlc", "#{file_path}/templates/pages/welcome/index.jst.hamlc"
|
32
22
|
|
33
23
|
empty_directory_with_gitkeep "#{file_path}/widgets"
|
34
|
-
empty_directory_with_gitkeep "#{file_path}/resources"
|
35
24
|
|
36
25
|
empty_directory_with_gitkeep "#{file_path}/templates/layouts"
|
26
|
+
empty_directory_with_gitkeep "#{file_path}/templates/pages"
|
37
27
|
empty_directory_with_gitkeep "#{file_path}/templates/widgets"
|
38
28
|
end
|
39
29
|
end
|
@@ -3,8 +3,8 @@ require 'rails/generators/named_base'
|
|
3
3
|
module Rails
|
4
4
|
module Generators
|
5
5
|
class JoosyBase < ::Rails::Generators::NamedBase
|
6
|
-
class_option :template_kind, :type => :string, :aliases => "-T", :default => '
|
7
|
-
:desc => "Generate templates with specified extension (default: .
|
6
|
+
class_option :template_kind, :type => :string, :aliases => "-T", :default => 'jade',
|
7
|
+
:desc => "Generate templates with specified extension (default: .jade)"
|
8
8
|
|
9
9
|
class_option :skip_git, :type => :boolean, :aliases => "-G", :default => false,
|
10
10
|
:desc => "Skip Git keeps"
|
@@ -18,14 +18,7 @@ module Joosy
|
|
18
18
|
protected
|
19
19
|
|
20
20
|
def app_path
|
21
|
-
|
22
|
-
puts <<HELP
|
23
|
-
Usage: rails generate joosy:layout joosy_app_name/layout_name
|
24
|
-
Tip: do not add Layout suffix to layout_name
|
25
|
-
HELP
|
26
|
-
exit 1
|
27
|
-
end
|
28
|
-
class_path[0]
|
21
|
+
File.join class_path
|
29
22
|
end
|
30
23
|
end
|
31
24
|
end
|
@@ -8,36 +8,21 @@ module Joosy
|
|
8
8
|
def create_files
|
9
9
|
super
|
10
10
|
|
11
|
-
empty_directory "#{app_path}/pages
|
12
|
-
template "app/pages/template.js.coffee", "#{app_path}/pages/#{
|
11
|
+
empty_directory "#{app_path}/pages"
|
12
|
+
template "app/pages/template.js.coffee", "#{app_path}/pages/#{layout_name}/#{file_name}.js.coffee"
|
13
13
|
|
14
|
-
empty_directory "#{app_path}/templates/pages/#{
|
15
|
-
create_file "#{app_path}/templates/pages/#{
|
14
|
+
empty_directory "#{app_path}/templates/pages/#{layout_name}"
|
15
|
+
create_file "#{app_path}/templates/pages/#{layout_name}/#{file_name}.jst.#{options[:template_kind]}"
|
16
16
|
end
|
17
17
|
|
18
18
|
protected
|
19
19
|
|
20
20
|
def app_path
|
21
|
-
|
22
|
-
puts <<HELP
|
23
|
-
Usage: rails generate joosy:page joosy_app_name/page_namespace/page_name
|
24
|
-
Tip: do not add Page suffix to page_name
|
25
|
-
HELP
|
26
|
-
exit 1
|
27
|
-
end
|
28
|
-
class_path[0]
|
29
|
-
end
|
30
|
-
|
31
|
-
def namespace_path
|
32
|
-
File.join class_path[1..-1]
|
33
|
-
end
|
34
|
-
|
35
|
-
def namespace_name
|
36
|
-
class_path[1..-1].map(&:camelize).join '.'
|
21
|
+
File.join class_path[0..-2]
|
37
22
|
end
|
38
23
|
|
39
24
|
def layout_name
|
40
|
-
class_path
|
25
|
+
class_path.last
|
41
26
|
end
|
42
27
|
end
|
43
28
|
end
|
@@ -4,28 +4,21 @@ module Joosy
|
|
4
4
|
module Generators
|
5
5
|
class PreloaderGenerator < ::Rails::Generators::NamedBase
|
6
6
|
class_option :template_engine, :type => :string,
|
7
|
-
|
7
|
+
:desc => "Generate templates for specified engine."
|
8
8
|
|
9
9
|
source_root File.join(File.dirname(__FILE__), 'templates')
|
10
10
|
|
11
11
|
def create_preloader_files
|
12
|
-
|
13
|
-
puts <<HELP
|
14
|
-
Usage: rails generate joosy:preloader joosy_app_name
|
15
|
-
HELP
|
16
|
-
exit 1
|
17
|
-
end
|
12
|
+
template "app_preloader.js.coffee.erb", "app/assets/javascripts/#{file_path}_preloader.js.coffee.erb"
|
18
13
|
|
19
|
-
|
14
|
+
empty_directory "app/controllers/#{File.join class_path}"
|
15
|
+
template "app_controller.rb", "app/controllers/#{file_path}_controller.rb"
|
20
16
|
|
21
|
-
empty_directory "app/
|
22
|
-
template "app_controller.rb", "app/controllers/#{file_name}_controller.rb"
|
23
|
-
|
24
|
-
empty_directory "app/views/layouts"
|
17
|
+
empty_directory "app/views/layouts/#{File.join class_path}"
|
25
18
|
template "preload.html.#{options[:template_engine]}",
|
26
|
-
"app/views/layouts/#{
|
19
|
+
"app/views/layouts/#{file_path}.html.#{options[:template_engine]}"
|
27
20
|
|
28
|
-
route "match '#{
|
21
|
+
route "match '#{file_path}' => '#{file_path}#index'"
|
29
22
|
end
|
30
23
|
end
|
31
24
|
end
|
@@ -1,2 +1,2 @@
|
|
1
1
|
class @<%= file_name.camelize %>Layout extends ApplicationLayout
|
2
|
-
|
2
|
+
view: JST['<%= app_path %>/templates/layouts/<%= file_name %>']
|
@@ -1 +1 @@
|
|
1
|
-
class @ApplicationPage extends Joosy.Page
|
1
|
+
class @ApplicationPage extends Joosy.Page
|
@@ -1,5 +1,5 @@
|
|
1
|
-
Joosy.namespace '<%=
|
1
|
+
Joosy.namespace '<%= layout_name.camelize %>', ->
|
2
2
|
|
3
3
|
class @<%= file_name.camelize %>Page extends ApplicationPage
|
4
|
-
|
5
|
-
|
4
|
+
layout: <%= layout_name.camelize %>Layout
|
5
|
+
view: JST['<%= app_path %>/templates/pages/<%= layout_name %>/<%= file_name %>']
|
@@ -1,8 +1,2 @@
|
|
1
1
|
Joosy.Router.map
|
2
|
-
404 : (path) -> alert "Page '#{path}' was not found :("
|
3
|
-
'/' : Welcome.IndexPage
|
4
|
-
# '/resources' :
|
5
|
-
# '/' : Resource.IndexPage
|
6
|
-
# '/:id' : Resource.ShowPage
|
7
|
-
# '/:id/edit' : Resource.EditPage
|
8
|
-
# '/new' : Resource.EditPage
|
2
|
+
404 : (path) -> alert "Page '#{path}' was not found :("
|
@@ -1,2 +1,2 @@
|
|
1
|
-
class @<%= file_name.camelize %>Widget extends Joosy.
|
2
|
-
|
1
|
+
class @<%= file_name.camelize %>Widget extends Joosy.Layout
|
2
|
+
view: JST['<%= app_path %>/templates/widgets/<%= file_name %>']
|
@@ -1,9 +1,6 @@
|
|
1
|
-
#= require hamlcoffee
|
2
1
|
#= require joosy
|
3
2
|
#
|
4
|
-
#= require_tree ./<%= file_name %>/helpers
|
5
3
|
#= require_tree ./<%= file_name %>/templates
|
6
|
-
#= require_tree ./<%= file_name %>/resources
|
7
4
|
#= require_tree ./<%= file_name %>/widgets
|
8
5
|
#= require_tree ./<%= file_name %>/layouts
|
9
6
|
#= require_tree ./<%= file_name %>/pages
|
@@ -1,13 +1,16 @@
|
|
1
|
-
<%=
|
1
|
+
<%= '<% require_asset "joosy/preloader/#{Rails.env}" %'+'>' %>
|
2
2
|
|
3
3
|
bootstrap = ->
|
4
|
-
$('#preloader').
|
5
|
-
|
6
|
-
|
7
|
-
debug
|
4
|
+
$('#preloader').slideUp ->
|
5
|
+
location.hash = '!/' if !location.hash
|
6
|
+
|
7
|
+
Joosy.debug = window.preload.development
|
8
|
+
Joosy.Application.initialize('#application')
|
8
9
|
|
9
10
|
window.onload = ->
|
10
|
-
Preloader.
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
Preloader.force = false
|
12
|
+
Preloader.complete = bootstrap
|
13
|
+
Preloader.start = -> document.getElementById('preloader').style.display = 'block'
|
14
|
+
Preloader.progress = (percent) -> document.getElementById('percents').innerHTML = percent + '%'
|
15
|
+
|
16
|
+
Preloader.load window.preload.libraries
|