angular_sprinkles 0.3.0 → 0.3.1
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/README.md +7 -7
- data/VERSION +1 -1
- data/angular_sprinkles.gemspec +6 -6
- data/lib/angular_sprinkles.rb +1 -1
- data/lib/angular_sprinkles/helpers.rb +1 -1
- data/lib/angular_sprinkles/helpers/bind_helper.rb +1 -1
- data/lib/angular_sprinkles/helpers/controller_helper.rb +1 -1
- data/lib/angular_sprinkles/helpers/directive_helper.rb +1 -1
- data/lib/angular_sprinkles/helpers/{bind_form_for_helper.rb → form_for_helper.rb} +4 -4
- data/lib/angular_sprinkles/helpers/isolate_helper.rb +2 -2
- data/lib/angular_sprinkles/helpers/service_helper.rb +1 -1
- data/lib/angular_sprinkles/mixins/controller.rb +2 -2
- data/spec/dummy/app/controllers/test_controller.rb +3 -3
- data/spec/dummy/app/views/test/{bind_form_for_helper.html.erb → form_for_helper.html.erb} +2 -2
- data/spec/dummy/app/views/test/javascript_bindings.html.erb +10 -10
- data/spec/dummy/config/routes.rb +1 -1
- data/spec/features/{bind_form_for_helper_spec.rb → form_for_helper_spec.rb} +2 -2
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6236e4a158020b1d366b89fa9761c18337921ae2
|
4
|
+
data.tar.gz: de9a7e6434d94b56ee8e77a0b5d80053cd9bbbfe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e2484ff9fe1d1ad5ab0085fc922865a30b38f8429fdf33dea21750b2a677f3d6f995465ad4bd22f14b7c66db56c5a0e427babcbe7fc6e5e8235f772ef38a240
|
7
|
+
data.tar.gz: 8cdeecb89ca69ee220ed608f5b91d901ae0399c68ffb24a912ef6efa17301d1f6ddca743d10a83ae25c95833530ce664e63527bc7dfd717233c8e9e7f45dc124
|
data/README.md
CHANGED
@@ -54,7 +54,7 @@ Two-way binding works right out of the box with Sprinkles. Just wrap your object
|
|
54
54
|
class UserController < ApplicationController
|
55
55
|
def show
|
56
56
|
# bindable gives your objects the bind method
|
57
|
-
@user =
|
57
|
+
@user = ng_bindable(User.find(params[:id]))
|
58
58
|
end
|
59
59
|
end
|
60
60
|
```
|
@@ -75,7 +75,7 @@ sprinkles.directive('blink', function () {
|
|
75
75
|
});
|
76
76
|
</script>
|
77
77
|
|
78
|
-
<%=
|
78
|
+
<%= ng_directive(:blink) do %>
|
79
79
|
Hello, world
|
80
80
|
<% end %>
|
81
81
|
```
|
@@ -99,7 +99,7 @@ sprinkles.directive('someDirective', function () {
|
|
99
99
|
});
|
100
100
|
</script>
|
101
101
|
|
102
|
-
<%=
|
102
|
+
<%= ng_directive(:someDirective) do |some_ctrl| %>
|
103
103
|
<button ng-click="<%= some_ctrl.call('Gabe') %>">CLICK ME!</button>
|
104
104
|
<% end %>
|
105
105
|
```
|
@@ -117,7 +117,7 @@ sprinkles.controller('someCtrl', function () {
|
|
117
117
|
});
|
118
118
|
</script>
|
119
119
|
|
120
|
-
<%=
|
120
|
+
<%= ng_controller(:someCtrl) do |some_ctrl| %>
|
121
121
|
<button ng-click="<%= some_ctrl.call('Gabe') %>">CLICK ME!</button>
|
122
122
|
<% end %>
|
123
123
|
```
|
@@ -126,7 +126,7 @@ This is good for localizing JavaScript behavior. Additionally, if you'd just lik
|
|
126
126
|
scope, you can use the `isolate` helper which creates an "anonymous" controller to wrap your element.
|
127
127
|
|
128
128
|
```erb
|
129
|
-
<%=
|
129
|
+
<%= ng_isolate do |iso_ctrl| %>
|
130
130
|
<input ng-model="<%= iso_ctrl.bind(:isolated_binding) %>">
|
131
131
|
{{ <%= iso_ctrl.bind(:isolated_binding) %> }}
|
132
132
|
<% end %>
|
@@ -147,7 +147,7 @@ sprinkles.service('alertMe', function () {
|
|
147
147
|
});
|
148
148
|
</script>
|
149
149
|
|
150
|
-
<button ng-click="<%=
|
150
|
+
<button ng-click="<%= ng_service(:alert_me, "world") %>">Click me!</button>
|
151
151
|
```
|
152
152
|
|
153
153
|
### Form helpers
|
@@ -178,7 +178,7 @@ sprinkles.service('userFormHandler', function () {
|
|
178
178
|
});
|
179
179
|
</script>
|
180
180
|
|
181
|
-
<%=
|
181
|
+
<%= ng_form_for @user, :user_form_handler do |f| %>
|
182
182
|
<%= f.bind_text_field :name %>
|
183
183
|
<% end %>
|
184
184
|
```
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.1
|
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.3.
|
5
|
+
# stub: angular_sprinkles 0.3.1 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "angular_sprinkles"
|
9
|
-
s.version = "0.3.
|
9
|
+
s.version = "0.3.1"
|
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-24"
|
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 = [
|
@@ -44,11 +44,11 @@ Gem::Specification.new do |s|
|
|
44
44
|
"lib/angular_sprinkles/form_binder/check_box.rb",
|
45
45
|
"lib/angular_sprinkles/form_binder/default.rb",
|
46
46
|
"lib/angular_sprinkles/helpers.rb",
|
47
|
-
"lib/angular_sprinkles/helpers/bind_form_for_helper.rb",
|
48
47
|
"lib/angular_sprinkles/helpers/bind_helper.rb",
|
49
48
|
"lib/angular_sprinkles/helpers/controller_helper.rb",
|
50
49
|
"lib/angular_sprinkles/helpers/directive_helper.rb",
|
51
50
|
"lib/angular_sprinkles/helpers/element_helper.rb",
|
51
|
+
"lib/angular_sprinkles/helpers/form_for_helper.rb",
|
52
52
|
"lib/angular_sprinkles/helpers/isolate_helper.rb",
|
53
53
|
"lib/angular_sprinkles/helpers/service_helper.rb",
|
54
54
|
"lib/angular_sprinkles/java_script.rb",
|
@@ -90,7 +90,7 @@ Gem::Specification.new do |s|
|
|
90
90
|
"spec/dummy/app/models/concerns/.keep",
|
91
91
|
"spec/dummy/app/models/test_model.rb",
|
92
92
|
"spec/dummy/app/views/layouts/application.html.erb",
|
93
|
-
"spec/dummy/app/views/test/
|
93
|
+
"spec/dummy/app/views/test/form_for_helper.html.erb",
|
94
94
|
"spec/dummy/app/views/test/form_helpers.html.erb",
|
95
95
|
"spec/dummy/app/views/test/javascript_bindings.html.erb",
|
96
96
|
"spec/dummy/bin/bundle",
|
@@ -123,7 +123,7 @@ Gem::Specification.new do |s|
|
|
123
123
|
"spec/dummy/public/422.html",
|
124
124
|
"spec/dummy/public/500.html",
|
125
125
|
"spec/dummy/public/favicon.ico",
|
126
|
-
"spec/features/
|
126
|
+
"spec/features/form_for_helper_spec.rb",
|
127
127
|
"spec/features/form_helpers_spec.rb",
|
128
128
|
"spec/features/javascript_bindings_spec.rb",
|
129
129
|
"spec/rails_helper.rb",
|
data/lib/angular_sprinkles.rb
CHANGED
@@ -12,7 +12,7 @@ require "angular_sprinkles/engine"
|
|
12
12
|
require "angular_sprinkles/form_binder/base"
|
13
13
|
require "angular_sprinkles/form_binder/check_box"
|
14
14
|
require "angular_sprinkles/form_binder/default"
|
15
|
-
require "angular_sprinkles/helpers/
|
15
|
+
require "angular_sprinkles/helpers/form_for_helper"
|
16
16
|
require "angular_sprinkles/helpers/bind_helper"
|
17
17
|
require "angular_sprinkles/helpers/controller_helper"
|
18
18
|
require "angular_sprinkles/helpers/directive_helper"
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module AngularSprinkles
|
2
2
|
module Helpers
|
3
3
|
module ControllerHelper
|
4
|
-
def
|
4
|
+
def ng_controller(controller_name, opts = {}, &block)
|
5
5
|
options = opts.dup.symbolize_keys
|
6
6
|
|
7
7
|
options['ng-controller'] = "#{controller_name} as #{controller_name}"
|
@@ -1,22 +1,22 @@
|
|
1
1
|
module AngularSprinkles
|
2
2
|
module Helpers
|
3
|
-
module
|
3
|
+
module FormForHelper
|
4
4
|
|
5
5
|
##
|
6
|
-
#
|
6
|
+
# ng_form_for
|
7
7
|
#
|
8
8
|
# Wraps the form_for helper so that form submission can be bound
|
9
9
|
# an Angular service function. Accepts an additional argument which
|
10
10
|
# is the name of a service. Two arguments are passed to the service:
|
11
11
|
# the object and the Angular representation of the form.
|
12
|
-
def
|
12
|
+
def ng_form_for(record, submit_callback, options = {}, &block)
|
13
13
|
form_name = ObjectKeyWrapper.new('form', JavaScript::NoOp)
|
14
14
|
|
15
15
|
record = [record] if !record.is_a?(Array) # ensures that record will be handled in the same way whether or not it's an array
|
16
16
|
|
17
17
|
html_options = {
|
18
18
|
'name' => form_name,
|
19
|
-
'ng-submit' =>
|
19
|
+
'ng-submit' => ng_service(submit_callback, *record.map(&:bind), form_name)
|
20
20
|
}.merge(options[:html] || {})
|
21
21
|
|
22
22
|
augmented_options = options.merge(url: "", method: "", html: html_options)
|
@@ -1,12 +1,12 @@
|
|
1
1
|
module AngularSprinkles
|
2
2
|
module Helpers
|
3
3
|
module IsolateHelper
|
4
|
-
def
|
4
|
+
def ng_isolate(opts = {}, &block)
|
5
5
|
controller_name = "isolate_#{SecureRandom.hex}"
|
6
6
|
isolate_controller = ObjectKeyWrapper.new(controller_name, JavaScript::IsolateController)
|
7
7
|
|
8
8
|
@_sprinkles.content_yielder.call(isolate_controller)
|
9
|
-
|
9
|
+
ng_controller(controller_name, opts, &block)
|
10
10
|
end
|
11
11
|
end
|
12
12
|
end
|
@@ -26,9 +26,9 @@ module AngularSprinkles
|
|
26
26
|
super
|
27
27
|
end
|
28
28
|
|
29
|
-
def
|
29
|
+
def ng_bindable(object)
|
30
30
|
object = object.to_a if object.is_a?(::ActiveRecord::Relation)
|
31
|
-
object.map!(&method(:
|
31
|
+
object.map!(&method(:ng_bindable)) if object.is_a?(Array)
|
32
32
|
key = @_sprinkles.key_generator.call(object)
|
33
33
|
@_sprinkles.constructor_collection.push(object, key)
|
34
34
|
ModelDecorator.new({
|
@@ -4,11 +4,11 @@ class TestController < ApplicationController
|
|
4
4
|
def javascript_bindings; end
|
5
5
|
def form_helpers; end
|
6
6
|
|
7
|
-
def
|
8
|
-
@models =
|
7
|
+
def form_for_helper
|
8
|
+
@models = ng_bindable([@model])
|
9
9
|
end
|
10
10
|
|
11
11
|
def set_model
|
12
|
-
@model =
|
12
|
+
@model = ng_bindable(TestModel.new(name: params[:name]))
|
13
13
|
end
|
14
14
|
end
|
@@ -1,9 +1,9 @@
|
|
1
|
-
<%=
|
1
|
+
<%= ng_form_for @model, :form_submitted do |f| %>
|
2
2
|
<%= f.submit 'Submit' %>
|
3
3
|
<% end %>
|
4
4
|
|
5
5
|
<%# test that this works %>
|
6
|
-
<%=
|
6
|
+
<%= ng_form_for [@model, @models], :form_submitted do |f| %>
|
7
7
|
<% end %>
|
8
8
|
|
9
9
|
<div ng-bind="<%= @model.bind(:life) %>"></div>
|
@@ -1,21 +1,21 @@
|
|
1
1
|
<div id="data-binding-div" ng-bind="<%= @model.bind(:name) %>"></div>
|
2
|
-
<div id="bind-service-div" ng-bind="<%=
|
3
|
-
<div id="bind-div" ng-bind="<%=
|
2
|
+
<div id="bind-service-div" ng-bind="<%= ng_service(:hello_world, @model.bind(:name)) %>"></div>
|
3
|
+
<div id="bind-div" ng-bind="<%= ng_bind(:hello, :world) %>"></div>
|
4
4
|
|
5
|
-
<%=
|
5
|
+
<%= ng_directive(:bigHelloWorld, html: { id: "directive-div" }) do |ctrl| %>
|
6
6
|
<div id="directive-ctrl-bind" ng-bind="<%= ctrl.bind(:attribute) %>"></div>
|
7
7
|
<div id="directive-ctrl-call" ng-bind="<%= ctrl.call(:func, 'func result') %>"></div>
|
8
8
|
|
9
|
-
<%=
|
9
|
+
<%= ng_directive(:nested_directive, name: @model.bind(:name), html: { tag: 'h1' }) %>
|
10
10
|
<% end %>
|
11
11
|
|
12
|
-
<%=
|
13
|
-
{{ <%=
|
12
|
+
<%= ng_controller(:someCtrl, html: { id: "ctrl-div" }) do |ctrl| %>
|
13
|
+
{{ <%= ctrl.bind(:someValue) %> }}
|
14
14
|
<% end %>
|
15
15
|
|
16
|
-
<%=
|
17
|
-
<div ng-init="<%=
|
18
|
-
<div id="isolate-div" ng-bind="<%=
|
16
|
+
<%= ng_isolate do |ctrl| %>
|
17
|
+
<div ng-init="<%= ctrl.bind(:someValue) %> = 42"></div>
|
18
|
+
<div id="isolate-div" ng-bind="<%= ctrl.bind(:someValue) %>"></div>
|
19
19
|
<% end %>
|
20
20
|
|
21
21
|
<div id="model-bind">
|
@@ -25,5 +25,5 @@
|
|
25
25
|
|
26
26
|
<div id="bind-bind">
|
27
27
|
<label for="bind">Bind</label>
|
28
|
-
<input id="bind" name="bind" type="text" ng-model="<%=
|
28
|
+
<input id="bind" name="bind" type="text" ng-model="<%= ng_bind(:hello, :world) %>" />
|
29
29
|
</div>
|
data/spec/dummy/config/routes.rb
CHANGED
@@ -3,7 +3,7 @@ Rails.application.routes.draw do
|
|
3
3
|
|
4
4
|
get 'javascript_bindings', to: 'test#javascript_bindings'
|
5
5
|
get 'form_helpers', to: 'test#form_helpers'
|
6
|
-
get '
|
6
|
+
get 'form_for_helper', to: 'test#form_for_helper'
|
7
7
|
# The priority is based upon order of creation: first created -> highest priority.
|
8
8
|
# See how all your routes lay out with "rake routes".
|
9
9
|
|
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.3.
|
4
|
+
version: 0.3.1
|
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-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -91,11 +91,11 @@ files:
|
|
91
91
|
- lib/angular_sprinkles/form_binder/check_box.rb
|
92
92
|
- lib/angular_sprinkles/form_binder/default.rb
|
93
93
|
- lib/angular_sprinkles/helpers.rb
|
94
|
-
- lib/angular_sprinkles/helpers/bind_form_for_helper.rb
|
95
94
|
- lib/angular_sprinkles/helpers/bind_helper.rb
|
96
95
|
- lib/angular_sprinkles/helpers/controller_helper.rb
|
97
96
|
- lib/angular_sprinkles/helpers/directive_helper.rb
|
98
97
|
- lib/angular_sprinkles/helpers/element_helper.rb
|
98
|
+
- lib/angular_sprinkles/helpers/form_for_helper.rb
|
99
99
|
- lib/angular_sprinkles/helpers/isolate_helper.rb
|
100
100
|
- lib/angular_sprinkles/helpers/service_helper.rb
|
101
101
|
- lib/angular_sprinkles/java_script.rb
|
@@ -137,7 +137,7 @@ files:
|
|
137
137
|
- spec/dummy/app/models/concerns/.keep
|
138
138
|
- spec/dummy/app/models/test_model.rb
|
139
139
|
- spec/dummy/app/views/layouts/application.html.erb
|
140
|
-
- spec/dummy/app/views/test/
|
140
|
+
- spec/dummy/app/views/test/form_for_helper.html.erb
|
141
141
|
- spec/dummy/app/views/test/form_helpers.html.erb
|
142
142
|
- spec/dummy/app/views/test/javascript_bindings.html.erb
|
143
143
|
- spec/dummy/bin/bundle
|
@@ -170,7 +170,7 @@ files:
|
|
170
170
|
- spec/dummy/public/422.html
|
171
171
|
- spec/dummy/public/500.html
|
172
172
|
- spec/dummy/public/favicon.ico
|
173
|
-
- spec/features/
|
173
|
+
- spec/features/form_for_helper_spec.rb
|
174
174
|
- spec/features/form_helpers_spec.rb
|
175
175
|
- spec/features/javascript_bindings_spec.rb
|
176
176
|
- spec/rails_helper.rb
|