pbw 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +8 -8
  2. data/app/controllers/pbw/base_models_controller.rb +22 -10
  3. data/app/controllers/pbw/commands_controller.rb +11 -0
  4. data/app/controllers/pbw/items_controller.rb +1 -1
  5. data/app/models/pbw/ability.rb +35 -11
  6. data/app/models/pbw/area.rb +25 -0
  7. data/app/models/pbw/attached_process.rb +41 -0
  8. data/app/models/pbw/capability.rb +20 -0
  9. data/app/models/pbw/command.rb +105 -0
  10. data/app/models/pbw/constraint.rb +20 -0
  11. data/app/models/pbw/item.rb +16 -0
  12. data/app/models/pbw/item_container.rb +16 -0
  13. data/app/models/pbw/item_conversion.rb +16 -0
  14. data/app/models/pbw/item_transfer.rb +16 -0
  15. data/app/models/pbw/process.rb +17 -8
  16. data/app/models/pbw/rule.rb +16 -0
  17. data/app/models/pbw/token.rb +26 -1
  18. data/app/models/pbw/trigger.rb +20 -0
  19. data/app/models/pbw/user.rb +50 -14
  20. data/config/initializers/devise.rb +0 -8
  21. data/config/routes.rb +1 -1
  22. data/lib/generators/pbw/area/area_generator.rb +4 -0
  23. data/lib/generators/pbw/item/item_generator.rb +4 -0
  24. data/lib/generators/pbw/rules/capability/capability_generator.rb +4 -0
  25. data/lib/generators/pbw/rules/command/USAGE +3 -3
  26. data/lib/generators/pbw/rules/command/command_generator.rb +11 -11
  27. data/lib/generators/pbw/rules/command/templates/model.coffee +1 -0
  28. data/lib/generators/pbw/rules/constraint/constraint_generator.rb +4 -0
  29. data/lib/generators/pbw/rules/process/process_generator.rb +4 -0
  30. data/lib/generators/pbw/rules/trigger/trigger_generator.rb +4 -0
  31. data/lib/generators/pbw/scaffold_generator.rb +3 -3
  32. data/lib/generators/pbw/token/token_generator.rb +4 -0
  33. data/lib/pbw/tick.rb +8 -0
  34. data/lib/pbw/update.rb +8 -0
  35. data/lib/pbw/version.rb +1 -1
  36. data/lib/tasks/pbw_tasks.rake +11 -4
  37. metadata +36 -14
  38. data/app/controllers/pbw/roles_controller.rb +0 -46
  39. data/app/models/pbw/permission.rb +0 -13
  40. data/app/models/pbw/role.rb +0 -26
  41. data/lib/generators/pbw/rules/command/templates/command.rb +0 -18
  42. data/lib/generators/pbw/rules/command/templates/index.erb +0 -6
  43. data/lib/generators/pbw/rules/command/templates/templates/edit.jst +0 -17
  44. data/lib/generators/pbw/rules/command/templates/templates/index.jst +0 -16
  45. data/lib/generators/pbw/rules/command/templates/templates/show.jst +0 -9
  46. data/lib/generators/pbw/rules/command/templates/views/edit_view.coffee +0 -24
  47. data/lib/generators/pbw/rules/command/templates/views/index_view.coffee +0 -20
  48. data/lib/generators/pbw/rules/command/templates/views/show_view.coffee +0 -8
@@ -2,9 +2,11 @@ module Pbw
2
2
  class User
3
3
  include ::Mongoid::Document
4
4
  include ::Mongoid::Timestamps
5
+
6
+ ROLES = %W{superadmin admin moderator player}
5
7
 
6
- devise :database_authenticatable, :registerable, :timeoutable, :confirmable,
7
- :recoverable, :rememberable, :trackable, :validatable, :lockable, :token_authenticatable
8
+ devise :database_authenticatable, :registerable, :timeoutable,
9
+ :recoverable, :rememberable, :trackable, :validatable, :lockable
8
10
 
9
11
  ## Database authenticatable
10
12
  field :email, :type => String, :default => ""
@@ -30,27 +32,61 @@ module Pbw
30
32
  validates_format_of :email, :with => /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/
31
33
  validates_confirmation_of :password
32
34
 
33
- belongs_to :role
34
-
35
- ## Confirmable
36
- field :confirmation_token, :type => String
37
- field :confirmed_at, :type => Time
38
- field :confirmation_sent_at, :type => Time
39
- field :unconfirmed_email, :type => String # Only if using reconfirmable
35
+ field :role, :type => String, :default => 'player'
40
36
 
41
37
  ## Lockable
42
38
  field :failed_attempts, :type => Integer, :default => 0 # Only if lock strategy is :failed_attempts
43
39
  field :unlock_token, :type => String # Only if unlock strategy is :email or :both
44
40
  field :locked_at, :type => Time
45
41
 
46
- ## Token authenticatable
47
- field :authentication_token, :type => String
48
-
49
42
  has_many :resource_containers
50
43
  has_many :tokens
51
44
 
52
- def super_admin?
53
- self.role.name == "Super Admin"
45
+ def superadmin?
46
+ self.role == "superadmin"
47
+ end
48
+
49
+ def make_superadmin!
50
+ self.role = "superadmin"
51
+ save!
52
+ end
53
+
54
+ def admin?
55
+ self.role == "admin"
56
+ end
57
+
58
+ def make_admin!
59
+ self.role = "admin"
60
+ save!
61
+ end
62
+
63
+ def moderator?
64
+ self.role == "moderator"
65
+ end
66
+
67
+ def make_moderator!
68
+ self.role = "moderator"
69
+ save!
70
+ end
71
+
72
+ def player?
73
+ self.role == "player"
74
+ end
75
+
76
+ def self.viewable_by?(user, subject)
77
+ true
78
+ end
79
+
80
+ def self.creatable_by?(user, subject)
81
+ true
82
+ end
83
+
84
+ def self.editable_by?(user, subject)
85
+ user.admin? || subject == user
86
+ end
87
+
88
+ def self.deletable_by?(user, subject)
89
+ user.admin?
54
90
  end
55
91
  end
56
92
  end
@@ -29,14 +29,6 @@ Devise.setup do |config|
29
29
 
30
30
  config.pepper = "63818839cfabfff3dcf5983671b4d2f01708727af5d512fd79a8afe7e744187a8976280cd31e8d1b023c2c29f4f396810c90ef15de5faaa20595e84bee4c9545"
31
31
 
32
- config.allow_unconfirmed_access_for = 2.days
33
-
34
- config.confirm_within = 3.days
35
-
36
- config.reconfirmable = true
37
-
38
- config.confirmation_keys = [ :email ]
39
-
40
32
  config.remember_for = 2.weeks
41
33
 
42
34
  config.extend_remember_period = false
data/config/routes.rb CHANGED
@@ -3,7 +3,7 @@ Pbw::Engine.routes.draw do
3
3
  class_name: 'Pbw::User',
4
4
  module: :devise
5
5
  }
6
- %W{areas capabilities constraints processes items tokens triggers}.each do |controller|
6
+ %W{areas capabilities constraints processes items tokens triggers commands}.each do |controller|
7
7
  get "#{controller}/:_type" => "#{controller}\#index"
8
8
  get "#{controller}/:_type/:id" => "#{controller}\#show"
9
9
  post "#{controller}/:_type" => "#{controller}\#create"
@@ -7,4 +7,8 @@ class Pbw::AreaGenerator < Pbw::Generators::ScaffoldGenerator
7
7
  def base_model_class
8
8
  "Pbw::Area"
9
9
  end
10
+
11
+ def model_namespace
12
+ "Areas"
13
+ end
10
14
  end
@@ -7,4 +7,8 @@ class Pbw::ItemGenerator < Pbw::Generators::ScaffoldGenerator
7
7
  def base_model_class
8
8
  "Pbw::Item"
9
9
  end
10
+
11
+ def model_namespace
12
+ "Items"
13
+ end
10
14
  end
@@ -8,4 +8,8 @@ class Pbw::Rules::CapabilityGenerator < Pbw::Generators::ScaffoldGenerator
8
8
  def base_model_class
9
9
  "Pbw::Capability"
10
10
  end
11
+
12
+ def model_namespace
13
+ "Capabilities"
14
+ end
11
15
  end
@@ -1,9 +1,9 @@
1
1
  Description:
2
- Generates command class plus Backbone scaffold
2
+ Generates command model class plus Backbone model, views and templates for submitting commands
3
3
 
4
4
  Example:
5
5
  rails generate pbw:rules:command MoveArmy area:string
6
6
 
7
7
  This will create:
8
- * A command class that defines the methods needed for processing commands
9
- * Backbone scaffold for your command class
8
+ * A model inheriting from Pbw::Command
9
+ * Backbone model, views and templates for submitting commands
@@ -1,18 +1,14 @@
1
1
  require 'generators/pbw/resource_helpers'
2
+ require 'generators/pbw/model_generator'
2
3
  require 'generators/pbw/rules/rules'
3
4
 
4
- class Pbw::Rules::CommandGenerator < Rails::Generators::NamedBase
5
- include Pbw::Generators::ResourceHelpers
5
+ class Pbw::Rules::CommandGenerator < Pbw::Generators::ModelGenerator
6
6
  source_root File.expand_path('../templates', __FILE__)
7
7
 
8
- argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
9
-
10
- def create_command
11
- template "command.rb", "app/models/commands/#{file_name}.rb"
12
- end
13
-
14
- def create_backbone_model
15
- template "model.coffee", "#{backbone_path}/models/#{file_name}.js.coffee"
8
+ def create_resources
9
+ generate "model", "Commands::#{class_name} #{attributes.map{|attr| "#{attr.name}:#{attr.type}"}.join(' ')}"
10
+ gsub_file "app/models/commands/#{file_name}.rb", "class Commands::#{class_name}", "class Commands::#{class_name} < #{base_model_class}"
11
+ gsub_file "app/models/commands/#{file_name}.rb", "include Mongoid::Document", ""
16
12
  end
17
13
 
18
14
  def create_view_files
@@ -26,6 +22,10 @@ class Pbw::Rules::CommandGenerator < Rails::Generators::NamedBase
26
22
 
27
23
  protected
28
24
  def available_views
29
- %w(index show new edit)
25
+ %w(new)
26
+ end
27
+
28
+ def base_model_class
29
+ "Pbw::Command"
30
30
  end
31
31
  end
@@ -3,6 +3,7 @@ class <%= model_namespace %> extends Backbone.Model
3
3
  urlRoot: '/pbw/commands/<%= class_name%>'
4
4
 
5
5
  defaults:
6
+ token: null
6
7
  _type: '<%= class_name%>'
7
8
  <% attributes.each do |attribute| -%>
8
9
  <%= attribute.name %>: null
@@ -8,4 +8,8 @@ class Pbw::Rules::ConstraintGenerator < Pbw::Generators::ScaffoldGenerator
8
8
  def base_model_class
9
9
  "Pbw::Constraint"
10
10
  end
11
+
12
+ def model_namespace
13
+ "Constraints"
14
+ end
11
15
  end
@@ -8,4 +8,8 @@ class Pbw::Rules::ProcessGenerator < Pbw::Generators::ScaffoldGenerator
8
8
  def base_model_class
9
9
  "Pbw::Process"
10
10
  end
11
+
12
+ def model_namespace
13
+ "Processes"
14
+ end
11
15
  end
@@ -8,4 +8,8 @@ class Pbw::Rules::TriggerGenerator < Pbw::Generators::ScaffoldGenerator
8
8
  def base_model_class
9
9
  "Pbw::Trigger"
10
10
  end
11
+
12
+ def model_namespace
13
+ "Triggers"
14
+ end
11
15
  end
@@ -18,11 +18,11 @@ module Pbw
18
18
  end
19
19
 
20
20
  def create_resources
21
- generate "model", "#{class_name} #{attributes.map{|attr| "#{attr.name}:#{attr.type}"}.join(' ')}"
21
+ generate "model", "#{model_namespace}::#{class_name} #{attributes.map{|attr| "#{attr.name}:#{attr.type}"}.join(' ')}"
22
22
  template "index.erb", "app/views/#{plural_name}/index.html.erb"
23
23
  generate "controller", "#{plural_name} index --skip"
24
- gsub_file "app/models/#{file_name}.rb", "class #{class_name}", "class #{class_name} < #{base_model_class}"
25
- gsub_file "app/models/#{file_name}.rb", "include Mongoid::Document", ""
24
+ gsub_file "app/models/#{model_namespace.downcase}/#{file_name}.rb", "class #{model_namespace}::#{class_name}", "class #{model_namespace}::#{class_name} < #{base_model_class}"
25
+ gsub_file "app/models/#{model_namespace.downcase}/#{file_name}.rb", "include Mongoid::Document", ""
26
26
  end
27
27
 
28
28
  protected
@@ -7,4 +7,8 @@ class Pbw::TokenGenerator < Pbw::Generators::ScaffoldGenerator
7
7
  def base_model_class
8
8
  "Pbw::Token"
9
9
  end
10
+
11
+ def model_namespace
12
+ "Tokens"
13
+ end
10
14
  end
data/lib/pbw/tick.rb ADDED
@@ -0,0 +1,8 @@
1
+ module Pbw
2
+ class Tick
3
+ def self.run
4
+ Command.tickable.each{|command| command.tick! }
5
+ AttachedProcess.tickable.each{|ap| ap.tick! }
6
+ end
7
+ end
8
+ end
data/lib/pbw/update.rb ADDED
@@ -0,0 +1,8 @@
1
+ module Pbw
2
+ class Update
3
+ def self.run
4
+ Command.updatable.each{|command| command.update! }
5
+ AttachedProcess.updatable.each{|ap| ap.update! }
6
+ end
7
+ end
8
+ end
data/lib/pbw/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pbw
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -1,4 +1,11 @@
1
- # desc "Explaining what the task does"
2
- # task :pbw do
3
- # # Task goes here
4
- # end
1
+ namespace :pbw do
2
+ desc "Runs ticks"
3
+ task :ticks do
4
+ Pbw::Tick.run
5
+ end
6
+
7
+ desc "Runs updates"
8
+ task :updates do
9
+ Pbw::Update.run
10
+ end
11
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pbw
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seyed P. Razavi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-17 00:00:00.000000000 Z
11
+ date: 2013-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -137,7 +137,35 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: rspec
140
+ name: mocha
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ! '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ! '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: turn
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: minitest
141
169
  requirement: !ruby/object:Gem::Requirement
142
170
  requirements:
143
171
  - - ! '>='
@@ -189,29 +217,29 @@ files:
189
217
  - app/controllers/pbw/areas_controller.rb
190
218
  - app/controllers/pbw/base_models_controller.rb
191
219
  - app/controllers/pbw/capabilities_controller.rb
220
+ - app/controllers/pbw/commands_controller.rb
192
221
  - app/controllers/pbw/constraints_controller.rb
193
222
  - app/controllers/pbw/item_containers_controller.rb
194
223
  - app/controllers/pbw/item_conversions_controller.rb
195
224
  - app/controllers/pbw/item_transfers_controller.rb
196
225
  - app/controllers/pbw/items_controller.rb
197
226
  - app/controllers/pbw/processes_controller.rb
198
- - app/controllers/pbw/roles_controller.rb
199
227
  - app/controllers/pbw/tokens_controller.rb
200
228
  - app/controllers/pbw/triggers_controller.rb
201
229
  - app/controllers/pbw/user_tokens_controller.rb
202
230
  - app/helpers/pbw/application_helper.rb
203
231
  - app/models/pbw/ability.rb
204
232
  - app/models/pbw/area.rb
233
+ - app/models/pbw/attached_process.rb
205
234
  - app/models/pbw/capability.rb
206
235
  - app/models/pbw/changeset.rb
236
+ - app/models/pbw/command.rb
207
237
  - app/models/pbw/constraint.rb
208
238
  - app/models/pbw/item.rb
209
239
  - app/models/pbw/item_container.rb
210
240
  - app/models/pbw/item_conversion.rb
211
241
  - app/models/pbw/item_transfer.rb
212
- - app/models/pbw/permission.rb
213
242
  - app/models/pbw/process.rb
214
- - app/models/pbw/role.rb
215
243
  - app/models/pbw/rule.rb
216
244
  - app/models/pbw/token.rb
217
245
  - app/models/pbw/trigger.rb
@@ -272,19 +300,11 @@ files:
272
300
  - lib/generators/pbw/rules/capability/templates/views/show_view.coffee
273
301
  - lib/generators/pbw/rules/capability/USAGE
274
302
  - lib/generators/pbw/rules/command/command_generator.rb
275
- - lib/generators/pbw/rules/command/templates/command.rb
276
- - lib/generators/pbw/rules/command/templates/index.erb
277
303
  - lib/generators/pbw/rules/command/templates/model.coffee
278
- - lib/generators/pbw/rules/command/templates/templates/edit.jst
279
- - lib/generators/pbw/rules/command/templates/templates/index.jst
280
304
  - lib/generators/pbw/rules/command/templates/templates/model.jst
281
305
  - lib/generators/pbw/rules/command/templates/templates/new.jst
282
- - lib/generators/pbw/rules/command/templates/templates/show.jst
283
- - lib/generators/pbw/rules/command/templates/views/edit_view.coffee
284
- - lib/generators/pbw/rules/command/templates/views/index_view.coffee
285
306
  - lib/generators/pbw/rules/command/templates/views/model_view.coffee
286
307
  - lib/generators/pbw/rules/command/templates/views/new_view.coffee
287
- - lib/generators/pbw/rules/command/templates/views/show_view.coffee
288
308
  - lib/generators/pbw/rules/command/USAGE
289
309
  - lib/generators/pbw/rules/constraint/constraint_generator.rb
290
310
  - lib/generators/pbw/rules/constraint/templates/index.erb
@@ -349,6 +369,8 @@ files:
349
369
  - lib/generators/pbw/token/token_generator.rb
350
370
  - lib/generators/pbw/token/USAGE
351
371
  - lib/pbw/engine.rb
372
+ - lib/pbw/tick.rb
373
+ - lib/pbw/update.rb
352
374
  - lib/pbw/version.rb
353
375
  - lib/pbw.rb
354
376
  - lib/tasks/pbw_tasks.rake
@@ -1,46 +0,0 @@
1
- module Pbw
2
- class RolesController < ApplicationController
3
- respond_to :json
4
-
5
- before_filter :authenticate_user!
6
- before_filter :is_super_admin?
7
-
8
- def index
9
- @roles = Role.all.keep_if{|i| i.name != "Super Admin"}
10
- render json: @roles
11
- end
12
-
13
- def show
14
- @role = Role.find(params[:id])
15
- @permissions = @role.permissions
16
- render json: {role: @role, permissions: @permissions}
17
- end
18
-
19
- def edit
20
- @role = Role.find(params[:id])
21
- @permissions = Permission.all
22
- @role_permissions = @role.permissions.collect{|p| p.id}
23
- render json: {role: @role, permissions: @permissions, role_permissions: @role_permissions}
24
- end
25
-
26
- def update
27
- @role = Role.find(params[:id])
28
- @role.permissions = []
29
- @role.set_permissions(params[:permissions]) if params[:permissions]
30
- if @role.save
31
- render json: {notice: "Role updated"}
32
- return
33
- end
34
- render 'edit'
35
- end
36
-
37
- private
38
-
39
- def is_super_admin?
40
- unless current_user.super_admin?
41
- render json: {:error => "Access denied. You are not authorized to access the requested page."}, status: 401
42
- return false
43
- end
44
- end
45
- end
46
- end
@@ -1,13 +0,0 @@
1
- module Pbw
2
- class Permission
3
- include ::Mongoid::Document
4
- include ::Mongoid::Timestamps
5
- field :subject_class, type: String
6
- field :action, type: String
7
- field :name, type: String
8
-
9
- attr_accessible :subject_class, :action, :name
10
-
11
- has_and_belongs_to_many :roles
12
- end
13
- end
@@ -1,26 +0,0 @@
1
- module Pbw
2
- class Role
3
- include ::Mongoid::Document
4
- include ::Mongoid::Timestamps
5
- field :name, type: String
6
- attr_accessible :name
7
- has_many :users
8
-
9
- validates :name, presence: true, uniqueness: true
10
-
11
- has_and_belongs_to_many :permissions
12
-
13
- def set_permission(subject_class, action)
14
- p = Permission.where(subject_class: subject_class, action: action)
15
- p = Permission.create(subject_class: subject_class, action: action) unless p
16
- self.permissions << p
17
- end
18
-
19
- def set_permissions(permissions)
20
- permissions.each do |id|
21
- permission = Permission.find(id)
22
- self.permissions << p
23
- end
24
- end
25
- end
26
- end
@@ -1,18 +0,0 @@
1
- class Commands::<%=class_name%>
2
- <% attributes.each do |attribute| -%>
3
- attr_accessor :<%=attribute.name%>
4
- <% end -%>
5
- attr_accessor :token
6
-
7
- def valid_token?(token)
8
- # define checks to make sure token is valid for this command
9
- false
10
- end
11
-
12
- def processes
13
- # specify the processes that is called by this command
14
- # return either a single object inheriting from Pbw::Process or an array of them
15
- # Example:
16
- # Process.where(name: 'Move')
17
- end
18
- end
@@ -1,6 +0,0 @@
1
- <script type="text/javascript">
2
- $(function() {
3
- window.router = new <%= router_namespace %>Router;
4
- Backbone.history.start();
5
- });
6
- </script>
@@ -1,17 +0,0 @@
1
- <h1>Edit <%= singular_table_name %></h1>
2
-
3
- <form id="edit-<%= singular_table_name %>" name="<%= singular_table_name %>">
4
- <% attributes.each do |attribute| -%>
5
- <div class="field">
6
- <label for="<%= attribute.name %>"> <%= attribute.human_name %>:</label>
7
- <input type="text" name="<%= attribute.name %>" id="<%= attribute.name %>" value="<%%= <%= attribute.name %> %>" >
8
- </div>
9
-
10
- <% end -%>
11
- <div class="actions">
12
- <input type="submit" value="Update <%= human_name %>" />
13
- </div>
14
-
15
- </form>
16
-
17
- <a href="#/">Back</a>
@@ -1,16 +0,0 @@
1
- <h1>Listing <%= plural_table_name %></h1>
2
-
3
- <table id="<%= plural_name %>-table">
4
- <tr>
5
- <% attributes.each do |attribute| -%>
6
- <th><%= attribute.human_name %></th>
7
- <% end -%>
8
- <th></th>
9
- <th></th>
10
- <th></th>
11
- </tr>
12
- </table>
13
-
14
- <br/>
15
-
16
- <a href="#/new">New <%= human_name %></a>
@@ -1,9 +0,0 @@
1
- <% attributes.each do |attribute| -%>
2
- <p>
3
- <b><%= attribute.human_name %>:</b>
4
- <%%= <%= attribute.name %> %>
5
- </p>
6
-
7
- <% end -%>
8
-
9
- <a href="#/">Back</a>
@@ -1,24 +0,0 @@
1
- <%= view_namespace %> ||= {}
2
-
3
- class <%= view_namespace %>.EditView extends Backbone.View
4
- template: JST["<%= jst 'edit' %>"]
5
-
6
- events:
7
- "submit #edit-<%= singular_name %>": "update"
8
-
9
- update: (e) ->
10
- e.preventDefault()
11
- e.stopPropagation()
12
-
13
- @model.save(null,
14
- success: (<%= singular_name %>) =>
15
- @model = <%= singular_name %>
16
- window.location.hash = "/#{@model.id}"
17
- )
18
-
19
- render: ->
20
- @$el.html(@template(@model.toJSON() ))
21
-
22
- this.$("form").backboneLink(@model)
23
-
24
- return this
@@ -1,20 +0,0 @@
1
- <%= view_namespace %> ||= {}
2
-
3
- class <%= view_namespace %>.IndexView extends Backbone.View
4
- template: JST["<%= jst 'index' %>"]
5
-
6
- initialize: () ->
7
- @options.<%= plural_model_name %>.bind('reset', @addAll)
8
-
9
- addAll: () =>
10
- @options.<%= plural_model_name %>.each(@addOne)
11
-
12
- addOne: (<%= singular_model_name %>) =>
13
- view = new <%= view_namespace %>.<%= singular_name.camelize %>View({model : <%= singular_model_name %>})
14
- @$("tbody").append(view.render().el)
15
-
16
- render: =>
17
- @$el.html(@template(<%= plural_model_name %>: @options.<%= plural_model_name %>.toJSON() ))
18
- @addAll()
19
-
20
- return this
@@ -1,8 +0,0 @@
1
- <%= view_namespace %> ||= {}
2
-
3
- class <%= view_namespace %>.ShowView extends Backbone.View
4
- template: JST["<%= jst 'show' %>"]
5
-
6
- render: ->
7
- @$el.html(@template(@model.toJSON() ))
8
- return this