modularity-rails 0.11.0 → 0.11.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -72,3 +72,15 @@ describe 'Cache', ->
72
72
  cache.get('one').should.equal(2)
73
73
  cache.get('two').should.equal(3)
74
74
 
75
+ describe 'with 2 parameters', ->
76
+
77
+ it 'parses the given array, and indexes on the given key', ->
78
+ ten = {id: 10, value: 'ten'}
79
+ twelve = {id: 12, value: 'twelve'}
80
+
81
+ cache.replaceAll [ten, twelve], 'id'
82
+
83
+ cache.length().should.equal 2
84
+ cache.get(10).should.equal ten
85
+ cache.get(12).should.equal twelve
86
+
@@ -1,3 +1,3 @@
1
1
  module ModularityRails
2
- VERSION = "0.11.0"
2
+ VERSION = "0.11.1"
3
3
  end
@@ -32,14 +32,21 @@ class window.modularity.Cache
32
32
  getMany: Cache::get_many
33
33
 
34
34
 
35
- # Replaces the cache with the given data.
36
- replace_all: (data) ->
37
- @cache = data
38
- replaceAll: Cache::replace_all
39
-
40
-
41
35
  # Returns the number of cached objects.
42
36
  length: () ->
43
- # TODO(KG): This doesn't work in IE8.
37
+ # NOTE(KG): This doesn't work in IE8.
44
38
  Object.keys(@cache).length
45
39
 
40
+
41
+ # Replaces the cache with the given data.
42
+ # When 'key' is given, treats 'data' as an array of objects, and indexes each element by the given key.
43
+ # When 'key' is not given, treats 'data' as an already indexed hash object.
44
+ replace_all: (data, key) ->
45
+ if key
46
+ # Key given --> index the data array.
47
+ @add(entry[key], entry) for entry in data
48
+ else
49
+ # Key not given --> use data as the new cache.
50
+ @cache = data
51
+ replaceAll: Cache::replace_all
52
+
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.11.0
4
+ version: 0.11.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-05-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70314680172540 !ruby/object:Gem::Requirement
16
+ requirement: &70319159978280 !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: *70314680172540
24
+ version_requirements: *70319159978280
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: capybara-webkit
27
- requirement: &70314680172120 !ruby/object:Gem::Requirement
27
+ requirement: &70319159977360 !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: *70314680172120
35
+ version_requirements: *70319159977360
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: evergreen
38
- requirement: &70314680171640 !ruby/object:Gem::Requirement
38
+ requirement: &70319159976860 !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: *70314680171640
46
+ version_requirements: *70319159976860
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rb-fsevent
49
- requirement: &70314680171160 !ruby/object:Gem::Requirement
49
+ requirement: &70319159976360 !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: *70314680171160
57
+ version_requirements: *70319159976360
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: guard-livereload
60
- requirement: &70314680170580 !ruby/object:Gem::Requirement
60
+ requirement: &70319159975780 !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: *70314680170580
68
+ version_requirements: *70319159975780
69
69
  description: Description of ModularityRails.
70
70
  email:
71
71
  - kevin.goslar@gmail.com