pbw 0.0.6 → 0.0.7

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