joosy 1.1.0.alpha.3 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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.alpha.2)
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.11.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
- <img src="http://roundlake.ru/assets/logo.png" align="right" />
49
-
50
- * Boris Staal ([@_inossidabile](http://twitter.com/#!/_inossidabile))
48
+ * Boris Staal ([@_inossidabile](http://twitter.com/#!/_inossidabile)) [![endorse](http://api.coderwall.com/inossidabile/endorsecount.png)](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))
@@ -155,6 +155,7 @@ class Joosy.Page extends Joosy.Module
155
155
  #
156
156
  @fetchSynchronized: (callback) ->
157
157
  @::__fetch = (complete) ->
158
+ @data = {}
158
159
  @synchronize (context) ->
159
160
  context.after -> complete()
160
161
  callback.call(this, context)
@@ -28,22 +28,45 @@ class Joosy.Resource.REST extends Joosy.Resource.Generic
28
28
  , ''
29
29
 
30
30
  #
31
- # Builds member path based on the given id.
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.memberPath(1, from: 'foo') # /resources/1/foo
36
+ # Resource.basePath() # /resources
38
37
  #
39
- @memberPath: (id, options={}) ->
40
- path = ("/" + @::__entityName.pluralize())
41
- path = @__source if @__source? && !options.parent?
42
- path += "/#{id}"
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 = ("/" + @::__entityName.pluralize())
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 (ads it to @rawRoutes)
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["as"].capitalize()
109
+ as = @__asNamespace + options.as.capitalize()
110
110
  else
111
- as = options["as"]
112
-
111
+ as = options.as
112
+
113
113
  routeName = @__namespace + route
114
114
 
115
115
  map = {}
116
- map[route] = options["to"]
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["as"] || "root"
131
- @match("/", to: options["to"], as: as)
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["to"])
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
- newScope.__asNamespace += "#{options["as"]}" if options["as"]
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 "projects_url" and "projects_path" functions
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 = 'http://' + window.location.host + window.location.pathname
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
@@ -1,3 +1,3 @@
1
1
  module Joosy
2
- VERSION = "1.1.0.alpha.3"
2
+ VERSION = "1.1.0"
3
3
  end
@@ -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 "match '#{file_name}' => '#{file_name}#index'"
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
- template "app/resources/template.js.coffee", "#{app_path}/resources/#{file_name}.js.coffee"
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
- unless class_path.size == 1
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
@@ -0,0 +1,4 @@
1
+ Joosy.namespace '<%= namespace_name %>', ->
2
+
3
+ class @<%= file_name.camelize %> extends Joosy.Resource.REST
4
+ @entity '<%= file_name %>'
@@ -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
- @match "/delete", to: TestPage, as: "delete"
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
- expect(@projectsDeletePath(id: 3)).toEqual "#!/projects/3/delete"
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.alpha.3
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-02-16 00:00:00.000000000 Z
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: 1.3.1
243
+ version: '0'
259
244
  requirements: []
260
245
  rubyforge_project:
261
- rubygems_version: 1.8.23
246
+ rubygems_version: 2.0.2
262
247
  signing_key:
263
- specification_version: 3
248
+ specification_version: 4
264
249
  summary: Joosy Framework support for Ruby on Rails
265
250
  test_files: []
266
- has_rdoc: