modularity-rails 0.12.1 → 0.12.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -42,6 +42,8 @@ describe 'ajax_loader', ->
42
42
  it 'returns without calling the callback', ->
43
43
  spy.should.not.have.been.called
44
44
 
45
+ it 'fires the LOADING event'
46
+
45
47
  describe 'the request is already in progress', ->
46
48
 
47
49
  beforeEach ->
@@ -60,6 +62,8 @@ describe 'ajax_loader', ->
60
62
  it 'does not make another ajax request', ->
61
63
  jQuery.get.should.not.have.been.called
62
64
 
65
+ it "doesn't fire the LOADING event again"
66
+
63
67
  describe 'ajax request successful', ->
64
68
 
65
69
  beforeEach ->
@@ -74,6 +78,8 @@ describe 'ajax_loader', ->
74
78
  it 'replaces the cache callbacks with returned data', ->
75
79
  ajax_loader.cache.get(url).should.equal 'result'
76
80
 
81
+ it 'fires the LOADED event'
82
+
77
83
  describe 'the data has already been loaded', ->
78
84
 
79
85
     it 'calls the callback with the cached data', ->
@@ -84,6 +90,8 @@ describe 'ajax_loader', ->
84
90
  spy.should.have.been.called
85
91
  spy.should.have.been.calledWith "my data"
86
92
 
93
+ it "doesn't fire any events"
94
+
87
95
 
88
96
  describe 'with caching disabled', ->
89
97
 
@@ -33,6 +33,14 @@ describe 'PersistenceManager', ->
33
33
  persistence_manager.key.should.equal 'id'
34
34
 
35
35
 
36
+ describe 'add_all', ->
37
+
38
+ it 'adds the given data to the server_data cache', ->
39
+ spy = sinon.spy persistence_manager.server_data, 'add_all'
40
+ data = [{id: 1}, {id: 2}]
41
+ persistence_manager.add_all data
42
+ spy.should.have.been.calledOnce
43
+
36
44
  describe 'create', ->
37
45
  new_obj = {value: 'foo'}
38
46
 
@@ -1,3 +1,3 @@
1
1
  module ModularityRails
2
- VERSION = "0.12.1"
2
+ VERSION = "0.12.2"
3
3
  end
@@ -18,6 +18,12 @@ class window.modularity.AjaxLoader
18
18
  @caching = params.caching
19
19
 
20
20
 
21
+ # The different events that this widget can fire.
22
+ @events =
23
+ AJAX_LOADING: 'AJAX_LOADING' # Called when an AJAX request starts.
24
+ AJAX_LOADED: 'AJAX_LOADED' # Called when an AJAX request finishes.
25
+
26
+
21
27
  get: (url, callback) ->
22
28
  cached_value = @cache.get url
23
29
 
@@ -22,6 +22,11 @@ class modularity.PersistenceManager
22
22
  @loader = new modularity.AjaxLoader { cache: no }
23
23
 
24
24
 
25
+ # Adds the given data objects to the server cache.
26
+ add_all: (data) ->
27
+ @server_data.add_all data
28
+
29
+
25
30
  # Returns the URL to access the collection of objects.
26
31
  collection_url: ->
27
32
  "#{@base_url}.json"
@@ -65,14 +70,14 @@ class modularity.PersistenceManager
65
70
  # No data in client cache --> try to use server cache.
66
71
  server_obj = @server_data.get key
67
72
  if server_obj
68
- client_obj = @clone server_obj
73
+ client_obj = modularity.clone_hash server_obj
69
74
  @client_data.add client_obj
70
75
  return callback client_obj
71
76
 
72
77
  # No data on client at all --> load data from server.
73
78
  @loader.get "#{@base_url}/#{key}", (server_entry) =>
74
79
  @server_data.add server_entry
75
- client_entry = @clone server_entry
80
+ client_entry = modularity.clone_hash server_entry
76
81
  @client_data.add client_entry
77
82
  callback client_entry
78
83
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: modularity-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.1
4
+ version: 0.12.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-19 00:00:00.000000000 Z
12
+ date: 2012-05-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70133478527080 !ruby/object:Gem::Requirement
16
+ requirement: &70099005263540 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.1.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70133478527080
24
+ version_requirements: *70099005263540
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: capybara-webkit
27
- requirement: &70133478526560 !ruby/object:Gem::Requirement
27
+ requirement: &70099005262660 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70133478526560
35
+ version_requirements: *70099005262660
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: evergreen
38
- requirement: &70133478525980 !ruby/object:Gem::Requirement
38
+ requirement: &70099005261600 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70133478525980
46
+ version_requirements: *70099005261600
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rb-fsevent
49
- requirement: &70133478525420 !ruby/object:Gem::Requirement
49
+ requirement: &70099005260620 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70133478525420
57
+ version_requirements: *70099005260620
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: guard-livereload
60
- requirement: &70133478524900 !ruby/object:Gem::Requirement
60
+ requirement: &70099005276020 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70133478524900
68
+ version_requirements: *70099005276020
69
69
  description: Description of ModularityRails.
70
70
  email:
71
71
  - kevin.goslar@gmail.com