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 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+