joosy 1.1.0.alpha.3 → 1.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 +7 -0
- data/Gemfile.lock +2 -2
- data/README.md +1 -3
- data/app/assets/javascripts/joosy/core/page.js.coffee +1 -0
- data/app/assets/javascripts/joosy/core/resource/rest.js.coffee +33 -15
- data/app/assets/javascripts/joosy/core/router.js.coffee +31 -29
- data/lib/joosy/version.rb +1 -1
- data/lib/rails/generators/joosy/preloader_generator.rb +1 -1
- data/lib/rails/generators/joosy/resource_generator.rb +15 -3
- data/lib/rails/generators/joosy/templates/app/resources/template_with_namespace.js.coffee +4 -0
- data/spec/javascripts/joosy/core/resource/rest_spec.js.coffee +20 -1
- data/spec/javascripts/joosy/core/router_spec.js.coffee +21 -18
- metadata +23 -39
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9d9a1763a50a347c0706903668f7f81413c90f54
|
4
|
+
data.tar.gz: 3f2c91ba7364f24eb13c9895f5c1032cd2609819
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 735b829073162a372a09307e81b7b3006efc43469c7e901effc43af77bd6154168f5a3f1eb40bab06b420b2f77d6a6981802b83dc9b7752a8a510665c9f59bb8
|
7
|
+
data.tar.gz: 6a059d4606eb83365012b9fe23f3242f1591a596249d57e2c312064e6c71572813e85c7f30e0f2df242680e8d1b73c424f42a219e8f37cabeccc7da22915a1a3
|
data/Gemfile.lock
CHANGED
@@ -11,7 +11,7 @@ GIT
|
|
11
11
|
PATH
|
12
12
|
remote: .
|
13
13
|
specs:
|
14
|
-
joosy (1.1.0
|
14
|
+
joosy (1.1.0)
|
15
15
|
haml_coffee_assets
|
16
16
|
sprockets
|
17
17
|
|
@@ -64,7 +64,7 @@ GEM
|
|
64
64
|
execjs (~> 1.0)
|
65
65
|
guard (>= 1.1.0)
|
66
66
|
sprockets (~> 2.0)
|
67
|
-
haml_coffee_assets (1.
|
67
|
+
haml_coffee_assets (1.12.0)
|
68
68
|
coffee-script (>= 1.0.0)
|
69
69
|
sprockets (>= 2.0.3)
|
70
70
|
tilt (>= 1.3.3)
|
data/README.md
CHANGED
@@ -45,9 +45,7 @@ http://localhost:8888/ <- they are here :)
|
|
45
45
|
Credits
|
46
46
|
-------
|
47
47
|
|
48
|
-
|
49
|
-
|
50
|
-
* Boris Staal ([@_inossidabile](http://twitter.com/#!/_inossidabile))
|
48
|
+
* Boris Staal ([@_inossidabile](http://twitter.com/#!/_inossidabile)) [](http://coderwall.com/inossidabile)
|
51
49
|
* Andrew Shaydurov ([@ImGearHead](http://twitter.com/#!/ImGearHead))
|
52
50
|
* Alexander Pavlenko ([@alerticus](http://twitter.com/#!/alerticus))
|
53
51
|
* Peter Zotov ([@whitequark](http://twitter.com/#!/whitequark))
|
@@ -28,22 +28,45 @@ class Joosy.Resource.REST extends Joosy.Resource.Generic
|
|
28
28
|
, ''
|
29
29
|
|
30
30
|
#
|
31
|
-
# Builds
|
31
|
+
# Builds base path
|
32
32
|
#
|
33
|
-
# @param [String] id ID of entity to build member path for
|
34
33
|
# @param [Hash] options See {Joosy.Resource.REST.find} for possible options
|
35
34
|
#
|
36
35
|
# @example Basic usage
|
37
|
-
# Resource.
|
36
|
+
# Resource.basePath() # /resources
|
38
37
|
#
|
39
|
-
@
|
40
|
-
|
41
|
-
|
42
|
-
|
38
|
+
@basePath: (options={}) ->
|
39
|
+
if @__source
|
40
|
+
path = @__source
|
41
|
+
else
|
42
|
+
path = '/'
|
43
|
+
path += @__namespace__.map((s)-> s.underscore()).join('/') + '/' if @__namespace__.length > 0
|
44
|
+
path += @::__entityName.pluralize()
|
43
45
|
|
44
46
|
if options.parent?
|
45
47
|
path = @__parentsPath(if Object.isArray(options.parent) then options.parent else [options.parent]) + path
|
46
48
|
|
49
|
+
path
|
50
|
+
|
51
|
+
#
|
52
|
+
# Builds base path
|
53
|
+
#
|
54
|
+
# @see Joosy.Resource.REST.basePath
|
55
|
+
#
|
56
|
+
basePath: (options) ->
|
57
|
+
@constructor.basePath options
|
58
|
+
|
59
|
+
#
|
60
|
+
# Builds member path based on the given id.
|
61
|
+
#
|
62
|
+
# @param [String] id ID of entity to build member path for
|
63
|
+
# @param [Hash] options See {Joosy.Resource.REST.find} for possible options
|
64
|
+
#
|
65
|
+
# @example Basic usage
|
66
|
+
# Resource.memberPath(1, from: 'foo') # /resources/1/foo
|
67
|
+
#
|
68
|
+
@memberPath: (id, options={}) ->
|
69
|
+
path = @basePath(options) + "/#{id}"
|
47
70
|
path += "/#{options.from}" if options.from?
|
48
71
|
path
|
49
72
|
|
@@ -55,7 +78,7 @@ class Joosy.Resource.REST extends Joosy.Resource.Generic
|
|
55
78
|
# @example Basic usage
|
56
79
|
# resource.memberPath(from: 'foo') # /resources/1/foo
|
57
80
|
#
|
58
|
-
memberPath: (options
|
81
|
+
memberPath: (options) ->
|
59
82
|
@constructor.memberPath @id(), options
|
60
83
|
|
61
84
|
#
|
@@ -67,12 +90,7 @@ class Joosy.Resource.REST extends Joosy.Resource.Generic
|
|
67
90
|
# Resource.collectionPath() # /resources/
|
68
91
|
#
|
69
92
|
@collectionPath: (options={}) ->
|
70
|
-
path = (
|
71
|
-
path = @__source if @__source? && !options.parent?
|
72
|
-
|
73
|
-
if options.parent?
|
74
|
-
path = @__parentsPath(if Object.isArray(options.parent) then options.parent else [options.parent]) + path
|
75
|
-
|
93
|
+
path = @basePath(options)
|
76
94
|
path += "/#{options.from}" if options.from?
|
77
95
|
path
|
78
96
|
|
@@ -81,7 +99,7 @@ class Joosy.Resource.REST extends Joosy.Resource.Generic
|
|
81
99
|
#
|
82
100
|
# @see Joosy.Resource.REST.collectionPath
|
83
101
|
#
|
84
|
-
collectionPath: (options
|
102
|
+
collectionPath: (options) ->
|
85
103
|
@constructor.collectionPath options
|
86
104
|
|
87
105
|
#
|
@@ -26,19 +26,19 @@ Joosy.Router =
|
|
26
26
|
# need) and actual executors
|
27
27
|
#
|
28
28
|
routes: Object.extended()
|
29
|
-
|
29
|
+
|
30
30
|
#
|
31
31
|
# The regexp to restrict the next loading url. By default set to false and
|
32
32
|
# therefore no restrictions apply.
|
33
33
|
#
|
34
34
|
restrictPattern: false
|
35
|
-
|
35
|
+
|
36
36
|
#
|
37
37
|
# TODO: Write readme
|
38
38
|
#
|
39
39
|
__namespace: ""
|
40
40
|
__asNamespace: ""
|
41
|
-
|
41
|
+
|
42
42
|
#
|
43
43
|
# Set the restriction pattern. If the requested url does not match this it
|
44
44
|
# will not load. Set `false` to avoid check.
|
@@ -53,8 +53,8 @@ Joosy.Router =
|
|
53
53
|
@routes = Object.extended()
|
54
54
|
@__namespace = ""
|
55
55
|
@__asNamespace = ""
|
56
|
-
|
57
|
-
|
56
|
+
|
57
|
+
|
58
58
|
#
|
59
59
|
# Draws the routes similar to Ruby on Rails
|
60
60
|
#
|
@@ -95,30 +95,30 @@ Joosy.Router =
|
|
95
95
|
, 2 # jQuery.hashchange checks hash changing every 1ms
|
96
96
|
else
|
97
97
|
history[if options.replaceState then 'replaceState' else 'pushState'] {}, '', '#'+path
|
98
|
-
|
98
|
+
|
99
99
|
#
|
100
|
-
# Match route (
|
100
|
+
# Match route (adds it to @rawRoutes)
|
101
101
|
#
|
102
102
|
# @param [String] route similar to ones sent in map hash
|
103
|
-
#
|
103
|
+
#
|
104
104
|
# @param options [String] to function to which the route routes
|
105
105
|
# @option options [String] as name of the route, used for reverse routing
|
106
106
|
#
|
107
107
|
match: (route, options={}) ->
|
108
108
|
if @__asNamespace
|
109
|
-
as = @__asNamespace + options
|
109
|
+
as = @__asNamespace + options.as.capitalize()
|
110
110
|
else
|
111
|
-
as = options
|
112
|
-
|
111
|
+
as = options.as
|
112
|
+
|
113
113
|
routeName = @__namespace + route
|
114
114
|
|
115
115
|
map = {}
|
116
|
-
map[route] = options
|
117
|
-
|
116
|
+
map[route] = options.to
|
117
|
+
|
118
118
|
Joosy.Module.merge @rawRoutes, map
|
119
|
-
|
119
|
+
|
120
120
|
@__injectReverseUrl(as, routeName)
|
121
|
-
|
121
|
+
|
122
122
|
#
|
123
123
|
# Shortcut to match "/"
|
124
124
|
#
|
@@ -127,17 +127,17 @@ Joosy.Router =
|
|
127
127
|
# default it is "root"
|
128
128
|
#
|
129
129
|
root: (options={}) ->
|
130
|
-
as = options
|
131
|
-
@match("/", to: options
|
132
|
-
|
130
|
+
as = options.as || "root"
|
131
|
+
@match("/", to: options.to, as: as)
|
132
|
+
|
133
133
|
#
|
134
134
|
# Routes the 404
|
135
135
|
#
|
136
136
|
# @param options [String] to function to which the route routes
|
137
137
|
#
|
138
138
|
notFound: (options={}) ->
|
139
|
-
@match(404, to: options
|
140
|
-
|
139
|
+
@match(404, to: options.to)
|
140
|
+
|
141
141
|
#
|
142
142
|
# Namespaces a match route
|
143
143
|
#
|
@@ -149,14 +149,16 @@ Joosy.Router =
|
|
149
149
|
if Object.isFunction(options)
|
150
150
|
block = options
|
151
151
|
options = {}
|
152
|
-
|
152
|
+
|
153
153
|
newScope = $.extend({}, this)
|
154
154
|
newScope.rawRoutes = {}
|
155
155
|
newScope.__namespace += name
|
156
|
-
|
156
|
+
if options.as
|
157
|
+
options.as = options.as.capitalize() if newScope.__asNamespace.length > 0
|
158
|
+
newScope.__asNamespace += options.as
|
157
159
|
block.call(newScope) if Object.isFunction(block)
|
158
160
|
@rawRoutes[name] = newScope.rawRoutes
|
159
|
-
|
161
|
+
|
160
162
|
#
|
161
163
|
# Inits the routing system and loads the current route
|
162
164
|
# Binds the window hashchange event and therefore should only be called once
|
@@ -277,11 +279,11 @@ Joosy.Router =
|
|
277
279
|
params[pair[0]] = pair[1]
|
278
280
|
|
279
281
|
params
|
280
|
-
|
282
|
+
|
281
283
|
#
|
282
284
|
# Injects reverse routing function into global namespace
|
283
|
-
# @param [String] as The name for the route, ex: for "projects"
|
284
|
-
# builds "
|
285
|
+
# @param [String] as The name for the route, ex: for "projects"
|
286
|
+
# builds "projectsUrl" and "projectsPath" functions
|
285
287
|
# @param [String] route Entire route, joined by namespaces, ex:
|
286
288
|
# "/projects/":
|
287
289
|
# "/:id" :
|
@@ -290,7 +292,7 @@ Joosy.Router =
|
|
290
292
|
#
|
291
293
|
__injectReverseUrl: (as, route) ->
|
292
294
|
return if as == undefined
|
293
|
-
|
295
|
+
|
294
296
|
fnc = (options) ->
|
295
297
|
url = route
|
296
298
|
(route.match(/\/:[^\/]+/g) || []).each (str) ->
|
@@ -299,9 +301,9 @@ Joosy.Router =
|
|
299
301
|
|
300
302
|
Joosy.Helpers.Application["#{as}Path"] = (options) ->
|
301
303
|
fnc(options)
|
302
|
-
|
304
|
+
|
303
305
|
Joosy.Helpers.Application["#{as}Url"] = (options) ->
|
304
|
-
url = '
|
306
|
+
url = window.location.protocol + '//' + window.location.host + window.location.pathname
|
305
307
|
"#{url}#{fnc(options)}"
|
306
308
|
|
307
309
|
Joosy.Module.merge Joosy.Router, Joosy.Modules.Events
|
data/lib/joosy/version.rb
CHANGED
@@ -23,7 +23,7 @@ HELP
|
|
23
23
|
template "preload.html.#{options[:template_engine]}",
|
24
24
|
"app/views/layouts/#{file_name}.html.#{options[:template_engine]}"
|
25
25
|
|
26
|
-
route "
|
26
|
+
route "get '#{file_name}' => '#{file_name}#index'"
|
27
27
|
end
|
28
28
|
end
|
29
29
|
end
|
@@ -8,13 +8,17 @@ module Joosy
|
|
8
8
|
def create_files
|
9
9
|
super
|
10
10
|
|
11
|
-
|
11
|
+
if namespace_name.empty?
|
12
|
+
template "app/resources/template.js.coffee", "#{app_path}/resources/#{file_name}.js.coffee"
|
13
|
+
else
|
14
|
+
template "app/resources/template_with_namespace.js.coffee", "#{app_path}/resources/#{namespace_path}/#{file_name}.js.coffee"
|
15
|
+
end
|
12
16
|
end
|
13
17
|
|
14
18
|
protected
|
15
19
|
|
16
20
|
def app_path
|
17
|
-
|
21
|
+
if class_path.size < 1
|
18
22
|
puts <<HELP
|
19
23
|
Usage: rails generate joosy:resource joosy_app_name/resource_name
|
20
24
|
Tip: resource_name is better to be singular
|
@@ -23,6 +27,14 @@ HELP
|
|
23
27
|
end
|
24
28
|
class_path[0]
|
25
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 '.'
|
37
|
+
end
|
26
38
|
end
|
27
39
|
end
|
28
|
-
end
|
40
|
+
end
|
@@ -10,6 +10,14 @@ describe "Joosy.Resource.REST", ->
|
|
10
10
|
@entity 'fluffy'
|
11
11
|
@map 'fluffy_inlines', FluffyInline
|
12
12
|
|
13
|
+
Joosy.namespace 'Animal', ->
|
14
|
+
class @Cat extends Joosy.Resource.REST
|
15
|
+
@entity 'cat'
|
16
|
+
|
17
|
+
class @Dog extends Joosy.Resource.REST
|
18
|
+
@entity 'dog'
|
19
|
+
@source '/cuties'
|
20
|
+
|
13
21
|
beforeEach ->
|
14
22
|
@server = sinon.fakeServer.create()
|
15
23
|
|
@@ -21,6 +29,18 @@ describe "Joosy.Resource.REST", ->
|
|
21
29
|
expect(target.url).toMatch url
|
22
30
|
target.respond 200, 'Content-Type': 'application/json', data
|
23
31
|
|
32
|
+
it "build base path", ->
|
33
|
+
parent = FluffyParent.build 1
|
34
|
+
grandParent = FluffyParent.build 666
|
35
|
+
|
36
|
+
expect(Animal.Cat.basePath()).toEqual '/animal/cats'
|
37
|
+
expect(Animal.Cat.basePath parent: parent).toEqual '/fluffy_parents/1/animal/cats'
|
38
|
+
expect(Animal.Cat.basePath parent: [grandParent, parent]).toEqual '/fluffy_parents/666/fluffy_parents/1/animal/cats'
|
39
|
+
|
40
|
+
expect(Animal.Dog.basePath()).toEqual '/cuties'
|
41
|
+
expect(Animal.Dog.basePath parent: parent).toEqual '/fluffy_parents/1/cuties'
|
42
|
+
expect(Animal.Dog.basePath parent: [grandParent, parent]).toEqual '/fluffy_parents/666/fluffy_parents/1/cuties'
|
43
|
+
|
24
44
|
it "builds member path", ->
|
25
45
|
parent = FluffyParent.build 1
|
26
46
|
grandParent = FluffyParent.build 666
|
@@ -41,7 +61,6 @@ describe "Joosy.Resource.REST", ->
|
|
41
61
|
expect(Fluffy.collectionPath parent: parent, from: 'test').toEqual '/fluffy_parents/1/fluffies/test'
|
42
62
|
expect(Fluffy.collectionPath parent: parent, from: 'test', params: {foo: 'bar'}).toEqual '/fluffy_parents/1/fluffies/test'
|
43
63
|
|
44
|
-
|
45
64
|
describe "finds resource", ->
|
46
65
|
rawData = '{"fluffy": {"id": 1, "name": "test1"}}'
|
47
66
|
|
@@ -141,7 +141,7 @@ describe "Joosy.Router", ->
|
|
141
141
|
|
142
142
|
Joosy.Application.setCurrentPage.restore()
|
143
143
|
Joosy.Router.restrict false
|
144
|
-
|
144
|
+
|
145
145
|
it "should DRAW simple routes, only using match and root", ->
|
146
146
|
Joosy.Router.map
|
147
147
|
'/': spies.root
|
@@ -150,14 +150,14 @@ describe "Joosy.Router", ->
|
|
150
150
|
raw_routes_for_map = Joosy.Router.rawRoutes
|
151
151
|
|
152
152
|
Joosy.Router.reset()
|
153
|
-
|
153
|
+
|
154
154
|
Joosy.Router.draw ->
|
155
155
|
@root to: spies.root
|
156
156
|
@match '/page', to: TestPage
|
157
157
|
@notFound to: spies.wildcard
|
158
|
-
|
158
|
+
|
159
159
|
expect(Joosy.Router.rawRoutes).toEqual(raw_routes_for_map)
|
160
|
-
|
160
|
+
|
161
161
|
it "should DRAW namespaced routes", ->
|
162
162
|
Joosy.Router.map
|
163
163
|
'/': spies.root
|
@@ -169,7 +169,7 @@ describe "Joosy.Router", ->
|
|
169
169
|
rawRoutesForMap = Joosy.Router.rawRoutes
|
170
170
|
|
171
171
|
Joosy.Router.reset()
|
172
|
-
|
172
|
+
|
173
173
|
Joosy.Router.draw ->
|
174
174
|
@root to: spies.root
|
175
175
|
@match '/page', to: TestPage
|
@@ -177,25 +177,25 @@ describe "Joosy.Router", ->
|
|
177
177
|
@match '/page/:id', to: spies.section
|
178
178
|
@match '/page2/:more', to: TestPage
|
179
179
|
@notFound to: spies.wildcard
|
180
|
-
|
180
|
+
|
181
181
|
expect(Joosy.Router.rawRoutes).toEqual(rawRoutesForMap)
|
182
|
-
|
182
|
+
|
183
183
|
it "should DRAW simple route reverses, only using match and root", ->
|
184
184
|
Joosy.Router.draw ->
|
185
185
|
@root to: spies.root
|
186
186
|
@match '/page', to: TestPage, as: "page"
|
187
187
|
@match '/page/:id', to: TestPage, as: "pageFor"
|
188
188
|
@notFound to: spies.wildcard
|
189
|
-
|
189
|
+
|
190
190
|
validate = ->
|
191
191
|
expect(@rootUrl).not.toEqual undefined
|
192
192
|
expect(@rootPath).not.toEqual undefined
|
193
|
-
|
193
|
+
|
194
194
|
expect(@rootPath()).toEqual "#!/"
|
195
195
|
expect(@pagePath()).toEqual "#!/page"
|
196
196
|
expect(@pageForPath(id: 3)).toEqual "#!/page/3"
|
197
197
|
validate.call(Joosy.Helpers.Application)
|
198
|
-
|
198
|
+
|
199
199
|
it "should DRAW more complex reverses using namespaces", ->
|
200
200
|
Joosy.Router.draw ->
|
201
201
|
@namespace '/projects', as: "projects", ->
|
@@ -203,11 +203,13 @@ describe "Joosy.Router", ->
|
|
203
203
|
@namespace "/:id", ->
|
204
204
|
@match "/", to: TestPage, as: "show"
|
205
205
|
@match "/edit", to: TestPage, as: "edit"
|
206
|
-
|
207
|
-
|
206
|
+
|
207
|
+
@namespace '/subnamespace', as: 'subnamespace', ->
|
208
|
+
@match '/', to: TestPage, as: 'index'
|
209
|
+
|
208
210
|
@namespace '/tickets', ->
|
209
211
|
@match "/", to: TestPage, as: "tasksIndex"
|
210
|
-
|
212
|
+
|
211
213
|
@namespace '/activities', ->
|
212
214
|
@root to: TestPage, as: "activities"
|
213
215
|
|
@@ -215,19 +217,20 @@ describe "Joosy.Router", ->
|
|
215
217
|
expect(@projectsIndexPath).not.toEqual undefined
|
216
218
|
expect(@projectsIndexPath()).not.toEqual "#!/projects"
|
217
219
|
expect(@projectsIndexPath()).toEqual "#!/projects/"
|
218
|
-
|
220
|
+
|
219
221
|
expect(@projectsShowPath(id: 3)).toEqual "#!/projects/3/"
|
220
222
|
expect(@projectsEditPath(id: 3)).toEqual "#!/projects/3/edit"
|
221
|
-
|
222
|
-
|
223
|
+
|
223
224
|
expect(@tasksIndexPath()).toEqual "#!/tickets/"
|
224
225
|
expect(@activitiesPath()).toEqual "#!/activities/"
|
226
|
+
|
227
|
+
expect(@projectsSubnamespaceIndexPath()).toEqual '#!/projects/subnamespace/'
|
225
228
|
validate.call(Joosy.Helpers.Application)
|
226
|
-
|
229
|
+
|
227
230
|
it "should return reverse url with hostname and pathname", ->
|
228
231
|
Joosy.Router.draw ->
|
229
232
|
@match "/projects/", to: TestPage, as: "projectsIndex"
|
230
|
-
|
233
|
+
|
231
234
|
validate = ->
|
232
235
|
expect(@projectsIndexPath()).toEqual "#!/projects/"
|
233
236
|
expect(@projectsIndexUrl()).toEqual "http://localhost:8888/#!/projects/"
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: joosy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.0
|
5
|
-
prerelease: 6
|
4
|
+
version: 1.1.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Boris Staal
|
@@ -12,118 +11,104 @@ authors:
|
|
12
11
|
autorequire:
|
13
12
|
bindir: bin
|
14
13
|
cert_chain: []
|
15
|
-
date: 2013-
|
14
|
+
date: 2013-06-23 00:00:00.000000000 Z
|
16
15
|
dependencies:
|
17
16
|
- !ruby/object:Gem::Dependency
|
18
17
|
name: sprockets
|
19
18
|
requirement: !ruby/object:Gem::Requirement
|
20
|
-
none: false
|
21
19
|
requirements:
|
22
|
-
- -
|
20
|
+
- - '>='
|
23
21
|
- !ruby/object:Gem::Version
|
24
22
|
version: '0'
|
25
23
|
type: :runtime
|
26
24
|
prerelease: false
|
27
25
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
26
|
requirements:
|
30
|
-
- -
|
27
|
+
- - '>='
|
31
28
|
- !ruby/object:Gem::Version
|
32
29
|
version: '0'
|
33
30
|
- !ruby/object:Gem::Dependency
|
34
31
|
name: haml_coffee_assets
|
35
32
|
requirement: !ruby/object:Gem::Requirement
|
36
|
-
none: false
|
37
33
|
requirements:
|
38
|
-
- -
|
34
|
+
- - '>='
|
39
35
|
- !ruby/object:Gem::Version
|
40
36
|
version: '0'
|
41
37
|
type: :runtime
|
42
38
|
prerelease: false
|
43
39
|
version_requirements: !ruby/object:Gem::Requirement
|
44
|
-
none: false
|
45
40
|
requirements:
|
46
|
-
- -
|
41
|
+
- - '>='
|
47
42
|
- !ruby/object:Gem::Version
|
48
43
|
version: '0'
|
49
44
|
- !ruby/object:Gem::Dependency
|
50
45
|
name: jquery-rails
|
51
46
|
requirement: !ruby/object:Gem::Requirement
|
52
|
-
none: false
|
53
47
|
requirements:
|
54
|
-
- -
|
48
|
+
- - '>='
|
55
49
|
- !ruby/object:Gem::Version
|
56
50
|
version: '0'
|
57
51
|
type: :development
|
58
52
|
prerelease: false
|
59
53
|
version_requirements: !ruby/object:Gem::Requirement
|
60
|
-
none: false
|
61
54
|
requirements:
|
62
|
-
- -
|
55
|
+
- - '>='
|
63
56
|
- !ruby/object:Gem::Version
|
64
57
|
version: '0'
|
65
58
|
- !ruby/object:Gem::Dependency
|
66
59
|
name: guard
|
67
60
|
requirement: !ruby/object:Gem::Requirement
|
68
|
-
none: false
|
69
61
|
requirements:
|
70
|
-
- -
|
62
|
+
- - '>='
|
71
63
|
- !ruby/object:Gem::Version
|
72
64
|
version: '0'
|
73
65
|
type: :development
|
74
66
|
prerelease: false
|
75
67
|
version_requirements: !ruby/object:Gem::Requirement
|
76
|
-
none: false
|
77
68
|
requirements:
|
78
|
-
- -
|
69
|
+
- - '>='
|
79
70
|
- !ruby/object:Gem::Version
|
80
71
|
version: '0'
|
81
72
|
- !ruby/object:Gem::Dependency
|
82
73
|
name: guard-coffeescript
|
83
74
|
requirement: !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
75
|
requirements:
|
86
|
-
- -
|
76
|
+
- - '>='
|
87
77
|
- !ruby/object:Gem::Version
|
88
78
|
version: '0'
|
89
79
|
type: :development
|
90
80
|
prerelease: false
|
91
81
|
version_requirements: !ruby/object:Gem::Requirement
|
92
|
-
none: false
|
93
82
|
requirements:
|
94
|
-
- -
|
83
|
+
- - '>='
|
95
84
|
- !ruby/object:Gem::Version
|
96
85
|
version: '0'
|
97
86
|
- !ruby/object:Gem::Dependency
|
98
87
|
name: guard-sprockets
|
99
88
|
requirement: !ruby/object:Gem::Requirement
|
100
|
-
none: false
|
101
89
|
requirements:
|
102
|
-
- -
|
90
|
+
- - '>='
|
103
91
|
- !ruby/object:Gem::Version
|
104
92
|
version: '0'
|
105
93
|
type: :development
|
106
94
|
prerelease: false
|
107
95
|
version_requirements: !ruby/object:Gem::Requirement
|
108
|
-
none: false
|
109
96
|
requirements:
|
110
|
-
- -
|
97
|
+
- - '>='
|
111
98
|
- !ruby/object:Gem::Version
|
112
99
|
version: '0'
|
113
100
|
- !ruby/object:Gem::Dependency
|
114
101
|
name: jasmine
|
115
102
|
requirement: !ruby/object:Gem::Requirement
|
116
|
-
none: false
|
117
103
|
requirements:
|
118
|
-
- -
|
104
|
+
- - '>='
|
119
105
|
- !ruby/object:Gem::Version
|
120
106
|
version: '0'
|
121
107
|
type: :development
|
122
108
|
prerelease: false
|
123
109
|
version_requirements: !ruby/object:Gem::Requirement
|
124
|
-
none: false
|
125
110
|
requirements:
|
126
|
-
- -
|
111
|
+
- - '>='
|
127
112
|
- !ruby/object:Gem::Version
|
128
113
|
version: '0'
|
129
114
|
description: A gem wrapper to include Joosy via the asset pipeline.
|
@@ -188,6 +173,7 @@ files:
|
|
188
173
|
- lib/rails/generators/joosy/templates/app/pages/template.js.coffee
|
189
174
|
- lib/rails/generators/joosy/templates/app/pages/welcome/index.js.coffee
|
190
175
|
- lib/rails/generators/joosy/templates/app/resources/template.js.coffee
|
176
|
+
- lib/rails/generators/joosy/templates/app/resources/template_with_namespace.js.coffee
|
191
177
|
- lib/rails/generators/joosy/templates/app/routes.js.coffee
|
192
178
|
- lib/rails/generators/joosy/templates/app/templates/layouts/application.jst.hamlc
|
193
179
|
- lib/rails/generators/joosy/templates/app/templates/pages/welcome/index.jst.hamlc
|
@@ -240,27 +226,25 @@ files:
|
|
240
226
|
- vendor/assets/javascripts/sugar.js
|
241
227
|
homepage: http://github.com/joosy/joosy
|
242
228
|
licenses: []
|
229
|
+
metadata: {}
|
243
230
|
post_install_message:
|
244
231
|
rdoc_options: []
|
245
232
|
require_paths:
|
246
233
|
- lib
|
247
234
|
required_ruby_version: !ruby/object:Gem::Requirement
|
248
|
-
none: false
|
249
235
|
requirements:
|
250
|
-
- -
|
236
|
+
- - '>='
|
251
237
|
- !ruby/object:Gem::Version
|
252
238
|
version: '0'
|
253
239
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
254
|
-
none: false
|
255
240
|
requirements:
|
256
|
-
- -
|
241
|
+
- - '>='
|
257
242
|
- !ruby/object:Gem::Version
|
258
|
-
version:
|
243
|
+
version: '0'
|
259
244
|
requirements: []
|
260
245
|
rubyforge_project:
|
261
|
-
rubygems_version:
|
246
|
+
rubygems_version: 2.0.2
|
262
247
|
signing_key:
|
263
|
-
specification_version:
|
248
|
+
specification_version: 4
|
264
249
|
summary: Joosy Framework support for Ruby on Rails
|
265
250
|
test_files: []
|
266
|
-
has_rdoc:
|