ember-rails 0.15.1 → 0.16.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3d46472d346a709f8580fb4050457cc583d25c02
4
- data.tar.gz: 584df87b5a4286f252d6358856d11893af17caa0
3
+ metadata.gz: 020f2f3771234456fc51419a375bfe4be3b01be3
4
+ data.tar.gz: 87e169fa757402db45e3935ee6c3d6068f8bd220
5
5
  SHA512:
6
- metadata.gz: ff21e550943f708355597fcc7ef9bc51661b5680199e0c1cdfbb7c497bcd062210194f301795ee438ec95a8dc0c74b1ffd0c378f8a298a88974c358a4285d98e
7
- data.tar.gz: 77c10beb5d970e42b94cd6138a0860835182d9e01334e10d07c20e40148229aa5e8b65d747026c8d09b8c248a8b4b0ce5e81dc9c34fd9268d262b18ea2cb8c19
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::FilePrecompiler.call(string)
67
+ "Handlebars.template(#{Barber::Precompiler.compile(string)});"
68
68
  end
69
69
 
70
- def compile_ember_handlebars(string)
71
- "Ember.Handlebars.compile(#{indent(string).inspect});"
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::FilePrecompiler.call(string)
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)
@@ -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
@@ -1,5 +1,5 @@
1
1
  module Ember
2
2
  module Rails
3
- VERSION = '0.15.1'
3
+ VERSION = '0.16.0'
4
4
  end
5
5
  end
@@ -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, ember-data, and handlebars bundled in
27
- # ember-source, ember-data-source, and handlebars-source to a tmp folder.
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"
@@ -0,0 +1,5 @@
1
+ // For more information see: http://emberjs.com/guides/models/customizing-adapters/
2
+
3
+ <%= application_name.camelize %>.<%= class_name.camelize %>Adapter = DS.ActiveModelAdapter.extend({
4
+
5
+ });
@@ -0,0 +1,5 @@
1
+ # For more information see: http://emberjs.com/guides/models/customizing-adapters/
2
+
3
+ <%= application_name.camelize %>.<%= class_name.camelize %>Adapter = DS.ActiveModelAdapter.extend({
4
+
5
+ })
@@ -0,0 +1,3 @@
1
+ # For more information see: http://emberjs.com/guides/models/customizing-adapters/
2
+
3
+ class <%= application_name.camelize %>.<%= class_name.camelize %>Adapter extends DS.ActiveModelAdapter
@@ -1,4 +1,5 @@
1
1
  //= require ./store
2
+ //= require_tree ./adapters
2
3
  //= require_tree ./mixins
3
4
  //= require_tree ./models
4
5
  //= require_tree ./controllers
@@ -1,4 +1,5 @@
1
1
  #= require ./store
2
+ #= require_tree ./adapters
2
3
  #= require_tree ./mixins
3
4
  #= require_tree ./models
4
5
  #= require_tree ./controllers
@@ -1,4 +1,5 @@
1
1
  #= require ./store
2
+ #= require_tree ./adapters
2
3
  #= require_tree ./mixins
3
4
  #= require_tree ./models
4
5
  #= require_tree ./controllers
@@ -0,0 +1,5 @@
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
+ });
@@ -0,0 +1,5 @@
1
+ # Override the default adapter with the `DS.ActiveModelAdapter` which
2
+
3
+ <%= application_name.camelize %>.ApplicationAdapter = DS.ActiveModelAdapter.extend({
4
+
5
+ })
@@ -0,0 +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
@@ -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.15.1
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-13 00:00:00.000000000 Z
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.4.1
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.4.1
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.4.5
300
+ rubygems_version: 2.2.2
294
301
  signing_key:
295
302
  specification_version: 4
296
303
  summary: Ember for Rails 3.1+