angular_sprinkles 0.0.6 → 0.0.7
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 +1 -1
- data/Gemfile.lock +14 -1
- data/README.md +45 -105
- data/Rakefile +0 -7
- data/VERSION +1 -1
- data/angular_sprinkles.gemspec +5 -5
- data/lib/angular_sprinkles/directive/html.rb +1 -1
- data/lib/angular_sprinkles/directive/input.rb +1 -1
- data/spec/dummy/app/assets/javascripts/application.js +0 -1
- data/spec/spec_helper.rb +3 -3
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: afa607a421d5bb4d861d12083db5bf733c29bb99
|
4
|
+
data.tar.gz: 5df2cfd0b70b089d2f23daa99c66fb6bc24a5ad6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7fb8698b2055fcbf280235fc0c9990f715b0ea6310ac282913509ff7d25b99817e1c8b1d722317d8834690685054746c19fb5bb0494cb01d29a09b911dd7b3db
|
7
|
+
data.tar.gz: 0b050e57812e98588b4d67ca3d4d2c98b99f96dbdda0d063b461210d3c71d4dee09838200fb154f07f8f7fd6e41acfe7e4b3963498e07f295705d3d4583746c1
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -39,6 +39,12 @@ GEM
|
|
39
39
|
xpath (~> 2.0)
|
40
40
|
childprocess (0.5.3)
|
41
41
|
ffi (~> 1.0, >= 1.0.11)
|
42
|
+
coveralls (0.7.1)
|
43
|
+
multi_json (~> 1.3)
|
44
|
+
rest-client
|
45
|
+
simplecov (>= 0.7)
|
46
|
+
term-ansicolor
|
47
|
+
thor
|
42
48
|
descendants_tracker (0.0.4)
|
43
49
|
thread_safe (~> 0.3, >= 0.3.1)
|
44
50
|
diff-lcs (1.2.5)
|
@@ -82,6 +88,7 @@ GEM
|
|
82
88
|
multi_json (1.10.1)
|
83
89
|
multi_xml (0.5.5)
|
84
90
|
multipart-post (2.0.0)
|
91
|
+
netrc (0.7.7)
|
85
92
|
nokogiri (1.6.3.1)
|
86
93
|
mini_portile (= 0.6.0)
|
87
94
|
oauth2 (1.0.0)
|
@@ -112,6 +119,9 @@ GEM
|
|
112
119
|
rake (10.3.2)
|
113
120
|
rdoc (4.1.1)
|
114
121
|
json (~> 1.4)
|
122
|
+
rest-client (1.7.2)
|
123
|
+
mime-types (>= 1.16, < 3.0)
|
124
|
+
netrc (~> 0.7)
|
115
125
|
rspec-core (3.0.4)
|
116
126
|
rspec-support (~> 3.0.0)
|
117
127
|
rspec-expectations (3.0.4)
|
@@ -149,9 +159,12 @@ GEM
|
|
149
159
|
activesupport (>= 3.0)
|
150
160
|
sprockets (~> 2.8)
|
151
161
|
sqlite3 (1.3.9)
|
162
|
+
term-ansicolor (1.3.0)
|
163
|
+
tins (~> 1.0)
|
152
164
|
thor (0.19.1)
|
153
165
|
thread_safe (0.3.4)
|
154
166
|
tilt (1.4.1)
|
167
|
+
tins (1.3.2)
|
155
168
|
treetop (1.4.15)
|
156
169
|
polyglot
|
157
170
|
polyglot (>= 0.3.1)
|
@@ -167,10 +180,10 @@ PLATFORMS
|
|
167
180
|
DEPENDENCIES
|
168
181
|
angularjs-rails
|
169
182
|
capybara
|
183
|
+
coveralls
|
170
184
|
jeweler
|
171
185
|
launchy
|
172
186
|
rails
|
173
187
|
rspec-rails
|
174
188
|
selenium-webdriver
|
175
|
-
simplecov
|
176
189
|
sqlite3
|
data/README.md
CHANGED
@@ -1,145 +1,85 @@
|
|
1
1
|
# Angular Sprinkles
|
2
2
|
|
3
3
|
[](http://badge.fury.io/rb/angular_sprinkles)
|
4
|
-

|
4
|
+
[](https://circleci.com/gh/BrewhouseTeam/angular_sprinkles)
|
5
|
+
[](https://coveralls.io/r/BrewhouseTeam/angular_sprinkles?branch=master)
|
5
6
|
|
6
|
-
|
7
|
+
Angular Sprinkles is a gem for writing Rails-flavored AngularJS.
|
7
8
|
|
8
|
-
|
9
|
-
|
9
|
+
- __No frontend setup required:__ By just requiring it in your project, Sprinkles dynamically generates an Angular application around your Rails templates. It's never been easier to start developing with Angular and Rails.
|
10
|
+
- __Rails as it was intended to be written:__ Angular's two-way data binding, directives, and function calls are all done in the view via helper methods, giving you just a sprinkle of JavaScript.
|
11
|
+
- __Forget about the SPA:__ If you're not using Rails an API, trying to build an SPA on top of it is a huge pain. Sprinkles allows you to continue to write Rails applications as you always have without all of the nasty jQuery spaghetti.
|
10
12
|
|
11
|
-
|
12
|
-
want a sprinkle of Angular instead of a full-blown application.
|
13
|
+
## Examples
|
13
14
|
|
14
|
-
|
15
|
-
|
16
|
-
Add Angular and Sprinkles to your `Gemfile`
|
17
|
-
|
18
|
-
```ruby
|
19
|
-
# Gemfile
|
20
|
-
|
21
|
-
gem 'angularjs-rails'
|
22
|
-
gem 'angular_sprinkles'
|
23
|
-
```
|
24
|
-
|
25
|
-
Add a yield method for your sprinkles at the bottom of your body tag
|
26
|
-
|
27
|
-
```erb
|
28
|
-
<%=# app/views/layouts/application.html.erb %>
|
29
|
-
<body>
|
30
|
-
|
31
|
-
<%= yield %>
|
32
|
-
|
33
|
-
<%= yield :sprinkles %>
|
34
|
-
</body>
|
35
|
-
```
|
36
|
-
|
37
|
-
Include Angular and Sprinkles into your `application.js`
|
38
|
-
|
39
|
-
```js
|
40
|
-
// app/assets/javascripts/application.js
|
41
|
-
|
42
|
-
//= require angular
|
43
|
-
//= require angular_sprinkles
|
44
|
-
//= require_tree .
|
45
|
-
```
|
46
|
-
|
47
|
-
That's it! You are now read to begin using Sprinkles in your application. There is no need to create an application module or
|
48
|
-
controller. Sprinkles dynamically generates this for you.
|
49
|
-
|
50
|
-
## Data binding
|
51
|
-
|
52
|
-
Two-way data binding with Sprinkles is easy. We can use the `bindable` view helper to decorate our record with the bind method
|
15
|
+
Two-way binding works right out of the box with Sprinkles. Just wrap your objects with the `bindable` helper.
|
53
16
|
|
54
17
|
```ruby
|
55
18
|
class UserController < ApplicationController
|
56
19
|
def show
|
20
|
+
# bindable gives your objects the bind method
|
57
21
|
@user = bindable(User.find(params[:id]))
|
58
22
|
end
|
59
23
|
end
|
60
24
|
```
|
61
25
|
|
62
|
-
Our user is now also able to use `bind`
|
63
|
-
|
64
26
|
```erb
|
65
|
-
|
66
|
-
|
67
|
-
Bind the entire object: <span ng-bind="<%= @user.bind %>"></span>
|
68
|
-
|
69
|
-
Full Name: <span ng-bind="<%= @user.bind(:first_name) %> + ' ' + <%= @user.bind(:last_name) %>"></span>
|
70
|
-
First Name: <input type="text" ng-model="<%= @user.bind(:first_name) %>" />
|
71
|
-
Last Name: <input type="text" ng-model="<%= @user.bind(:last_name) %>" />
|
27
|
+
{{ <%= @user.bind(:name) %> }}
|
28
|
+
<input type="text" ng-model="<%= @user.bind(:name) %>" />
|
72
29
|
```
|
73
30
|
|
74
|
-
|
75
|
-
|
76
|
-
## Custom Directives
|
77
|
-
|
78
|
-
Sprinkles also comes packaged with a helper for instantiating custom directives.
|
79
|
-
|
80
|
-
In order to write custom directives, you must add them to the sprinkles module which is attached to the global `sprinkles` variable.
|
81
|
-
Let's create an element that blinks some text.
|
31
|
+
Use custom directives with the `directive` helper.
|
82
32
|
|
83
|
-
```
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
return {
|
88
|
-
restrict: 'A',
|
89
|
-
scope: {
|
90
|
-
interval: '=',
|
91
|
-
text: '='
|
92
|
-
},
|
93
|
-
template: '<span>{{text}}</span>',
|
94
|
-
link: function (scope, el) {
|
95
|
-
var opacity = 1;
|
96
|
-
|
97
|
-
scope.text = scope.text || 'Hello World!';
|
98
|
-
scope.interval = scope.interval || 1000;
|
99
|
-
|
100
|
-
$interval(function () {
|
101
|
-
el.css({ opacity: opacity });
|
102
|
-
opacity = -opacity + 1;
|
103
|
-
}, scope.interval);
|
104
|
-
}
|
105
|
-
}
|
33
|
+
```erb
|
34
|
+
<script>
|
35
|
+
sprinkles.directive('blink', function () {
|
36
|
+
// re-implement the blink tag
|
106
37
|
});
|
38
|
+
</script>
|
39
|
+
|
40
|
+
<%= directive(:blink) do %>
|
41
|
+
Hello, world
|
42
|
+
<% end %>
|
107
43
|
```
|
108
44
|
|
45
|
+
Call services directly from the view with the `service` helper.
|
46
|
+
|
109
47
|
```erb
|
110
|
-
|
48
|
+
<script>
|
49
|
+
sprinkles.service('alertMe', function () {
|
50
|
+
return function (input) {
|
51
|
+
alert('Hello, ' + input);
|
52
|
+
};
|
53
|
+
});
|
54
|
+
</script>
|
111
55
|
|
112
|
-
<%=
|
56
|
+
<button ng-click="<%= service(:alert_me, "world") %>">Click me!</button>
|
113
57
|
```
|
114
58
|
|
115
|
-
|
59
|
+
## Setup
|
116
60
|
|
117
|
-
|
118
|
-
<%=# some view %>
|
61
|
+
Add `angular_sprinkles` to your `Gemfile`.
|
119
62
|
|
120
|
-
|
121
|
-
|
63
|
+
```ruby
|
64
|
+
gem 'angular_sprinkles'
|
122
65
|
```
|
123
66
|
|
124
|
-
|
67
|
+
Add `yield :sprinkles` to the bottom of your body tag.
|
125
68
|
|
126
|
-
|
69
|
+
```erb
|
70
|
+
<body>
|
127
71
|
|
128
|
-
|
129
|
-
// some js file
|
72
|
+
<%= yield %>
|
130
73
|
|
131
|
-
|
132
|
-
|
133
|
-
var modifiedInput = someInjectedDependency(input);
|
134
|
-
alert(modifiedInput);
|
135
|
-
};
|
136
|
-
});
|
74
|
+
<%= yield :sprinkles %>
|
75
|
+
</body>
|
137
76
|
```
|
138
77
|
|
139
|
-
|
140
|
-
<%=# some view %>
|
78
|
+
Include and `angular_sprinkles` into your `application.js`.
|
141
79
|
|
142
|
-
|
80
|
+
```js
|
81
|
+
//= require angular_sprinkles
|
82
|
+
//= require_tree .
|
143
83
|
```
|
144
84
|
|
145
85
|
## Copyright
|
data/Rakefile
CHANGED
@@ -13,13 +13,6 @@ RSpec::Core::RakeTask.new(:spec) do |spec|
|
|
13
13
|
spec.pattern = FileList["spec/**/*_spec.rb"]
|
14
14
|
end
|
15
15
|
|
16
|
-
require "simplecov"
|
17
|
-
desc "Code coverage"
|
18
|
-
task :simplecov do
|
19
|
-
ENV["COVERAGE"] = "true"
|
20
|
-
Rake::Task["spec"].execute
|
21
|
-
end
|
22
|
-
|
23
16
|
require "jeweler"
|
24
17
|
Jeweler::Tasks.new do |gem|
|
25
18
|
gem.name = "angular_sprinkles"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.7
|
data/angular_sprinkles.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
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.0.
|
5
|
+
# stub: angular_sprinkles 0.0.7 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "angular_sprinkles"
|
9
|
-
s.version = "0.0.
|
9
|
+
s.version = "0.0.7"
|
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"]
|
@@ -129,8 +129,8 @@ Gem::Specification.new do |s|
|
|
129
129
|
s.add_development_dependency(%q<capybara>, [">= 0"])
|
130
130
|
s.add_development_dependency(%q<selenium-webdriver>, [">= 0"])
|
131
131
|
s.add_development_dependency(%q<launchy>, [">= 0"])
|
132
|
-
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
133
132
|
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
133
|
+
s.add_development_dependency(%q<coveralls>, [">= 0"])
|
134
134
|
else
|
135
135
|
s.add_dependency(%q<rails>, [">= 0"])
|
136
136
|
s.add_dependency(%q<angularjs-rails>, [">= 0"])
|
@@ -139,8 +139,8 @@ Gem::Specification.new do |s|
|
|
139
139
|
s.add_dependency(%q<capybara>, [">= 0"])
|
140
140
|
s.add_dependency(%q<selenium-webdriver>, [">= 0"])
|
141
141
|
s.add_dependency(%q<launchy>, [">= 0"])
|
142
|
-
s.add_dependency(%q<simplecov>, [">= 0"])
|
143
142
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
143
|
+
s.add_dependency(%q<coveralls>, [">= 0"])
|
144
144
|
end
|
145
145
|
else
|
146
146
|
s.add_dependency(%q<rails>, [">= 0"])
|
@@ -150,8 +150,8 @@ Gem::Specification.new do |s|
|
|
150
150
|
s.add_dependency(%q<capybara>, [">= 0"])
|
151
151
|
s.add_dependency(%q<selenium-webdriver>, [">= 0"])
|
152
152
|
s.add_dependency(%q<launchy>, [">= 0"])
|
153
|
-
s.add_dependency(%q<simplecov>, [">= 0"])
|
154
153
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
154
|
+
s.add_dependency(%q<coveralls>, [">= 0"])
|
155
155
|
end
|
156
156
|
end
|
157
157
|
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: angular_sprinkles
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gabe Scholz
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: jeweler
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
@@ -123,7 +123,7 @@ dependencies:
|
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: coveralls
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - ">="
|