angular_sprinkles 0.0.4 → 0.0.5
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/Gemfile +9 -8
- data/Gemfile.lock +41 -13
- data/LICENSE.txt +1 -1
- data/README.md +4 -38
- data/Rakefile +20 -37
- data/VERSION +1 -1
- data/angular_sprinkles.gemspec +104 -41
- data/app/assets/javascripts/angular_sprinkles.js.erb +1 -22
- data/lib/angular_sprinkles/constructor.rb +12 -0
- data/lib/angular_sprinkles/constructor_collection.rb +20 -0
- data/lib/angular_sprinkles/content_cache.rb +15 -0
- data/lib/angular_sprinkles/content_yielder.rb +19 -0
- data/lib/angular_sprinkles/context.rb +13 -0
- data/lib/angular_sprinkles/controller.rb +38 -65
- data/lib/angular_sprinkles/counter.rb +12 -0
- data/lib/angular_sprinkles/directive/attributes.rb +16 -0
- data/lib/angular_sprinkles/directive/input.rb +19 -0
- data/lib/angular_sprinkles/directive/name.rb +19 -0
- data/lib/angular_sprinkles/directive/options.rb +13 -0
- data/lib/angular_sprinkles/helpers/directive_helper.rb +7 -20
- data/lib/angular_sprinkles/helpers/service_helper.rb +14 -0
- data/lib/angular_sprinkles/helpers.rb +2 -7
- data/lib/angular_sprinkles/java_script.rb +55 -0
- data/lib/angular_sprinkles/key_generator.rb +14 -0
- data/lib/angular_sprinkles/model_decorator.rb +16 -0
- data/lib/angular_sprinkles/object_key_wrapper.rb +12 -0
- data/lib/angular_sprinkles.rb +20 -14
- data/spec/angular_sprinkles/constructor_collection_spec.rb +22 -0
- data/spec/angular_sprinkles/constructor_spec.rb +12 -0
- data/spec/angular_sprinkles/content_cache_spec.rb +15 -0
- data/spec/angular_sprinkles/content_yielder_spec.rb +45 -0
- data/spec/angular_sprinkles/context_spec.rb +22 -0
- data/spec/angular_sprinkles/counter_spec.rb +15 -0
- data/spec/angular_sprinkles/directive/attributes_spec.rb +24 -0
- data/spec/angular_sprinkles/directive/input_spec.rb +11 -0
- data/spec/angular_sprinkles/directive/name_spec.rb +11 -0
- data/spec/angular_sprinkles/directive/options_spec.rb +11 -0
- data/spec/angular_sprinkles/key_generator_spec.rb +17 -0
- data/spec/angular_sprinkles/model_decorator_spec.rb +24 -0
- data/spec/angular_sprinkles/object_key_wrapper_spec.rb +17 -0
- data/spec/controllers/test_controller_spec.rb +20 -0
- data/spec/dummy/.rspec +3 -0
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/images/.keep +0 -0
- data/spec/dummy/app/assets/javascripts/application.js +30 -0
- data/spec/dummy/app/assets/stylesheets/application.css +15 -0
- data/spec/dummy/app/controllers/application_controller.rb +5 -0
- data/spec/dummy/app/controllers/concerns/.keep +0 -0
- data/spec/dummy/app/controllers/test_controller.rb +5 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/mailers/.keep +0 -0
- data/spec/dummy/app/models/.keep +0 -0
- data/spec/dummy/app/models/concerns/.keep +0 -0
- data/spec/dummy/app/models/test_model.rb +2 -0
- data/spec/dummy/app/views/layouts/application.html.erb +15 -0
- data/spec/dummy/app/views/test/new.html.erb +9 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/config/application.rb +29 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +37 -0
- data/spec/dummy/config/environments/production.rb +82 -0
- data/spec/dummy/config/environments/test.rb +39 -0
- data/spec/dummy/config/initializers/assets.rb +8 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/routes.rb +57 -0
- data/spec/dummy/config/secrets.yml +22 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/db/migrate/20140908021353_create_test_models.rb +9 -0
- data/spec/dummy/db/schema.rb +22 -0
- data/spec/dummy/lib/assets/.keep +0 -0
- data/spec/dummy/log/.keep +0 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/features/javascript_spec.rb +26 -0
- data/spec/rails_helper.rb +21 -0
- data/spec/spec_helper.rb +82 -21
- metadata +103 -29
- data/.document +0 -5
- data/.rspec +0 -1
- data/lib/angular_sprinkles/data/bind.rb +0 -18
- data/lib/angular_sprinkles/decorators/bind_decorator.rb +0 -61
- data/lib/angular_sprinkles/decorators.rb +0 -6
- data/lib/angular_sprinkles/helpers/bind_helper.rb +0 -56
- data/lib/angular_sprinkles/helpers/bind_service_helper.rb +0 -27
- data/lib/angular_sprinkles/mixins/cache.rb +0 -11
- data/lib/angular_sprinkles/mixins/js_transformable.rb +0 -27
- data/lib/angular_sprinkles/variable_cache.rb +0 -19
- data/spec/controller_spec.rb +0 -74
- data/spec/data/bind_spec.rb +0 -11
- data/spec/decorators/bind_decorator_spec.rb +0 -56
- data/spec/helpers/bind_helper_spec.rb +0 -94
- data/spec/helpers/directive_helper_spec.rb +0 -66
- data/spec/mixins/js_transformable_spec.rb +0 -45
- data/spec/variable_cache_spec.rb +0 -57
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe AngularSprinkles::Helpers::DirectiveHelper do
|
|
4
|
-
class StubClass
|
|
5
|
-
include AngularSprinkles::Helpers::DirectiveHelper
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
let(:stub) { StubClass.new }
|
|
9
|
-
let(:var) { 'brewhouse' }
|
|
10
|
-
let(:var2) { 'software' }
|
|
11
|
-
let(:var_binded) { AngularSprinkles::Data::Bind.new(var) }
|
|
12
|
-
let(:var2_binded) { AngularSprinkles::Data::Bind.new(var2) }
|
|
13
|
-
|
|
14
|
-
it 'renders a tag' do
|
|
15
|
-
html = stub.directive(:blink)
|
|
16
|
-
|
|
17
|
-
expect(html).to eq('<div data-blink=""></div>')
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
it 'renders a tag for multiple directives' do
|
|
21
|
-
html = stub.directive([:blink, :block])
|
|
22
|
-
|
|
23
|
-
expect(html).to eq('<div data-blink="" data-block=""></div>')
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
it 'renders a tag with initial values' do
|
|
27
|
-
html = stub.directive(:blink, { input: 42 })
|
|
28
|
-
|
|
29
|
-
expect(html).to eq('<div data-blink="" data-input="42"></div>')
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
it 'renders a tag with a binding as the initial value' do
|
|
33
|
-
html = stub.directive(:blink, { input: var_binded, some_other_input: [1,2,3] })
|
|
34
|
-
|
|
35
|
-
expect(html).
|
|
36
|
-
to eq(%{<div data-blink="" data-input="#{AngularSprinkles::CONTROLLER_NAME}.#{var}" data-some-other-input="[1,2,3]"></div>})
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
it 'renders a tag with a nested binding as the initial value' do
|
|
40
|
-
html = stub.directive(:blink, { input: var2_binded })
|
|
41
|
-
|
|
42
|
-
expect(html).
|
|
43
|
-
to eq(%{<div data-blink="" data-input="#{AngularSprinkles::CONTROLLER_NAME}.#{var2}"></div>})
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
it 'renders a tag with class and style' do
|
|
47
|
-
klass = 'brewhouse'
|
|
48
|
-
style = 'color:red;'
|
|
49
|
-
|
|
50
|
-
html = stub.directive(:blink, {}, { class: klass, style: style })
|
|
51
|
-
|
|
52
|
-
expect(html).to eq(%{<div class="#{klass}" data-blink="" style="#{style}"></div>})
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
it 'raises an exception if the name is not a string, symbol, or array' do
|
|
56
|
-
expect { stub.directive(Object.new) }.to raise_error(TypeError)
|
|
57
|
-
expect { stub.directive(1) }.to raise_error(TypeError)
|
|
58
|
-
expect { stub.directive({}) }.to raise_error(TypeError)
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
it 'raises an exception if the input and options are not hashes' do
|
|
62
|
-
expect { stub.directive(:blink, 1) }.to raise_error(TypeError)
|
|
63
|
-
expect { stub.directive(:blink, {}, :brewhouse) }.to raise_error(TypeError)
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
end
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe AngularSprinkles::Mixins::JsTransformable do
|
|
4
|
-
class StubClass
|
|
5
|
-
include AngularSprinkles::Mixins::JsTransformable
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
let(:stub_class) { StubClass.new }
|
|
9
|
-
|
|
10
|
-
describe "#to_ctrl_variable" do
|
|
11
|
-
it 'returns a javascript variable string' do
|
|
12
|
-
str = 'brewhouse'
|
|
13
|
-
|
|
14
|
-
expect(stub_class.to_ctrl_variable(str)).
|
|
15
|
-
to(eq("#{AngularSprinkles::CONTROLLER_NAME}.#{str}"))
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
describe "#set_prototype_variable" do
|
|
20
|
-
it 'returns a javascript variable string with a preset value' do
|
|
21
|
-
key, value = 'brewhouse', 'software'
|
|
22
|
-
|
|
23
|
-
expect(stub_class.set_prototype_variable(key, value)).
|
|
24
|
-
to(eq("#{AngularSprinkles::CONTROLLER_FN}.prototype.#{key} = #{AngularSprinkles::CONTROLLER_FN}.prototype.#{key} || #{value.to_json}"))
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
# these methods moved to private
|
|
29
|
-
|
|
30
|
-
# describe "#to_ctrl_prototype_variable" do
|
|
31
|
-
# it 'returns a javascript prototype variable string' do
|
|
32
|
-
# str = 'brewhouse'
|
|
33
|
-
|
|
34
|
-
# expect(stub_class.to_ctrl_prototype_variable(str)).
|
|
35
|
-
# to(eq("#{AngularSprinkles::CONTROLLER_FN}.prototype.#{str}"))
|
|
36
|
-
# end
|
|
37
|
-
# end
|
|
38
|
-
|
|
39
|
-
# describe "#or_equals_js" do
|
|
40
|
-
# it 'returns a javascript variable string' do
|
|
41
|
-
# expect(stub_class.or_equals_js('brewhouse', 'bacon')).
|
|
42
|
-
# to(eq('brewhouse = brewhouse || "bacon"'))
|
|
43
|
-
# end
|
|
44
|
-
# end
|
|
45
|
-
end
|
data/spec/variable_cache_spec.rb
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe AngularSprinkles::VariableCache do
|
|
4
|
-
let(:cache) { AngularSprinkles::VariableCache.new }
|
|
5
|
-
let(:desired_result) { 'a.b.c' }
|
|
6
|
-
|
|
7
|
-
it 'turns strings into symbolized arrays' do
|
|
8
|
-
var = 'a.b.c'
|
|
9
|
-
|
|
10
|
-
return_value = cache.yield_if_new(var) do |new_var|
|
|
11
|
-
expect(new_var).to eq(desired_result)
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
expect(return_value).to eq(true)
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
it 'flattens nested arrays' do
|
|
18
|
-
var = [:a, ['b', :c]]
|
|
19
|
-
|
|
20
|
-
cache.yield_if_new(var) do |new_var|
|
|
21
|
-
expect(new_var).to eq(desired_result)
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
it 'turns single elements into arrays' do
|
|
26
|
-
var = :a
|
|
27
|
-
|
|
28
|
-
cache.yield_if_new(var) do |new_var|
|
|
29
|
-
expect(new_var).to eq('a')
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
var = 'b'
|
|
33
|
-
|
|
34
|
-
cache.yield_if_new(var) do |new_var|
|
|
35
|
-
expect(new_var).to eq('b')
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
it 'removes nils' do
|
|
40
|
-
var = [:a, nil]
|
|
41
|
-
|
|
42
|
-
cache.yield_if_new(var) do |new_var|
|
|
43
|
-
expect(new_var).to eq('a')
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
it 'prevents the block from running multple times' do
|
|
48
|
-
some_lambda = -> { }
|
|
49
|
-
expect(some_lambda).to receive(:call).twice
|
|
50
|
-
|
|
51
|
-
cache.yield_if_new(:a) { |var| some_lambda.call }
|
|
52
|
-
cache.yield_if_new(:a) { |var| some_lambda.call }
|
|
53
|
-
cache.yield_if_new(:a) { |var| some_lambda.call }
|
|
54
|
-
cache.yield_if_new(:b) { |var| some_lambda.call }
|
|
55
|
-
cache.yield_if_new(:b) { |var| some_lambda.call }
|
|
56
|
-
end
|
|
57
|
-
end
|