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 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: