angular_sprinkles 0.2.4 → 0.2.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/VERSION +1 -1
- data/angular_sprinkles.gemspec +6 -3
- data/lib/angular_sprinkles.rb +1 -0
- data/lib/angular_sprinkles/helpers.rb +1 -0
- data/lib/angular_sprinkles/helpers/bind_form_for_helper.rb +38 -0
- data/lib/angular_sprinkles/java_script.rb +4 -0
- data/lib/angular_sprinkles/key_generator.rb +1 -1
- data/spec/angular_sprinkles/key_generator_spec.rb +6 -2
- data/spec/dummy/app/assets/javascripts/application.js +6 -0
- data/spec/dummy/app/controllers/test_controller.rb +1 -0
- data/spec/dummy/app/views/test/bind_form_for_helper.html.erb +5 -0
- data/spec/dummy/config/routes.rb +1 -0
- data/spec/features/bind_form_for_helper_spec.rb +13 -0
- data/spec/features/form_helpers_spec.rb +0 -3
- data/spec/features/javascript_bindings_spec.rb +0 -3
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: af0082e8d01fae6f825eee0706dbe3f167f37e2b
|
4
|
+
data.tar.gz: f7c17e63a24e05ab47dfe98a9383bfde59afe6dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d14174b5411a86e594999018de7031e87d018c9987b16891866d32d1fa61c8937aadac274d556217140af4f87a8825e3727b940a1a5fb74b7f7c6cac50265bad
|
7
|
+
data.tar.gz: a34110ecbe68be5321eb7c3f8b8b44e4f7361f1c3df6330e8357ba8180ebaf609fe838ce72707c8dccd958b1efc4d48500cc3433c84d098ac20adb721806ba23
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.5
|
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.5 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.5"
|
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-13"
|
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,6 +44,7 @@ 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",
|
47
48
|
"lib/angular_sprinkles/helpers/bind_helper.rb",
|
48
49
|
"lib/angular_sprinkles/helpers/directive_helper.rb",
|
49
50
|
"lib/angular_sprinkles/helpers/service_helper.rb",
|
@@ -86,6 +87,7 @@ Gem::Specification.new do |s|
|
|
86
87
|
"spec/dummy/app/models/concerns/.keep",
|
87
88
|
"spec/dummy/app/models/test_model.rb",
|
88
89
|
"spec/dummy/app/views/layouts/application.html.erb",
|
90
|
+
"spec/dummy/app/views/test/bind_form_for_helper.html.erb",
|
89
91
|
"spec/dummy/app/views/test/form_helpers.html.erb",
|
90
92
|
"spec/dummy/app/views/test/javascript_bindings.html.erb",
|
91
93
|
"spec/dummy/bin/bundle",
|
@@ -118,6 +120,7 @@ Gem::Specification.new do |s|
|
|
118
120
|
"spec/dummy/public/422.html",
|
119
121
|
"spec/dummy/public/500.html",
|
120
122
|
"spec/dummy/public/favicon.ico",
|
123
|
+
"spec/features/bind_form_for_helper_spec.rb",
|
121
124
|
"spec/features/form_helpers_spec.rb",
|
122
125
|
"spec/features/javascript_bindings_spec.rb",
|
123
126
|
"spec/rails_helper.rb",
|
data/lib/angular_sprinkles.rb
CHANGED
@@ -12,6 +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/bind_form_for_helper"
|
15
16
|
require "angular_sprinkles/helpers/bind_helper"
|
16
17
|
require "angular_sprinkles/helpers/directive_helper"
|
17
18
|
require "angular_sprinkles/helpers/service_helper"
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module AngularSprinkles
|
2
|
+
module Helpers
|
3
|
+
module BindFormForHelper
|
4
|
+
|
5
|
+
##
|
6
|
+
# bind_form_for
|
7
|
+
#
|
8
|
+
# Wraps the form_for helper so that form submission can be bound
|
9
|
+
# an Angular service function. Accepts an additional argument which
|
10
|
+
# is the name of a service. Two arguments are passed to the service:
|
11
|
+
# the object and the Angular representation of the form.
|
12
|
+
def bind_form_for(record, submit_callback, options = {}, &block)
|
13
|
+
form_name = ObjectKeyWrapper.new(
|
14
|
+
@_sprinkles.key_generator.call(AngularSprinkles::Form.new),
|
15
|
+
JavaScript::NoOp
|
16
|
+
)
|
17
|
+
|
18
|
+
html_options = {
|
19
|
+
'name' => form_name,
|
20
|
+
'ng-submit' => service(submit_callback, record.bind, form_name)
|
21
|
+
}.merge(options[:html] || {})
|
22
|
+
|
23
|
+
augmented_options = options.merge(url: "", method: "", html: html_options)
|
24
|
+
|
25
|
+
form_for(record, augmented_options, &block)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
##
|
33
|
+
# AngularSprinkles::Form
|
34
|
+
#
|
35
|
+
# An empty placeholder class to be used by KeyGenerator when adding
|
36
|
+
# the form_name attribute in AngularSprinkles::Helpers::BindFormForHelper
|
37
|
+
class Form; end
|
38
|
+
end
|
@@ -3,11 +3,15 @@ require 'spec_helper'
|
|
3
3
|
describe AngularSprinkles::KeyGenerator do
|
4
4
|
let(:counter) { double(inc: inc) }
|
5
5
|
let(:inc) { 1 }
|
6
|
-
let(:object) { double }
|
6
|
+
let(:object) { double(class: AngularSprinkles) }
|
7
7
|
|
8
8
|
subject { described_class.new(counter: counter) }
|
9
9
|
|
10
|
-
it
|
10
|
+
it "returns a suitable variable name" do
|
11
11
|
expect(subject.call(object)).to eq("#{object.class}_#{inc}")
|
12
12
|
end
|
13
|
+
|
14
|
+
it "it substitutes :: for __ in nested classes" do
|
15
|
+
expect(subject.call(subject)).to eq("AngularSprinkles__KeyGenerator_#{inc}")
|
16
|
+
end
|
13
17
|
end
|
@@ -19,6 +19,12 @@ sprinkles.service('helloWorld', function () {
|
|
19
19
|
};
|
20
20
|
});
|
21
21
|
|
22
|
+
sprinkles.service('formSubmitted', function () {
|
23
|
+
return function (model, form) {
|
24
|
+
return model.life = '42';
|
25
|
+
};
|
26
|
+
});
|
27
|
+
|
22
28
|
sprinkles.directive('nestedDirective', function () {
|
23
29
|
return {
|
24
30
|
scope: {
|
data/spec/dummy/config/routes.rb
CHANGED
@@ -3,6 +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 'bind_form_for_helper', to: 'test#bind_form_for_helper'
|
6
7
|
# The priority is based upon order of creation: first created -> highest priority.
|
7
8
|
# See how all your routes lay out with "rake routes".
|
8
9
|
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require "rails_helper"
|
2
|
+
|
3
|
+
feature "bind_form_for_helper", js: true do
|
4
|
+
before do
|
5
|
+
visit bind_form_for_helper_path
|
6
|
+
end
|
7
|
+
|
8
|
+
it 'renders all of the helpers with ng-model' do
|
9
|
+
expect(page).not_to have_content(42)
|
10
|
+
click_button "Submit"
|
11
|
+
expect(page).to have_content(42)
|
12
|
+
end
|
13
|
+
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.5
|
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-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -91,6 +91,7 @@ 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
|
94
95
|
- lib/angular_sprinkles/helpers/bind_helper.rb
|
95
96
|
- lib/angular_sprinkles/helpers/directive_helper.rb
|
96
97
|
- lib/angular_sprinkles/helpers/service_helper.rb
|
@@ -133,6 +134,7 @@ files:
|
|
133
134
|
- spec/dummy/app/models/concerns/.keep
|
134
135
|
- spec/dummy/app/models/test_model.rb
|
135
136
|
- spec/dummy/app/views/layouts/application.html.erb
|
137
|
+
- spec/dummy/app/views/test/bind_form_for_helper.html.erb
|
136
138
|
- spec/dummy/app/views/test/form_helpers.html.erb
|
137
139
|
- spec/dummy/app/views/test/javascript_bindings.html.erb
|
138
140
|
- spec/dummy/bin/bundle
|
@@ -165,6 +167,7 @@ files:
|
|
165
167
|
- spec/dummy/public/422.html
|
166
168
|
- spec/dummy/public/500.html
|
167
169
|
- spec/dummy/public/favicon.ico
|
170
|
+
- spec/features/bind_form_for_helper_spec.rb
|
168
171
|
- spec/features/form_helpers_spec.rb
|
169
172
|
- spec/features/javascript_bindings_spec.rb
|
170
173
|
- spec/rails_helper.rb
|