ember-rails 0.15.1 → 0.16.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +8 -1
- data/lib/ember/handlebars/template.rb +7 -7
- data/lib/ember/rails/engine.rb +1 -0
- data/lib/ember/rails/version.rb +1 -1
- data/lib/ember_rails.rb +4 -4
- data/lib/generators/ember/adapter_generator.rb +21 -0
- data/lib/generators/ember/bootstrap_generator.rb +5 -1
- data/lib/generators/ember/install_generator.rb +0 -2
- data/lib/generators/templates/adapter.js +5 -0
- data/lib/generators/templates/adapter.js.coffee +5 -0
- data/lib/generators/templates/adapter.js.em +3 -0
- data/lib/generators/templates/app.js +1 -0
- data/lib/generators/templates/app.js.coffee +1 -0
- data/lib/generators/templates/app.js.em +1 -0
- data/lib/generators/templates/application_adapter.js +5 -0
- data/lib/generators/templates/application_adapter.js.coffee +5 -0
- data/lib/generators/templates/application_adapter.js.em +3 -0
- data/lib/generators/templates/store.js +0 -7
- data/lib/generators/templates/store.js.coffee +0 -9
- data/lib/generators/templates/store.js.em +0 -4
- metadata +12 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 020f2f3771234456fc51419a375bfe4be3b01be3
|
4
|
+
data.tar.gz: 87e169fa757402db45e3935ee6c3d6068f8bd220
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 175f30b8b6e3a0fbb49ab344efbdf72aa86c626525f08252c7c84e34f7b18ee056406d53a75c28500c94a9d07833abfbad722150472b5898f882692f2b5bd785
|
7
|
+
data.tar.gz: 95eb8fcc6923aab085c665650ab0f0dab20c7116f596bd631589127aaa56ec76b6a51fd7c3e24aa5c494b8610ba1384c1c784f8e8e8040aebceddd40ac08daf9
|
data/README.md
CHANGED
@@ -112,13 +112,14 @@ config files (`config/application.rb`, `config/environments/development.rb`, etc
|
|
112
112
|
|
113
113
|
| Configuration Option | Description |
|
114
114
|
|----------------------------------------------|---------------------------------------------------------------------------------------------------------------------|
|
115
|
-
| `config.ember.variant` | Determines which Ember variant to use. Valid options: `:development`, `:production`.
|
115
|
+
| `config.ember.variant` | Determines which Ember variant to use. Valid options: `:development`, `:production`. Defaults to `:production` in production, and `:development` everywhere else. |
|
116
116
|
| `config.ember.app_name` | Specificies a default application name for all generators. |
|
117
117
|
| `config.ember.ember_path` | Specifies a default custom root path for all generators. |
|
118
118
|
| `config.handlebars.precompile` | Enables or disables precompilation. Default value: `true`. |
|
119
119
|
| `config.handlebars.templates_root` | Sets the root path (under `app/assets/javascripts`) for templates to be looked up in. Default value: `"templates"`. |
|
120
120
|
| `config.handlebars.templates_path_separator` | The path separator to use for templates. Default value: `'/'`. |
|
121
121
|
| `config.handlebars.output_type` | Configures the style of output (options are `:amd` and `:global`). Default value: `:global`. |
|
122
|
+
| `config.handlebars.ember_template` | Default which Ember template type to compile. Valid options: `'Handlebars', `HTMLBars`. Defaults to 'Handlebars`' when `Ember::VERSION` is under 1.10.0, `HTMLBars` when `Ember::VERSION` is over 1.10.0. |
|
122
123
|
|
123
124
|
Note:
|
124
125
|
|
@@ -149,6 +150,7 @@ Ember does not require an organized file structure. However, ember-rails allows
|
|
149
150
|
to use `rails g ember:bootstrap` to create the following directory structure under `app/assets/javascripts`:
|
150
151
|
|
151
152
|
```
|
153
|
+
├── adapters
|
152
154
|
├── components
|
153
155
|
├── controllers
|
154
156
|
├── helpers
|
@@ -194,6 +196,10 @@ RailsAppName = Ember.Application.create();
|
|
194
196
|
create app/assets/javascripts/templates/.gitkeep
|
195
197
|
create app/assets/javascripts/templates/components
|
196
198
|
create app/assets/javascripts/templates/components/.gitkeep
|
199
|
+
create app/assets/javascripts/mixins
|
200
|
+
create app/assets/javascripts/mixins/.gitkeep
|
201
|
+
create app/assets/javascripts/adapters
|
202
|
+
create app/assets/javascripts/adapters/.gitkeep
|
197
203
|
create app/assets/javascripts/app.js
|
198
204
|
|
199
205
|
If you want to avoid `.gitkeep` files, use the `skip git` option like
|
@@ -251,6 +257,7 @@ When necessary, ember-rails adheres to a conventional folder structure. To creat
|
|
251
257
|
Given the following folder structure:
|
252
258
|
|
253
259
|
```
|
260
|
+
├── adapters
|
254
261
|
├── components
|
255
262
|
├── controllers
|
256
263
|
├── helpers
|
@@ -24,13 +24,13 @@ module Ember
|
|
24
24
|
if raw
|
25
25
|
template = precompile_handlebars(template)
|
26
26
|
else
|
27
|
-
template = precompile_ember_handlebars(template)
|
27
|
+
template = precompile_ember_handlebars(template, configuration.ember_template)
|
28
28
|
end
|
29
29
|
else
|
30
30
|
if raw
|
31
31
|
template = compile_handlebars(data)
|
32
32
|
else
|
33
|
-
template = compile_ember_handlebars(template)
|
33
|
+
template = compile_ember_handlebars(template, configuration.ember_template)
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
@@ -64,15 +64,15 @@ module Ember
|
|
64
64
|
end
|
65
65
|
|
66
66
|
def precompile_handlebars(string)
|
67
|
-
Barber::
|
67
|
+
"Handlebars.template(#{Barber::Precompiler.compile(string)});"
|
68
68
|
end
|
69
69
|
|
70
|
-
def compile_ember_handlebars(string)
|
71
|
-
"Ember.
|
70
|
+
def compile_ember_handlebars(string, ember_template = 'Handlebars')
|
71
|
+
"Ember.#{ember_template}.compile(#{indent(string).inspect});"
|
72
72
|
end
|
73
73
|
|
74
|
-
def precompile_ember_handlebars(string)
|
75
|
-
Barber::Ember::
|
74
|
+
def precompile_ember_handlebars(string, ember_template = 'Handlebars')
|
75
|
+
"Ember.#{ember_template}.template(#{Barber::Ember::Precompiler.compile(string)});"
|
76
76
|
end
|
77
77
|
|
78
78
|
def mustache_to_handlebars(scope, template)
|
data/lib/ember/rails/engine.rb
CHANGED
@@ -11,6 +11,7 @@ module Ember
|
|
11
11
|
config.handlebars.templates_root = "templates"
|
12
12
|
config.handlebars.templates_path_separator = '/'
|
13
13
|
config.handlebars.output_type = :global
|
14
|
+
config.handlebars.ember_template = Ember::VERSION =~ /\A1.[0-9]\./ ? 'Handlebars' : 'HTMLBars'
|
14
15
|
|
15
16
|
config.before_initialize do |app|
|
16
17
|
Sprockets::Engines #force autoloading
|
data/lib/ember/rails/version.rb
CHANGED
data/lib/ember_rails.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'rails'
|
2
|
-
require 'ember/rails/version'
|
3
|
-
require 'ember/rails/engine'
|
4
2
|
require 'ember/source'
|
5
3
|
require 'ember/data/source'
|
4
|
+
require 'ember/rails/version'
|
5
|
+
require 'ember/rails/engine'
|
6
6
|
require 'handlebars/source'
|
7
7
|
|
8
8
|
module Ember
|
@@ -23,8 +23,8 @@ module Ember
|
|
23
23
|
initializer "ember_rails.setup_vendor", :after => "ember_rails.setup", :group => :all do |app|
|
24
24
|
variant = app.config.ember.variant || (::Rails.env.production? ? :production : :development)
|
25
25
|
|
26
|
-
# Copy over the desired ember
|
27
|
-
# ember-source
|
26
|
+
# Copy over the desired ember and ember-data bundled in
|
27
|
+
# ember-source and ember-data-source to a tmp folder.
|
28
28
|
tmp_path = app.root.join("tmp/ember-rails")
|
29
29
|
FileUtils.mkdir_p(tmp_path)
|
30
30
|
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'generators/ember/generator_helpers'
|
2
|
+
|
3
|
+
module Ember
|
4
|
+
module Generators
|
5
|
+
class AdapterGenerator < ::Rails::Generators::NamedBase
|
6
|
+
include Ember::Generators::GeneratorHelpers
|
7
|
+
|
8
|
+
source_root File.expand_path("../../templates", __FILE__)
|
9
|
+
|
10
|
+
desc "Creates a new Ember.js adapter"
|
11
|
+
class_option :ember_path, :type => :string, :aliases => "-d", :default => false, :desc => "Custom ember app path"
|
12
|
+
class_option :javascript_engine, :desc => "Engine for JavaScripts"
|
13
|
+
class_option :app_name, :type => :string, :aliases => "-n", :default => false, :desc => "Custom ember app name"
|
14
|
+
|
15
|
+
def create_adapter_files
|
16
|
+
file_path = File.join(ember_path, 'adapters', class_path, "#{file_name}_adapter.#{engine_extension}")
|
17
|
+
template "adapter.#{engine_extension}", file_path
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -24,7 +24,7 @@ module Ember
|
|
24
24
|
|
25
25
|
|
26
26
|
def create_dir_layout
|
27
|
-
%W{models controllers views routes helpers components templates templates/components mixins}.each do |dir|
|
27
|
+
%W{models controllers views routes helpers components templates templates/components mixins adapters}.each do |dir|
|
28
28
|
empty_directory "#{ember_path}/#{dir}"
|
29
29
|
create_file "#{ember_path}/#{dir}/.gitkeep" unless options[:skip_git]
|
30
30
|
end
|
@@ -42,6 +42,10 @@ module Ember
|
|
42
42
|
template "store.#{engine_extension}", "#{ember_path}/store.#{engine_extension}"
|
43
43
|
end
|
44
44
|
|
45
|
+
def create_adapter_file
|
46
|
+
template "application_adapter.#{engine_extension}", "#{ember_path}/adapters/application_adapter.#{engine_extension}"
|
47
|
+
end
|
48
|
+
|
45
49
|
private
|
46
50
|
|
47
51
|
def inject_into_application_file(safe_extension)
|
@@ -10,12 +10,10 @@ module Ember
|
|
10
10
|
|
11
11
|
class InvalidChannel < ::Thor::Error; end
|
12
12
|
class ConflictingOptions < ::Thor::Error; end
|
13
|
-
class Deprecated < ::Thor::Error; end
|
14
13
|
class InsufficientOptions < ::Thor::Error; end
|
15
14
|
|
16
15
|
::InvalidChannel = InvalidChannel
|
17
16
|
::ConflictingOptions = ConflictingOptions
|
18
|
-
::Deprecated = Deprecated
|
19
17
|
::InsufficientOptions = InsufficientOptions
|
20
18
|
|
21
19
|
desc "Install Ember.js into your vendor folder"
|
@@ -1,10 +1,3 @@
|
|
1
|
-
// Override the default adapter with the `DS.ActiveModelAdapter` which
|
2
|
-
// is built to work nicely with the ActiveModel::Serializers gem.
|
3
|
-
<%= application_name.camelize %>.ApplicationAdapter = DS.ActiveModelAdapter.extend({
|
4
|
-
|
5
|
-
});
|
6
|
-
|
7
|
-
|
8
1
|
// Adds X-CSRF-Token to all REST requests.
|
9
2
|
// Allows for the use of Rails protect_from_forgery
|
10
3
|
// The CSRF Token is normally found in app/views/layouts/application.html.*
|
@@ -1,12 +1,3 @@
|
|
1
|
-
# http://emberjs.com/guides/models/#toc_store
|
2
|
-
# http://emberjs.com/guides/models/pushing-records-into-the-store/
|
3
|
-
|
4
|
-
# Override the default adapter with the `DS.ActiveModelAdapter` which
|
5
|
-
# is built to work nicely with the ActiveModel::Serializers gem.
|
6
|
-
<%= application_name.camelize %>.ApplicationAdapter = DS.ActiveModelAdapter.extend({
|
7
|
-
|
8
|
-
})
|
9
|
-
|
10
1
|
# Adds X-CSRF-Token to all REST requests.
|
11
2
|
# Allows for the use of Rails protect_from_forgery
|
12
3
|
# The CSRF Token is normally found in app/views/layouts/application.html.*
|
@@ -1,7 +1,3 @@
|
|
1
|
-
# Override the default adapter with the `DS.ActiveModelAdapter` which
|
2
|
-
# is built to work nicely with the ActiveModel::Serializers gem.
|
3
|
-
class <%= application_name.camelize %>.ApplicationAdapter extends DS.ActiveModelAdapter
|
4
|
-
|
5
1
|
# Adds X-CSRF-Token to all REST requests.
|
6
2
|
# Allows for the use of Rails protect_from_forgery
|
7
3
|
# The CSRF Token is normally found in app/views/layouts/application.html.*
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ember-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.16.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Keith Pitt
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2014-12-
|
14
|
+
date: 2014-12-28 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: execjs
|
@@ -61,14 +61,14 @@ dependencies:
|
|
61
61
|
requirements:
|
62
62
|
- - ">="
|
63
63
|
- !ruby/object:Gem::Version
|
64
|
-
version: 0.
|
64
|
+
version: 0.6.0
|
65
65
|
type: :runtime
|
66
66
|
prerelease: false
|
67
67
|
version_requirements: !ruby/object:Gem::Requirement
|
68
68
|
requirements:
|
69
69
|
- - ">="
|
70
70
|
- !ruby/object:Gem::Version
|
71
|
-
version: 0.
|
71
|
+
version: 0.6.0
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
73
|
name: jquery-rails
|
74
74
|
requirement: !ruby/object:Gem::Requirement
|
@@ -224,6 +224,7 @@ files:
|
|
224
224
|
- lib/ember/rails/engine.rb
|
225
225
|
- lib/ember/rails/version.rb
|
226
226
|
- lib/ember_rails.rb
|
227
|
+
- lib/generators/ember/adapter_generator.rb
|
227
228
|
- lib/generators/ember/bootstrap_generator.rb
|
228
229
|
- lib/generators/ember/component_generator.rb
|
229
230
|
- lib/generators/ember/controller_generator.rb
|
@@ -235,6 +236,9 @@ files:
|
|
235
236
|
- lib/generators/ember/route_generator.rb
|
236
237
|
- lib/generators/ember/template_generator.rb
|
237
238
|
- lib/generators/ember/view_generator.rb
|
239
|
+
- lib/generators/templates/adapter.js
|
240
|
+
- lib/generators/templates/adapter.js.coffee
|
241
|
+
- lib/generators/templates/adapter.js.em
|
238
242
|
- lib/generators/templates/app.js
|
239
243
|
- lib/generators/templates/app.js.coffee
|
240
244
|
- lib/generators/templates/app.js.em
|
@@ -242,6 +246,9 @@ files:
|
|
242
246
|
- lib/generators/templates/application.js
|
243
247
|
- lib/generators/templates/application.js.coffee
|
244
248
|
- lib/generators/templates/application.js.em
|
249
|
+
- lib/generators/templates/application_adapter.js
|
250
|
+
- lib/generators/templates/application_adapter.js.coffee
|
251
|
+
- lib/generators/templates/application_adapter.js.em
|
245
252
|
- lib/generators/templates/array_controller.js
|
246
253
|
- lib/generators/templates/array_controller.js.coffee
|
247
254
|
- lib/generators/templates/array_controller.js.em
|
@@ -290,7 +297,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
290
297
|
version: '0'
|
291
298
|
requirements: []
|
292
299
|
rubyforge_project:
|
293
|
-
rubygems_version: 2.
|
300
|
+
rubygems_version: 2.2.2
|
294
301
|
signing_key:
|
295
302
|
specification_version: 4
|
296
303
|
summary: Ember for Rails 3.1+
|