angular_sprinkles 0.2.9 → 0.2.10
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 +4 -4
- data/VERSION +1 -1
- data/angular_sprinkles.gemspec +5 -5
- data/lib/angular_sprinkles.rb +1 -1
- data/lib/angular_sprinkles/cache.rb +19 -0
- data/lib/angular_sprinkles/key_generator.rb +7 -1
- data/lib/angular_sprinkles/mixins/controller.rb +5 -3
- data/spec/angular_sprinkles/{content_cache_spec.rb → cache_spec.rb} +8 -1
- data/spec/angular_sprinkles/key_generator_spec.rb +8 -2
- data/spec/dummy/app/views/test/bind_form_for_helper.html.erb +0 -3
- metadata +4 -4
- data/lib/angular_sprinkles/content_cache.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff497a789844351965389703418e3b5cae9b1c0c
|
4
|
+
data.tar.gz: 4d438528165b334ccea8b9c847cdcc6cea92cd4a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c6d40cdf9eca41e89d92bc60a91b93996a207b3bb65f536991091c14453dd94ec506de92c4bfa3f5db005aee0700f94eb5898a8e0c6e0b56206a79c5ff6b4f7d
|
7
|
+
data.tar.gz: bb5d25e126014778a1219b391884df2865df8d8f4d0493938513587420aca99f0a1af6d44a4ce9b88558b5370b2d03d39c4cf394e70ec3aa2bd141d6862e5a6d
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.10
|
data/angular_sprinkles.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: angular_sprinkles 0.2.
|
5
|
+
# stub: angular_sprinkles 0.2.10 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "angular_sprinkles"
|
9
|
-
s.version = "0.2.
|
9
|
+
s.version = "0.2.10"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["Gabe Scholz"]
|
14
|
-
s.date = "2014-10-
|
14
|
+
s.date = "2014-10-18"
|
15
15
|
s.description = "Add a few sprinkles of AngularJS to your Rails App"
|
16
16
|
s.email = "gabe@brewhouse.io"
|
17
17
|
s.extra_rdoc_files = [
|
@@ -29,9 +29,9 @@ Gem::Specification.new do |s|
|
|
29
29
|
"app/assets/javascripts/angular_sprinkles.js.erb",
|
30
30
|
"circle.yml",
|
31
31
|
"lib/angular_sprinkles.rb",
|
32
|
+
"lib/angular_sprinkles/cache.rb",
|
32
33
|
"lib/angular_sprinkles/constructor.rb",
|
33
34
|
"lib/angular_sprinkles/constructor_collection.rb",
|
34
|
-
"lib/angular_sprinkles/content_cache.rb",
|
35
35
|
"lib/angular_sprinkles/content_yielder.rb",
|
36
36
|
"lib/angular_sprinkles/context.rb",
|
37
37
|
"lib/angular_sprinkles/counter.rb",
|
@@ -55,9 +55,9 @@ Gem::Specification.new do |s|
|
|
55
55
|
"lib/angular_sprinkles/model_decorator.rb",
|
56
56
|
"lib/angular_sprinkles/object_key_wrapper.rb",
|
57
57
|
"lib/angular_sprinkles/railtie.rb",
|
58
|
+
"spec/angular_sprinkles/cache_spec.rb",
|
58
59
|
"spec/angular_sprinkles/constructor_collection_spec.rb",
|
59
60
|
"spec/angular_sprinkles/constructor_spec.rb",
|
60
|
-
"spec/angular_sprinkles/content_cache_spec.rb",
|
61
61
|
"spec/angular_sprinkles/content_yielder_spec.rb",
|
62
62
|
"spec/angular_sprinkles/context_spec.rb",
|
63
63
|
"spec/angular_sprinkles/counter_spec.rb",
|
data/lib/angular_sprinkles.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
+
require "angular_sprinkles/cache"
|
1
2
|
require "angular_sprinkles/constructor"
|
2
3
|
require "angular_sprinkles/constructor_collection"
|
3
|
-
require "angular_sprinkles/content_cache"
|
4
4
|
require "angular_sprinkles/content_yielder"
|
5
5
|
require "angular_sprinkles/directive/attributes"
|
6
6
|
require "angular_sprinkles/directive/input"
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module AngularSprinkles
|
2
|
+
class Cache
|
3
|
+
def initialize
|
4
|
+
@store = {}
|
5
|
+
end
|
6
|
+
|
7
|
+
def get(key)
|
8
|
+
@store[key]
|
9
|
+
end
|
10
|
+
|
11
|
+
def set(key, content = true)
|
12
|
+
@store[key] = content
|
13
|
+
end
|
14
|
+
|
15
|
+
def set?(key)
|
16
|
+
@store.has_key?(key)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -2,13 +2,19 @@ module AngularSprinkles
|
|
2
2
|
class KeyGenerator
|
3
3
|
def initialize(args)
|
4
4
|
@counter = args.fetch(:counter)
|
5
|
+
@cache = args.fetch(:cache)
|
5
6
|
end
|
6
7
|
|
7
8
|
def call(object)
|
9
|
+
return @cache.get(object) if @cache.set?(object)
|
10
|
+
|
8
11
|
klass = "#{object.class}".gsub("::", "__")
|
9
12
|
count = @counter.inc(klass)
|
13
|
+
generated_key = "#{klass}_#{count}"
|
14
|
+
|
15
|
+
@cache.set(object, generated_key)
|
10
16
|
|
11
|
-
|
17
|
+
generated_key
|
12
18
|
end
|
13
19
|
end
|
14
20
|
end
|
@@ -2,8 +2,10 @@ module AngularSprinkles
|
|
2
2
|
module Mixins
|
3
3
|
module Controller
|
4
4
|
def initialize(*args)
|
5
|
-
|
6
|
-
|
5
|
+
key_generator = KeyGenerator.new({
|
6
|
+
counter: Counter.new,
|
7
|
+
cache: Cache.new
|
8
|
+
})
|
7
9
|
|
8
10
|
constructor_collection = ConstructorCollection.new({
|
9
11
|
json_wrapper: JavaScript::ConstructorThis,
|
@@ -40,7 +42,7 @@ module AngularSprinkles
|
|
40
42
|
def view_context
|
41
43
|
super.tap do |context|
|
42
44
|
@_sprinkles.content_yielder = ContentYielder.new({
|
43
|
-
cache:
|
45
|
+
cache: Cache.new,
|
44
46
|
context: context,
|
45
47
|
yield_to: JavaScript::PREFIX
|
46
48
|
})
|
@@ -1,7 +1,8 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe AngularSprinkles::
|
3
|
+
describe AngularSprinkles::Cache do
|
4
4
|
let(:key) { 'key' }
|
5
|
+
let(:content) { Object.new }
|
5
6
|
|
6
7
|
subject { described_class.new }
|
7
8
|
|
@@ -12,4 +13,10 @@ describe AngularSprinkles::ContentCache do
|
|
12
13
|
|
13
14
|
expect(subject.set?(key)).to eq(true)
|
14
15
|
end
|
16
|
+
|
17
|
+
it 'can get a key' do
|
18
|
+
subject.set(key, content)
|
19
|
+
|
20
|
+
expect(subject.get(key)).to be(content)
|
21
|
+
end
|
15
22
|
end
|
@@ -1,11 +1,12 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe AngularSprinkles::KeyGenerator do
|
4
|
-
let(:counter) {
|
4
|
+
let(:counter) { AngularSprinkles::Counter.new }
|
5
|
+
let(:cache) { AngularSprinkles::Cache.new }
|
5
6
|
let(:inc) { 1 }
|
6
7
|
let(:object) { double(class: AngularSprinkles) }
|
7
8
|
|
8
|
-
subject { described_class.new(counter: counter) }
|
9
|
+
subject { described_class.new(counter: counter, cache: cache) }
|
9
10
|
|
10
11
|
it "returns a suitable variable name" do
|
11
12
|
expect(subject.call(object)).to eq("#{object.class}_#{inc}")
|
@@ -14,4 +15,9 @@ describe AngularSprinkles::KeyGenerator do
|
|
14
15
|
it "it substitutes :: for __ in nested classes" do
|
15
16
|
expect(subject.call(subject)).to eq("AngularSprinkles__KeyGenerator_#{inc}")
|
16
17
|
end
|
18
|
+
|
19
|
+
it "returns the same key if the object is used twice" do
|
20
|
+
expect(subject.call(object)).to eq("#{object.class}_#{inc}")
|
21
|
+
expect(subject.call(object)).to eq("#{object.class}_#{inc}")
|
22
|
+
end
|
17
23
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: angular_sprinkles
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gabe Scholz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -76,9 +76,9 @@ files:
|
|
76
76
|
- app/assets/javascripts/angular_sprinkles.js.erb
|
77
77
|
- circle.yml
|
78
78
|
- lib/angular_sprinkles.rb
|
79
|
+
- lib/angular_sprinkles/cache.rb
|
79
80
|
- lib/angular_sprinkles/constructor.rb
|
80
81
|
- lib/angular_sprinkles/constructor_collection.rb
|
81
|
-
- lib/angular_sprinkles/content_cache.rb
|
82
82
|
- lib/angular_sprinkles/content_yielder.rb
|
83
83
|
- lib/angular_sprinkles/context.rb
|
84
84
|
- lib/angular_sprinkles/counter.rb
|
@@ -102,9 +102,9 @@ files:
|
|
102
102
|
- lib/angular_sprinkles/model_decorator.rb
|
103
103
|
- lib/angular_sprinkles/object_key_wrapper.rb
|
104
104
|
- lib/angular_sprinkles/railtie.rb
|
105
|
+
- spec/angular_sprinkles/cache_spec.rb
|
105
106
|
- spec/angular_sprinkles/constructor_collection_spec.rb
|
106
107
|
- spec/angular_sprinkles/constructor_spec.rb
|
107
|
-
- spec/angular_sprinkles/content_cache_spec.rb
|
108
108
|
- spec/angular_sprinkles/content_yielder_spec.rb
|
109
109
|
- spec/angular_sprinkles/context_spec.rb
|
110
110
|
- spec/angular_sprinkles/counter_spec.rb
|