ember-konacha-rails 0.1.1 → 0.2.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: 8b7440a8b9e2d5fa3b2be784ef9ce5e6774a5b3b
4
- data.tar.gz: db2679be97f99263ae2e5612f09f7886bcb4dbbc
3
+ metadata.gz: 417711f4a932963803b19dce898cfca5f0e020ad
4
+ data.tar.gz: c24adee490dee6614c5a173c863e8a32a2a1fd70
5
5
  SHA512:
6
- metadata.gz: 6000dacbf3deaa0f89334a1eb52008497397546f1c1324fef762f31814ed2795cf007f8ea040891c7ea41232ad977c39a7d7976a0f4b8d093779713347b327ae
7
- data.tar.gz: 2cd178e88be693a03de798be0efc619a50580c15a1202d68d0d9ff49356376e3f1fffdd1a916b27f6d3d6d1b5b4a57b9a0c1eab19a5bec83c1f3099fee954fd1
6
+ metadata.gz: ecbf799670c97f937fc638bd6729fe70090a01e20a94c84c2f94878ee09aaf251de88473c15069ccb18ebec2ea574c0dba483785cab2f81233b0b90b5357780f
7
+ data.tar.gz: 8ebf08d5b905d88f23d97804881f76d03b86dd1bb16d525fd4d02d3722b4580fa97845e87896baea629698a297eab4acbde02aa589e9eac71acea67328eb9bd2
@@ -0,0 +1,129 @@
1
+ ## Ember app structure
2
+
3
+ Proposed (recommended) app structure for large Ember app.
4
+
5
+ ```
6
+
7
+ - application.js
8
+
9
+ + app
10
+ - _loader.js
11
+ + authentication
12
+ + mixins
13
+
14
+ + config
15
+ + locales
16
+ - locale.js
17
+ - logging.js
18
+ - display.js
19
+
20
+ + controllers
21
+ + _mixins
22
+ + users
23
+ - user_controller
24
+ - users_controller
25
+ - session_controller
26
+
27
+ + helpers
28
+ + lib
29
+ + mixins
30
+
31
+ + models
32
+ + extensions
33
+ + mixins
34
+ - user.js
35
+
36
+ + views
37
+ + extensions
38
+ + mixins
39
+ - new_user_view.js
40
+ - user_view.js
41
+ - users_view.js
42
+
43
+ + routes
44
+ + helpers
45
+ + mixins
46
+ + shortcuts
47
+ - user_router.js
48
+ - index_router.js
49
+
50
+ + state_managers
51
+ + templates
52
+ - config.js
53
+ - controllers.js
54
+ - router.js
55
+ - helpers.js
56
+ - lib.js
57
+ - mixins.js
58
+ - models.js
59
+ - views.js
60
+ ```
61
+
62
+ ## application.js
63
+
64
+ ```
65
+ # application.js
66
+
67
+ #= require modernizr
68
+ #= require jquery
69
+ #= require handlebars
70
+ #= require ruby
71
+ #= require ember
72
+ #= require ember-data
73
+ #= require ember-data-validations
74
+ #= require ember-formBuilder
75
+ #= require bootstrap
76
+
77
+ #= require app/_loader_
78
+
79
+ #= require rails.validations
80
+ #= require rails.validations.ember
81
+
82
+ window.App = Ember.Application.create LOG_TRANSITIONS: true
83
+
84
+ # Defer App readiness until it should be advanced for either
85
+ # testing or production.
86
+ App.deferReadiness()
87
+
88
+ ```
89
+
90
+ ## app/_loader_.js
91
+
92
+ Responsible for loading all the Ember app files
93
+
94
+ ```javascript
95
+ # app/_loader_.js
96
+
97
+ #= require_self
98
+
99
+ #= require_tree lib
100
+ #= require_tree mixins
101
+ #= require_tree helpers
102
+ #= require_tree config
103
+
104
+ #= require store
105
+ #= require models
106
+ #= require controllers
107
+ #= require views
108
+ #= require templates
109
+
110
+ #= require state_managers
111
+ #= require authentication
112
+ #= require router
113
+
114
+ ```
115
+
116
+ ## models.js
117
+
118
+ Index files such as 'models.js' are useful in order to quickly change the load order of files or add/remove files to be included in the app ;)
119
+
120
+ You will likley have specific mixins for models, that should be loaded before the models they are mixed into - the reason for this pattern.
121
+
122
+ ```javascript
123
+ # models.js
124
+ #= require_tree ./models/mixins
125
+ #= require_tree ./models
126
+ ```
127
+
128
+ And so on ...
129
+
data/README.md CHANGED
@@ -2,8 +2,6 @@
2
2
 
3
3
  Generators to help setup an [ember-rails](https://github.com/emberjs/ember-rails) app with [konacha](https://github.com/jfirebaugh/konacha) testing.
4
4
 
5
- PS: Still young and under development... Please help improve it :)
6
-
7
5
  ## What?
8
6
 
9
7
  This gem has the stated goal of making it _easy_ to setup a good testing infrastructure for testing your *Ember-Rails* apps.
@@ -36,7 +34,7 @@ You can find more generators/scaffolders as part of [ember-tools](https://github
36
34
 
37
35
  Add this line to your application's Gemfile:
38
36
 
39
- gem 'ember-konacha-rails', github: 'kristianmandrup/ember-konacha-rails'
37
+ gem 'ember-konacha-rails'
40
38
 
41
39
  And then execute:
42
40
 
@@ -46,7 +44,6 @@ Or install it yourself (from rubygems) as:
46
44
 
47
45
  $ gem install ember-konacha-rails
48
46
 
49
-
50
47
  To see if the generators are installed:
51
48
 
52
49
  $ rails g
@@ -89,6 +86,7 @@ spec/javascripts/app/store_spec.js.coffee
89
86
 
90
87
  *Clean run (default settings)*
91
88
 
89
+ ```
92
90
  $ rails g ember_konacha:install
93
91
  gemfile konacha
94
92
  gemfile poltergeist
@@ -102,15 +100,17 @@ Trying to download sinon.js (http://sinonjs.org/releases/sinon-1.6.js) ...
102
100
  gsub app/assets/javascripts/application.js.coffee
103
101
  append app/assets/javascripts/application.js.coffee
104
102
  ================================================================================
103
+ ```
104
+
105
105
  Note: poltergeist requires you have installed PhantomJS headless JS driver.
106
106
 
107
107
  via Homebrew:
108
108
 
109
- brew install phantomjs
109
+ brew install phantomjs
110
110
 
111
111
  MacPorts:
112
112
 
113
- sudo port install phantomjs
113
+ sudo port install phantomjs
114
114
 
115
115
  See https://github.com/jonleighton/poltergeist
116
116
 
@@ -131,9 +131,16 @@ Now run Konacha!
131
131
 
132
132
  $ bundle exec rake konacha:run
133
133
 
134
+ To run specs in browser
135
+
136
+ $ bundle exec rake konacha:serve
137
+ $ open http://localhost:3500
138
+
134
139
  See more run options at https://github.com/jfirebaugh/konacha
135
140
 
136
- Note: make sure that the following is at the end of your `application.js.coffee` file:
141
+ ## Notice
142
+
143
+ Make sure that the following is at the end of your `application.js.coffee` file (or similar for pure javascript):
137
144
 
138
145
  ```javascript
139
146
  window.App = Ember.Application.create LOG_TRANSITIONS: true
@@ -143,17 +150,24 @@ window.App = Ember.Application.create LOG_TRANSITIONS: true
143
150
  App.deferReadiness()
144
151
  ```
145
152
 
146
- (or similar for pure javascript)
147
-
148
153
  The basic test setup/configuration can be found in `support/koncha_config.js.coffee` and `spec_helper.js.coffee` files.
149
154
 
150
- The `spec_helper` initializes the app explicitly using `App.advanceReadiness()` within `Ember.run` in the `beforeEach` closure. To run your app in the browser, while also allowing for testing, you need to explicitly call `App.advanceReadiness()` when your DOM is ready.
155
+ The `spec_helper` initializes the app explicitly using `App.advanceReadiness()` within `Ember.run` in the `beforeEach` closure. To run your app in the browser, while also allowing for testing, you need to explicitly call `App.advanceReadiness()`, f.ex when your DOM is ready.
156
+
157
+ ```javascript
158
+ $ ->
159
+ App.advanceReadiness()
160
+ ```
161
+
162
+ If you run the `install` generator with the `--with-index` option on, it will attempt to generate a standard application layout and index view file, with this all setup for you (using slim templating language!)
163
+
164
+ ### Install options
151
165
 
152
166
  To see install options, run:
153
167
 
154
168
  $ rails g ember_konacha:install --help
155
169
 
156
- Note: To avoid having to `bundle exec` install the gem in your current system gem repository, using `gem install ember_konacha` (when this is an official gem!).
170
+ Note: To avoid having to `bundle exec` install the gem in your current system gem repository, use `gem install ember_konacha` (when this is an official gem!).
157
171
 
158
172
  ## Guard Koncha config generator
159
173
 
@@ -203,7 +217,7 @@ Will generate an object controller, since persons is not a valid plural form!
203
217
 
204
218
  ### Generate Helper spec
205
219
 
206
- $ rails g ember_konacha:model_spec gravitation
220
+ $ rails g ember_konacha:helper_spec gravitation
207
221
 
208
222
  `spec/javascripts/helpers/gravitation_helper_spec.js.coffee`
209
223
 
@@ -213,6 +227,51 @@ The install generator will attempt to download sinon.js, first via httparty and
213
227
 
214
228
  Read more on [http://sinonjs.org/] for mocking, stubbing and creating test spies ;)
215
229
 
230
+ ### Application structure
231
+
232
+ A proposed [Ember App structure](https://github.com/kristianmandrup/ember-konacha-rails/EmberStructure.md) is included for reference.
233
+
234
+ ### Ember::ResourceController
235
+
236
+ An `Ember::ResourceController` module is now included, which contains utility methods for setting up the Controller actions to respond wth JSON resources.
237
+ To use it:
238
+
239
+ ```ruby
240
+ require 'ember/resource_controller'
241
+
242
+ class User
243
+ include Ember::ResourceController
244
+
245
+ # optional: overrides auto-detection via Controller name convention
246
+ resource :user
247
+ end
248
+ ```
249
+
250
+ Generates controller actions methods:
251
+
252
+ ```ruby
253
+ class UsersController
254
+ def index
255
+ render_json users
256
+ end
257
+
258
+ def show
259
+ render_json user
260
+ end
261
+
262
+ def destroy
263
+ render_json user.destroy
264
+ end
265
+
266
+ def update
267
+ render_json user.update(user_params)
268
+ end
269
+
270
+ def create
271
+ render_json user.save
272
+ end
273
+ ```
274
+
216
275
  ## Contributing
217
276
 
218
277
  Please help make it easier for developers tp get started using *Test Driven Development* (or BDD) for Ember with Rails.
@@ -222,3 +281,5 @@ Please help make it easier for developers tp get started using *Test Driven Deve
222
281
  3. Commit your changes (`git commit -am 'Add some feature'`)
223
282
  4. Push to the branch (`git push origin my-new-feature`)
224
283
  5. Create new Pull Request
284
+
285
+ Note: This gem could really use some specs ;) Please help out!
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_dependency "rails", ">= 3.1"
22
22
  spec.add_dependency "httparty", ">= 0.9"
23
+ spec.add_dependency "konacha"
23
24
 
24
25
  spec.add_development_dependency "bundler", "~> 1.3"
25
26
  spec.add_development_dependency "rake"
@@ -1,7 +1,7 @@
1
1
  module Ember
2
2
  module Konacha
3
3
  module Rails
4
- VERSION = "0.1.1"
4
+ VERSION = "0.2.0"
5
5
  end
6
6
  end
7
7
  end
@@ -0,0 +1,86 @@
1
+ module Ember
2
+ end
3
+
4
+ module Ember::ResourceController
5
+ def self.plural_actions
6
+ [:index]
7
+ end
8
+
9
+ def self.singular_actions
10
+ [:show, :destroy, :update, :create]
11
+ end
12
+
13
+ def self.resource name
14
+ @resource_name = name
15
+ end
16
+
17
+ def index
18
+ render_json all_resources
19
+ end
20
+
21
+ def show
22
+ render_json single_resource
23
+ end
24
+
25
+ def destroy
26
+ render_json single_resource.destroy
27
+ end
28
+
29
+ def update
30
+ render_json single_resource.update(params)
31
+ end
32
+
33
+ def create
34
+ render_json single_resource.save
35
+ end
36
+
37
+ protected
38
+
39
+ def render_json data, opts = {}
40
+ render json: data, opts
41
+ end
42
+
43
+ def new_resource
44
+ @new_resource ||= resource_class.new params
45
+ end
46
+
47
+ def all_resources
48
+ resource_class.all.to_a
49
+ end
50
+
51
+ def resource
52
+ @resource ||= resource_class.find resource_id
53
+ end
54
+
55
+ def resource_id
56
+ params[:id]
57
+ end
58
+
59
+ def params
60
+ params[resource_name.to_sym]
61
+ end
62
+
63
+ def controller_resource_name
64
+ @@resource_name || this.clazz.to_s.gsub(/Controller$/, '').demodulize
65
+ end
66
+
67
+ def resource_class
68
+ resource_class_name.constantize
69
+ end
70
+
71
+ def resource_class_name
72
+ controller_resource_name.camelize
73
+ end
74
+
75
+ def resource_name
76
+ @@resource_name || controller_resource_name.singularize
77
+ end
78
+
79
+ def single_resource
80
+ send resource_name.singularize
81
+ end
82
+
83
+ def all_resources
84
+ send resource_name.pluralize
85
+ end
86
+ end
@@ -1,4 +1,5 @@
1
1
  require 'generators/ember_konacha/gem_helper'
2
+ require 'generators/ember_konacha/setup_guide'
2
3
 
3
4
  module EmberKonacha
4
5
  module Generators
@@ -15,6 +16,10 @@ module EmberKonacha
15
16
  desc: 'Generate default view files for single page app',
16
17
  banner: 'Generate html view (index.html)'
17
18
 
19
+ class_option :guide, type: :boolean, default: false,
20
+ desc: 'Display a brief Ember Rails setup guide',
21
+ banner: 'Display setup guide'
22
+
18
23
  source_root File.expand_path('../templates', __FILE__)
19
24
 
20
25
  def do_validations
@@ -93,12 +98,30 @@ Using sinon-1.6.js supplied by this gem ;)}
93
98
 
94
99
  def create_view_files
95
100
  return unless with_index?
101
+
102
+ gem 'slim' unless has_gem? 'slim'
96
103
 
97
- copy_file 'spec/views/layouts/application.html.slim', 'app/views/layouts/application.html.slim'
98
- copy_file 'spec/views/application/index.html.slim', 'app/views/application/index.html.slim'
104
+ draw_border
105
+ say "Creating application index file and layout (slim)", :green
106
+
107
+ copy_file 'views/layouts/application.html.slim', 'app/views/layouts/application.html.slim'
108
+ copy_file 'views/application/index.html.slim', 'app/views/application/index.html.slim'
109
+
110
+ bundle_gems!
99
111
  end
100
112
 
113
+ def setup_guide
114
+ return unless guide?
101
115
 
116
+ draw_border
117
+ say %q{You might consider using RailsAPI (gem 'rails-api') for the REST API routes
118
+ The root route should go through a normal Rails controller (< ActionController::Base)
119
+ }, :green
120
+
121
+ draw_border
122
+ say setup_example, :green
123
+ end
124
+
102
125
  def post_install_notice
103
126
  return if skipped_driver?
104
127
 
@@ -107,14 +130,11 @@ Using sinon-1.6.js supplied by this gem ;)}
107
130
 
108
131
  protected
109
132
 
133
+ include EmberKonacha::SetupGuide
110
134
  include EmberKonacha::GemHelper
111
135
 
112
- def skip_driver
113
- @skipped_driver = true
114
- end
115
-
116
- def skipped_driver?
117
- @skipped_driver
136
+ def draw_border width = 80
137
+ say border(width), :green
118
138
  end
119
139
 
120
140
  def nice text
@@ -125,6 +145,14 @@ Using sinon-1.6.js supplied by this gem ;)}
125
145
  @border ||= "=" * width + "\n"
126
146
  end
127
147
 
148
+ def skip_driver
149
+ @skipped_driver = true
150
+ end
151
+
152
+ def skipped_driver?
153
+ @skipped_driver
154
+ end
155
+
128
156
  def coffee?
129
157
  true
130
158
  end
@@ -0,0 +1,60 @@
1
+ module EmberKonacha
2
+ module SetupGuide
3
+ def guide?
4
+ options[:guide]
5
+ end
6
+
7
+ def setup_example
8
+ %Q{#{routes_ex}
9
+ #{base_controllers_ex}
10
+ }
11
+ end
12
+
13
+ def routes_ex
14
+ %q{
15
+ # Using 'sweet_routing' gem API
16
+
17
+ EmberRailsAPI::Application.routes.draw do
18
+
19
+ app_root 'application#index'
20
+
21
+ json_resource :users, :except => :edit
22
+ end
23
+ }
24
+ end
25
+
26
+ def base_controllers_ex
27
+ %q{
28
+ # Only for root page
29
+ class ApplicationController < ActionController::Base
30
+ protect_from_forgery
31
+
32
+ def index
33
+ end
34
+ end
35
+
36
+ # Base class for all REST API controllers used with Ember
37
+ class APIController < ActionController::API
38
+ end
39
+
40
+ # Authorization controller
41
+ class AuthController < APIController
42
+ helper_method :current_user_json
43
+
44
+ rescue_from CanCan::AccessDenied do |exception|
45
+ redirect_to root_path, :alert => exception.message
46
+ end
47
+
48
+ # Perhaps check out ActiveSerializer CanCan
49
+ def current_user_json
50
+ if current_user
51
+ UserSerializer.new(current_user, :scope => current_user, :root => false).to_json
52
+ else
53
+ {}.to_json
54
+ end
55
+ end
56
+ end
57
+ }
58
+ end
59
+ end
60
+ end
@@ -2,7 +2,7 @@
2
2
  #= require sinon
3
3
 
4
4
  # Load all testing support files
5
- #= require_tree support
5
+ #= require_tree ./support
6
6
 
7
7
  #= require application
8
8
 
@@ -38,29 +38,29 @@ window.T = Test
38
38
  Konacha.reset = Ember.K
39
39
 
40
40
  beforeEach( (done) ->
41
- # Fake XHR
42
- window.server = TestUtil.fakeServer()
41
+ # Fake XHR
42
+ window.server = TestUtil.fakeServer()
43
43
 
44
- # Prevent automatic scheduling of runloops. For tests, we
45
- # want to have complete control of runloops.
46
- Ember.testing = true
44
+ # Prevent automatic scheduling of runloops. For tests, we
45
+ # want to have complete control of runloops.
46
+ Ember.testing = true
47
47
 
48
- # reset all test variables!
49
- window.Test = {}
48
+ # reset all test variables!
49
+ window.Test = {}
50
50
 
51
- Ember.run( ->
52
- # Advance App readiness, which was deferred when the app
53
- # was created.
51
+ Ember.run( ->
52
+ # Advance App readiness, which was deferred when the app
53
+ # was created.
54
54
 
55
- # This needs to be done here, after each iframe has been setup,
56
- # instead of in a global `before`.
57
- App.advanceReadiness()
55
+ # This needs to be done here, after each iframe has been setup,
56
+ # instead of in a global `before`.
57
+ App.advanceReadiness()
58
58
 
59
- # When App readiness promise resolves, setup is complete
60
- App.then( ->
61
- done()
62
- )
59
+ # When App readiness promise resolves, setup is complete
60
+ App.then( ->
61
+ done()
63
62
  )
63
+ )
64
64
  )
65
65
 
66
66
  afterEach( ->
@@ -74,4 +74,4 @@ afterEach( ->
74
74
 
75
75
  # Restore XHR
76
76
  window.server.restore()
77
- )
77
+ )
@@ -1,6 +1,6 @@
1
1
  #= require spec_helper
2
2
 
3
- describe "#{array_controller_name}", ->
3
+ describe "<%= array_controller_name %>", ->
4
4
  beforeEach( ->
5
5
  Test.store = TestUtil.lookupStore()
6
6
 
@@ -11,13 +11,13 @@ describe "#{array_controller_name}", ->
11
11
  {id: 3, name: 'Zeus'},
12
12
  ])
13
13
 
14
- controller = <%= controller_name %>.create()
14
+ controller = <%= array_controller_name %>.create()
15
15
  controller.set 'content', Test.store.findMany(<%= model_name %>, [1, 2, 3])
16
16
  )
17
17
  )
18
18
 
19
19
  it "displays items", ->
20
- assert.equal controller.get('length'), 3)
20
+ assert.equal controller.get('length'), 3
21
21
  assert.equal controller.objectAt(0).get('id'), '3'
22
22
  assert.equal controller.objectAt(1).get('id'), '2'
23
23
  assert.equal controller.objectAt(2).get('id'), '1'
@@ -1,6 +1,6 @@
1
1
  #= require spec_helper
2
2
 
3
- describe "#{base_controller_name}", ->
3
+ describe "<%= controller_name %>", ->
4
4
  beforeEach( ->
5
5
  # Init store
6
6
  Test.store = Util.lookupStore()
@@ -12,13 +12,13 @@ describe "<%= model_name %>", ->
12
12
  describe "attribute: name", ->
13
13
  it "can be created with valid value", ->
14
14
  Ember.run( ->
15
- Test.contact = <%= model_name %>.createRecord name: 'Joe'
15
+ Test.contact = Test.store.createRecord '<%= class_name.downcase %>', name: 'Joe'
16
16
  )
17
17
  expect(Test.contact.get 'name').to.equal 'Joe'
18
18
 
19
19
  it "can NOT be created with invalid value", ->
20
20
  Ember.run( ->
21
- Test.contact = <%= model_name %>.createRecord name: '123'
21
+ Test.contact = Test.store.createRecord '<%= class_name.downcase %>', name: '123'
22
22
  )
23
23
  expect(Test.contact.get 'name').to.not.equal 'Joe'
24
24
  expect(Test.contact.isValid).to.be false
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ember-konacha-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kristian Mandrup
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-04-04 00:00:00.000000000 Z
11
+ date: 2014-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0.9'
41
+ - !ruby/object:Gem::Dependency
42
+ name: konacha
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: bundler
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -74,6 +88,7 @@ extensions: []
74
88
  extra_rdoc_files: []
75
89
  files:
76
90
  - .gitignore
91
+ - EmberStructure.md
77
92
  - Gemfile
78
93
  - LICENSE.txt
79
94
  - README.md
@@ -81,6 +96,7 @@ files:
81
96
  - ember-konacha-rails.gemspec
82
97
  - lib/ember/konacha/rails.rb
83
98
  - lib/ember/konacha/rails/version.rb
99
+ - lib/ember/resource_controller.rb
84
100
  - lib/generators/ember_konacha/base_helper.rb
85
101
  - lib/generators/ember_konacha/controller_spec_generator.rb
86
102
  - lib/generators/ember_konacha/gem_helper.rb
@@ -88,6 +104,7 @@ files:
88
104
  - lib/generators/ember_konacha/helper_spec_generator.rb
89
105
  - lib/generators/ember_konacha/install_generator.rb
90
106
  - lib/generators/ember_konacha/model_spec_generator.rb
107
+ - lib/generators/ember_konacha/setup_guide.rb
91
108
  - lib/generators/ember_konacha/templates/.DS_Store
92
109
  - lib/generators/ember_konacha/templates/Guard_konacha.erb
93
110
  - lib/generators/ember_konacha/templates/konacha_config.js.coffee