forked from bryanlarsen/agility-gitorial-patches
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path28-generate-story-status-model.patch
113 lines (108 loc) · 3.08 KB
/
28-generate-story-status-model.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
generate-story-status-model
From: Bryan Larsen <bryan@larsen.st>
## Have a configurable set of statuses
In order to support management of the statuses available, we'll create a StoryStatus model
$ hobo generate resource story_status name:string
---
app/controllers/story_statuses_controller.rb | 7 +++++
app/models/story_status.rb | 29 +++++++++++++++++++++
test/fixtures/story_statuses.yml | 11 ++++++++
test/functional/story_statuses_controller_test.rb | 7 +++++
test/unit/story_status_test.rb | 7 +++++
5 files changed, 61 insertions(+)
create mode 100644 app/controllers/story_statuses_controller.rb
create mode 100644 app/models/story_status.rb
create mode 100644 test/fixtures/story_statuses.yml
create mode 100644 test/functional/story_statuses_controller_test.rb
create mode 100644 test/unit/story_status_test.rb
diff --git a/app/controllers/story_statuses_controller.rb b/app/controllers/story_statuses_controller.rb
new file mode 100644
index 0000000..53a3817
--- /dev/null
+++ b/app/controllers/story_statuses_controller.rb
@@ -0,0 +1,7 @@
+class StoryStatusesController < ApplicationController
+
+ hobo_model_controller
+
+ auto_actions :all
+
+end
diff --git a/app/models/story_status.rb b/app/models/story_status.rb
new file mode 100644
index 0000000..83ba26b
--- /dev/null
+++ b/app/models/story_status.rb
@@ -0,0 +1,29 @@
+class StoryStatus < ActiveRecord::Base
+
+ hobo_model # Don't put anything above this
+
+ fields do
+ name :string
+ timestamps
+ end
+ attr_accessible :name
+
+ # --- Permissions --- #
+
+ def create_permitted?
+ acting_user.administrator?
+ end
+
+ def update_permitted?
+ acting_user.administrator?
+ end
+
+ def destroy_permitted?
+ acting_user.administrator?
+ end
+
+ def view_permitted?(field)
+ true
+ end
+
+end
diff --git a/test/fixtures/story_statuses.yml b/test/fixtures/story_statuses.yml
new file mode 100644
index 0000000..c63aac0
--- /dev/null
+++ b/test/fixtures/story_statuses.yml
@@ -0,0 +1,11 @@
+# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html
+
+# This model initially had no columns defined. If you add columns to the
+# model remove the '{}' from the fixture names and add the columns immediately
+# below each fixture, per the syntax in the comments below
+#
+one: {}
+# column: value
+#
+two: {}
+# column: value
diff --git a/test/functional/story_statuses_controller_test.rb b/test/functional/story_statuses_controller_test.rb
new file mode 100644
index 0000000..95a0d48
--- /dev/null
+++ b/test/functional/story_statuses_controller_test.rb
@@ -0,0 +1,7 @@
+require 'test_helper'
+
+class StoryStatusesControllerTest < ActionController::TestCase
+ # test "the truth" do
+ # assert true
+ # end
+end
diff --git a/test/unit/story_status_test.rb b/test/unit/story_status_test.rb
new file mode 100644
index 0000000..4b7efb3
--- /dev/null
+++ b/test/unit/story_status_test.rb
@@ -0,0 +1,7 @@
+require 'test_helper'
+
+class StoryStatusTest < ActiveSupport::TestCase
+ # test "the truth" do
+ # assert true
+ # end
+end