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.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -8
  3. data/Gemfile.lock +41 -13
  4. data/LICENSE.txt +1 -1
  5. data/README.md +4 -38
  6. data/Rakefile +20 -37
  7. data/VERSION +1 -1
  8. data/angular_sprinkles.gemspec +104 -41
  9. data/app/assets/javascripts/angular_sprinkles.js.erb +1 -22
  10. data/lib/angular_sprinkles/constructor.rb +12 -0
  11. data/lib/angular_sprinkles/constructor_collection.rb +20 -0
  12. data/lib/angular_sprinkles/content_cache.rb +15 -0
  13. data/lib/angular_sprinkles/content_yielder.rb +19 -0
  14. data/lib/angular_sprinkles/context.rb +13 -0
  15. data/lib/angular_sprinkles/controller.rb +38 -65
  16. data/lib/angular_sprinkles/counter.rb +12 -0
  17. data/lib/angular_sprinkles/directive/attributes.rb +16 -0
  18. data/lib/angular_sprinkles/directive/input.rb +19 -0
  19. data/lib/angular_sprinkles/directive/name.rb +19 -0
  20. data/lib/angular_sprinkles/directive/options.rb +13 -0
  21. data/lib/angular_sprinkles/helpers/directive_helper.rb +7 -20
  22. data/lib/angular_sprinkles/helpers/service_helper.rb +14 -0
  23. data/lib/angular_sprinkles/helpers.rb +2 -7
  24. data/lib/angular_sprinkles/java_script.rb +55 -0
  25. data/lib/angular_sprinkles/key_generator.rb +14 -0
  26. data/lib/angular_sprinkles/model_decorator.rb +16 -0
  27. data/lib/angular_sprinkles/object_key_wrapper.rb +12 -0
  28. data/lib/angular_sprinkles.rb +20 -14
  29. data/spec/angular_sprinkles/constructor_collection_spec.rb +22 -0
  30. data/spec/angular_sprinkles/constructor_spec.rb +12 -0
  31. data/spec/angular_sprinkles/content_cache_spec.rb +15 -0
  32. data/spec/angular_sprinkles/content_yielder_spec.rb +45 -0
  33. data/spec/angular_sprinkles/context_spec.rb +22 -0
  34. data/spec/angular_sprinkles/counter_spec.rb +15 -0
  35. data/spec/angular_sprinkles/directive/attributes_spec.rb +24 -0
  36. data/spec/angular_sprinkles/directive/input_spec.rb +11 -0
  37. data/spec/angular_sprinkles/directive/name_spec.rb +11 -0
  38. data/spec/angular_sprinkles/directive/options_spec.rb +11 -0
  39. data/spec/angular_sprinkles/key_generator_spec.rb +17 -0
  40. data/spec/angular_sprinkles/model_decorator_spec.rb +24 -0
  41. data/spec/angular_sprinkles/object_key_wrapper_spec.rb +17 -0
  42. data/spec/controllers/test_controller_spec.rb +20 -0
  43. data/spec/dummy/.rspec +3 -0
  44. data/spec/dummy/README.rdoc +28 -0
  45. data/spec/dummy/Rakefile +6 -0
  46. data/spec/dummy/app/assets/images/.keep +0 -0
  47. data/spec/dummy/app/assets/javascripts/application.js +30 -0
  48. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  49. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  50. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  51. data/spec/dummy/app/controllers/test_controller.rb +5 -0
  52. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  53. data/spec/dummy/app/mailers/.keep +0 -0
  54. data/spec/dummy/app/models/.keep +0 -0
  55. data/spec/dummy/app/models/concerns/.keep +0 -0
  56. data/spec/dummy/app/models/test_model.rb +2 -0
  57. data/spec/dummy/app/views/layouts/application.html.erb +15 -0
  58. data/spec/dummy/app/views/test/new.html.erb +9 -0
  59. data/spec/dummy/bin/bundle +3 -0
  60. data/spec/dummy/bin/rails +4 -0
  61. data/spec/dummy/bin/rake +4 -0
  62. data/spec/dummy/config/application.rb +29 -0
  63. data/spec/dummy/config/boot.rb +5 -0
  64. data/spec/dummy/config/database.yml +25 -0
  65. data/spec/dummy/config/environment.rb +5 -0
  66. data/spec/dummy/config/environments/development.rb +37 -0
  67. data/spec/dummy/config/environments/production.rb +82 -0
  68. data/spec/dummy/config/environments/test.rb +39 -0
  69. data/spec/dummy/config/initializers/assets.rb +8 -0
  70. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  71. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  72. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  73. data/spec/dummy/config/initializers/inflections.rb +16 -0
  74. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  75. data/spec/dummy/config/initializers/session_store.rb +3 -0
  76. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  77. data/spec/dummy/config/locales/en.yml +23 -0
  78. data/spec/dummy/config/routes.rb +57 -0
  79. data/spec/dummy/config/secrets.yml +22 -0
  80. data/spec/dummy/config.ru +4 -0
  81. data/spec/dummy/db/migrate/20140908021353_create_test_models.rb +9 -0
  82. data/spec/dummy/db/schema.rb +22 -0
  83. data/spec/dummy/lib/assets/.keep +0 -0
  84. data/spec/dummy/log/.keep +0 -0
  85. data/spec/dummy/public/404.html +67 -0
  86. data/spec/dummy/public/422.html +67 -0
  87. data/spec/dummy/public/500.html +66 -0
  88. data/spec/dummy/public/favicon.ico +0 -0
  89. data/spec/features/javascript_spec.rb +26 -0
  90. data/spec/rails_helper.rb +21 -0
  91. data/spec/spec_helper.rb +82 -21
  92. metadata +103 -29
  93. data/.document +0 -5
  94. data/.rspec +0 -1
  95. data/lib/angular_sprinkles/data/bind.rb +0 -18
  96. data/lib/angular_sprinkles/decorators/bind_decorator.rb +0 -61
  97. data/lib/angular_sprinkles/decorators.rb +0 -6
  98. data/lib/angular_sprinkles/helpers/bind_helper.rb +0 -56
  99. data/lib/angular_sprinkles/helpers/bind_service_helper.rb +0 -27
  100. data/lib/angular_sprinkles/mixins/cache.rb +0 -11
  101. data/lib/angular_sprinkles/mixins/js_transformable.rb +0 -27
  102. data/lib/angular_sprinkles/variable_cache.rb +0 -19
  103. data/spec/controller_spec.rb +0 -74
  104. data/spec/data/bind_spec.rb +0 -11
  105. data/spec/decorators/bind_decorator_spec.rb +0 -56
  106. data/spec/helpers/bind_helper_spec.rb +0 -94
  107. data/spec/helpers/directive_helper_spec.rb +0 -66
  108. data/spec/mixins/js_transformable_spec.rb +0 -45
  109. 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
@@ -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