bumble 0.1.0

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 (125) hide show
  1. data/.gitignore +16 -0
  2. data/.rvmrc +1 -0
  3. data/Gemfile +4 -0
  4. data/Rakefile +1 -0
  5. data/Readme.mdown +8 -0
  6. data/app/controllers/bumble_controller.rb +45 -0
  7. data/app/controllers/comments_controller.rb +99 -0
  8. data/app/controllers/password_resets_controller.rb +34 -0
  9. data/app/controllers/posts_controller.rb +103 -0
  10. data/app/controllers/user_sessions_controller.rb +22 -0
  11. data/app/controllers/users_controller.rb +60 -0
  12. data/app/helpers/bumble_helper.rb +50 -0
  13. data/app/models/asset.rb +57 -0
  14. data/app/models/comment.rb +78 -0
  15. data/app/models/notifier.rb +35 -0
  16. data/app/models/post.rb +57 -0
  17. data/app/models/posts/blog.rb +3 -0
  18. data/app/models/posts/code.rb +3 -0
  19. data/app/models/posts/image.rb +3 -0
  20. data/app/models/posts/link.rb +7 -0
  21. data/app/models/posts/quote.rb +3 -0
  22. data/app/models/posts/video.rb +4 -0
  23. data/app/models/user.rb +35 -0
  24. data/app/models/user_session.rb +2 -0
  25. data/app/views/comments/_comment.html.haml +14 -0
  26. data/app/views/comments/_form.html.haml +9 -0
  27. data/app/views/comments/edit.html.haml +7 -0
  28. data/app/views/comments/index.atom.builder +15 -0
  29. data/app/views/comments/new.html.haml +7 -0
  30. data/app/views/layouts/_sidebar.html.haml +20 -0
  31. data/app/views/layouts/bumble.html.haml +35 -0
  32. data/app/views/notifier/activation_confirmation.erb +5 -0
  33. data/app/views/notifier/activation_instructions.erb +5 -0
  34. data/app/views/notifier/new_comment_alert.erb +8 -0
  35. data/app/views/notifier/password_reset_instructions.erb +8 -0
  36. data/app/views/password_resets/edit.html.haml +10 -0
  37. data/app/views/password_resets/new.html.haml +7 -0
  38. data/app/views/posts/_form.html.haml +10 -0
  39. data/app/views/posts/_post.html.haml +16 -0
  40. data/app/views/posts/_preview.html.haml +8 -0
  41. data/app/views/posts/edit.html.haml +10 -0
  42. data/app/views/posts/forms/_blog.html.haml +4 -0
  43. data/app/views/posts/forms/_code.html.haml +6 -0
  44. data/app/views/posts/forms/_image.html.haml +9 -0
  45. data/app/views/posts/forms/_link.html.haml +6 -0
  46. data/app/views/posts/forms/_quote.html.haml +4 -0
  47. data/app/views/posts/forms/_video.html.haml +6 -0
  48. data/app/views/posts/index.atom.builder +15 -0
  49. data/app/views/posts/index.html.haml +21 -0
  50. data/app/views/posts/new.html.haml +8 -0
  51. data/app/views/posts/search.html.haml +27 -0
  52. data/app/views/posts/show.html.haml +22 -0
  53. data/app/views/posts/types/_blog.html.haml +4 -0
  54. data/app/views/posts/types/_code.html.haml +7 -0
  55. data/app/views/posts/types/_image.html.haml +3 -0
  56. data/app/views/posts/types/_link.html.haml +3 -0
  57. data/app/views/posts/types/_quote.html.haml +2 -0
  58. data/app/views/posts/types/_video.html.haml +5 -0
  59. data/app/views/user_sessions/new.html.haml +10 -0
  60. data/app/views/users/_form.html.haml +12 -0
  61. data/app/views/users/_user.html.haml +3 -0
  62. data/app/views/users/delete.html.haml +5 -0
  63. data/app/views/users/edit.html.haml +8 -0
  64. data/app/views/users/index.html.haml +3 -0
  65. data/app/views/users/new.html.haml +7 -0
  66. data/app/views/users/show.html.haml +6 -0
  67. data/bumble.gemspec +31 -0
  68. data/config/initializers/bumble.rb +9 -0
  69. data/config/initializers/haml.rb +2 -0
  70. data/config/initializers/html5_forms.rb +163 -0
  71. data/config/initializers/inflections.rb +10 -0
  72. data/config/initializers/mime_types.rb +5 -0
  73. data/config/initializers/will_paginate.rb +3 -0
  74. data/config/routes.rb +29 -0
  75. data/lib/bumble.rb +18 -0
  76. data/lib/bumble/version.rb +3 -0
  77. data/lib/generators/bumble/assets_generator.rb +10 -0
  78. data/lib/generators/bumble/migrations_generator.rb +40 -0
  79. data/lib/generators/bumble/templates/assets/images/.gitignore +0 -0
  80. data/lib/generators/bumble/templates/assets/images/close.png +0 -0
  81. data/lib/generators/bumble/templates/assets/images/email.png +0 -0
  82. data/lib/generators/bumble/templates/assets/images/feed.png +0 -0
  83. data/lib/generators/bumble/templates/assets/images/image.png +0 -0
  84. data/lib/generators/bumble/templates/assets/images/loading.gif +0 -0
  85. data/lib/generators/bumble/templates/assets/images/preview.png +0 -0
  86. data/lib/generators/bumble/templates/assets/images/shortcut.png +0 -0
  87. data/lib/generators/bumble/templates/assets/images/youtube.png +0 -0
  88. data/lib/generators/bumble/templates/assets/javascripts/admin.js +95 -0
  89. data/lib/generators/bumble/templates/assets/javascripts/bumble.js +76 -0
  90. data/lib/generators/bumble/templates/assets/javascripts/iphone.js +7 -0
  91. data/lib/generators/bumble/templates/assets/javascripts/jquery.autogrow.js +37 -0
  92. data/lib/generators/bumble/templates/assets/javascripts/jquery.cookie.js +96 -0
  93. data/lib/generators/bumble/templates/assets/javascripts/jquery.form.js +665 -0
  94. data/lib/generators/bumble/templates/assets/javascripts/jquery.hint.js +44 -0
  95. data/lib/generators/bumble/templates/assets/javascripts/jquery.jgrow.js +85 -0
  96. data/lib/generators/bumble/templates/assets/javascripts/jquery.js +154 -0
  97. data/lib/generators/bumble/templates/assets/javascripts/jquery.ui.core.js +18 -0
  98. data/lib/generators/bumble/templates/assets/javascripts/jquery.ui.tabs.js +13 -0
  99. data/lib/generators/bumble/templates/assets/javascripts/jquery.ui.widget.js +18 -0
  100. data/lib/generators/bumble/templates/assets/javascripts/jquery.validate.js +16 -0
  101. data/lib/generators/bumble/templates/assets/javascripts/modernizr.js +13 -0
  102. data/lib/generators/bumble/templates/assets/javascripts/ui.core.js +289 -0
  103. data/lib/generators/bumble/templates/assets/javascripts/ui.tabs.js +593 -0
  104. data/lib/generators/bumble/templates/migrations/add_approved_to_comments.rb +15 -0
  105. data/lib/generators/bumble/templates/migrations/add_delta_to_posts.rb +9 -0
  106. data/lib/generators/bumble/templates/migrations/add_missing_indexes.rb +24 -0
  107. data/lib/generators/bumble/templates/migrations/add_url_to_users.rb +9 -0
  108. data/lib/generators/bumble/templates/migrations/create_assets.rb +18 -0
  109. data/lib/generators/bumble/templates/migrations/create_comments.rb +19 -0
  110. data/lib/generators/bumble/templates/migrations/create_posts.rb +25 -0
  111. data/lib/generators/bumble/templates/migrations/create_users.rb +28 -0
  112. data/lib/generators/bumble/templates/migrations/full_text_search.rb +13 -0
  113. data/public/stylesheets/sass/bumble.sass +423 -0
  114. data/public/stylesheets/sass/iphone.sass +79 -0
  115. data/public/stylesheets/sass/print.sass +2 -0
  116. data/public/stylesheets/sass/reset.sass +49 -0
  117. data/test/factories.rb +28 -0
  118. data/test/functional/comments_controller_test.rb +177 -0
  119. data/test/functional/password_resets_controller_test.rb +61 -0
  120. data/test/functional/posts_controller_test.rb +181 -0
  121. data/test/test_helper.rb +113 -0
  122. data/test/unit/comment_test.rb +18 -0
  123. data/test/unit/post_test.rb +18 -0
  124. data/test/unit/user_test.rb +37 -0
  125. metadata +403 -0
@@ -0,0 +1,113 @@
1
+ ENV["RAILS_ENV"] = "test"
2
+ require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
3
+ require 'test_help'
4
+ require "authlogic/test_case"
5
+
6
+ class ActiveSupport::TestCase
7
+ # Transactional fixtures accelerate your tests by wrapping each test method
8
+ # in a transaction that's rolled back on completion. This ensures that the
9
+ # test database remains unchanged so your fixtures don't have to be reloaded
10
+ # between every test method. Fewer database queries means faster tests.
11
+ #
12
+ # Read Mike Clark's excellent walkthrough at
13
+ # http://clarkware.com/cgi/blosxom/2005/10/24#Rails10FastTesting
14
+ #
15
+ # Every Active Record database supports transactions except MyISAM tables
16
+ # in MySQL. Turn off transactional fixtures in this case; however, if you
17
+ # don't care one way or the other, switching from MyISAM to InnoDB tables
18
+ # is recommended.
19
+ #
20
+ # The only drawback to using transactional fixtures is when you actually
21
+ # need to test transactions. Since your test is bracketed by a transaction,
22
+ # any transactions started in your code will be automatically rolled back.
23
+ self.use_transactional_fixtures = true
24
+
25
+ # Instantiated fixtures are slow, but give you @david where otherwise you
26
+ # would need people(:david). If you don't want to migrate your existing
27
+ # test cases which use the @david style and don't mind the speed hit (each
28
+ # instantiated fixtures translates to a database query per test method),
29
+ # then set this back to true.
30
+ self.use_instantiated_fixtures = false
31
+
32
+ # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
33
+ #
34
+ # Note: You'll currently still have to declare fixtures explicitly in integration tests
35
+ # -- they do not yet inherit this setting
36
+ fixtures :all
37
+
38
+ # Add more helper methods to be used by all tests here...
39
+ def self.should_have_timestamps
40
+ should_have_db_columns :created_at, :updated_at, :type => :datetime
41
+ end
42
+
43
+ def self.should_accept_nested_attributes_for(*attr_names)
44
+ klass = self.name.gsub(/Test$/, '').constantize
45
+
46
+ context "#{klass}" do
47
+ attr_names.each do |association_name|
48
+ should "accept nested attrs for #{association_name}" do
49
+ meth = "#{association_name}_attributes="
50
+ assert ([meth,meth.to_sym].any?{ |m| klass.instance_methods.include?(m) }),
51
+ "#{klass} does not accept nested attributes for #{association_name}"
52
+ end
53
+ end
54
+ end
55
+ end
56
+
57
+ def self.should_have_attached_file(attachment)
58
+ klass = self.name.gsub(/Test$/, '').constantize
59
+
60
+ context "To support a paperclip attachment named #{attachment}, #{klass}" do
61
+ should_have_db_column("#{attachment}_file_name", :type => :string)
62
+ should_have_db_column("#{attachment}_content_type", :type => :string)
63
+ should_have_db_column("#{attachment}_file_size", :type => :integer)
64
+ end
65
+
66
+ should "have a paperclip attachment named ##{attachment}" do
67
+ assert klass.new.respond_to?(attachment.to_sym), "@#{klass.name.underscore} doesn't have a paperclip field named #{attachment}"
68
+ assert_equal Paperclip::Attachment, klass.new.send(attachment.to_sym).class
69
+ end
70
+ end
71
+
72
+ def self.should_be_paranoid
73
+ klass = model_class
74
+ should_have_db_column :deleted_at
75
+
76
+ should "be paranoid (it will not be deleted from the database)" do
77
+ # Removed so that it tests the model has declared is_paranoid
78
+ # assert klass.is_paranoid
79
+ assert klass.included_modules.include?(IsParanoid::InstanceMethods)
80
+ end
81
+
82
+ should "not have a value for deleted_at" do
83
+ assert object = klass.find(:first)
84
+ assert_nil object.deleted_at
85
+ end
86
+
87
+ context "when destroyed" do
88
+ setup do
89
+ assert object = klass.find(:first), "This context requires there to be an existing #{klass}"
90
+ @deleted_id = object.id
91
+ object.destroy
92
+ end
93
+
94
+ should "not be found" do
95
+ assert_raise(ActiveRecord::RecordNotFound) { klass.find(@deleted_id) }
96
+ end
97
+
98
+ should "still exist in the database" do
99
+ deleted_object = klass.find_with_destroyed(@deleted_id)
100
+ assert_not_nil deleted_object.deleted_at
101
+ end
102
+ end
103
+ end
104
+
105
+ def self.should_be_denied_access(message = 'You must be logged in to do that!')
106
+ should_set_the_flash_to message
107
+ should_redirect_to('the login page') { login_url}
108
+ end
109
+
110
+ def dom_id(object)
111
+ "#{object.class.to_s.downcase}_#{object.id}"
112
+ end
113
+ end
@@ -0,0 +1,18 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../test_helper.rb")
2
+
3
+ class CommentTest < ActiveSupport::TestCase
4
+
5
+ should_have_db_columns :body, :type => :text
6
+ should_have_db_column :user_id, :post_id, :type => :integer
7
+ should_have_timestamps
8
+
9
+ context "a comment" do
10
+ setup do
11
+ @comment = Factory.create(:comment)
12
+ end
13
+
14
+ should_be_paranoid
15
+ should_validate_presence_of :body
16
+ should_belong_to :user
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../test_helper.rb")
2
+
3
+ class PostTest < ActiveSupport::TestCase
4
+
5
+ should_have_db_columns :title, :permalink, :type => :string
6
+ should_have_db_column :user_id, :type => :integer
7
+ should_have_timestamps
8
+
9
+ context "a post" do
10
+ setup do
11
+ @post = Factory.create(:post)
12
+ end
13
+
14
+ should_be_paranoid
15
+ should_validate_presence_of :user
16
+ should_belong_to :user
17
+ end
18
+ end
@@ -0,0 +1,37 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../test_helper.rb")
2
+
3
+ class UserTest < ActiveSupport::TestCase
4
+ should_have_db_column :email, :crypted_password, :password_salt, :persistence_token, :type => :string, :null => false
5
+ should_have_db_column :current_login_ip, :last_login_ip, :first_name, :last_name, :type => :string
6
+ should_have_db_column :perishable_token, :type => :string
7
+
8
+ should_have_db_columns :login_count, :failed_login_count, :type => :integer, :default => 0
9
+
10
+ should_have_db_columns :last_request_at, :current_login_at, :last_login_at, :activated_at, :type => :datetime
11
+ should_have_timestamps
12
+
13
+ context "a user" do
14
+ setup do
15
+ @user = Factory.create(:user)
16
+ end
17
+
18
+ should_be_paranoid
19
+ should_validate_presence_of :first_name
20
+
21
+ should "update activated_at when activated" do
22
+ @user.activate!
23
+ assert @user.activated_at
24
+ end
25
+ end
26
+
27
+ context "a new user" do
28
+ setup do
29
+ @user = Factory.create(:user)
30
+ end
31
+
32
+ should "not be activated" do
33
+ assert_equal @user.activated_at, nil
34
+ end
35
+ end
36
+
37
+ end
metadata ADDED
@@ -0,0 +1,403 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bumble
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 0
10
+ version: 0.1.0
11
+ platform: ruby
12
+ authors:
13
+ - Andrew Nesbitt
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-06-05 00:00:00 +01:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rails
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - "="
28
+ - !ruby/object:Gem::Version
29
+ hash: 9
30
+ segments:
31
+ - 3
32
+ - 0
33
+ - 7
34
+ version: 3.0.7
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: will_paginate
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ hash: -1876988247
46
+ segments:
47
+ - 3
48
+ - 0
49
+ - pre2
50
+ version: 3.0.pre2
51
+ type: :runtime
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: gravtastic
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ hash: 13
62
+ segments:
63
+ - 2
64
+ - 1
65
+ - 3
66
+ version: 2.1.3
67
+ type: :runtime
68
+ version_requirements: *id003
69
+ - !ruby/object:Gem::Dependency
70
+ name: authlogic
71
+ prerelease: false
72
+ requirement: &id004 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ hash: 9
78
+ segments:
79
+ - 2
80
+ - 1
81
+ - 1
82
+ version: 2.1.1
83
+ type: :runtime
84
+ version_requirements: *id004
85
+ - !ruby/object:Gem::Dependency
86
+ name: rdiscount
87
+ prerelease: false
88
+ requirement: &id005 !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - "="
92
+ - !ruby/object:Gem::Version
93
+ hash: 31
94
+ segments:
95
+ - 1
96
+ - 6
97
+ - 8
98
+ version: 1.6.8
99
+ type: :runtime
100
+ version_requirements: *id005
101
+ - !ruby/object:Gem::Dependency
102
+ name: haml
103
+ prerelease: false
104
+ requirement: &id006 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ hash: 1
110
+ segments:
111
+ - 3
112
+ - 1
113
+ - 1
114
+ version: 3.1.1
115
+ type: :runtime
116
+ version_requirements: *id006
117
+ - !ruby/object:Gem::Dependency
118
+ name: texticle
119
+ prerelease: false
120
+ requirement: &id007 !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ hash: 31
126
+ segments:
127
+ - 1
128
+ - 0
129
+ - 4
130
+ version: 1.0.4
131
+ type: :runtime
132
+ version_requirements: *id007
133
+ - !ruby/object:Gem::Dependency
134
+ name: paperclip
135
+ prerelease: false
136
+ requirement: &id008 !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - "="
140
+ - !ruby/object:Gem::Version
141
+ hash: 11
142
+ segments:
143
+ - 2
144
+ - 3
145
+ - 4
146
+ version: 2.3.4
147
+ type: :runtime
148
+ version_requirements: *id008
149
+ - !ruby/object:Gem::Dependency
150
+ name: pg
151
+ prerelease: false
152
+ requirement: &id009 !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ~>
156
+ - !ruby/object:Gem::Version
157
+ hash: 53
158
+ segments:
159
+ - 0
160
+ - 10
161
+ - 1
162
+ version: 0.10.1
163
+ type: :runtime
164
+ version_requirements: *id009
165
+ - !ruby/object:Gem::Dependency
166
+ name: aws-s3
167
+ prerelease: false
168
+ requirement: &id010 !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ~>
172
+ - !ruby/object:Gem::Version
173
+ hash: 3
174
+ segments:
175
+ - 0
176
+ - 6
177
+ - 2
178
+ version: 0.6.2
179
+ type: :runtime
180
+ version_requirements: *id010
181
+ - !ruby/object:Gem::Dependency
182
+ name: dynamic_form
183
+ prerelease: false
184
+ requirement: &id011 !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - "="
188
+ - !ruby/object:Gem::Version
189
+ hash: 27
190
+ segments:
191
+ - 1
192
+ - 1
193
+ - 4
194
+ version: 1.1.4
195
+ type: :runtime
196
+ version_requirements: *id011
197
+ - !ruby/object:Gem::Dependency
198
+ name: sass
199
+ prerelease: false
200
+ requirement: &id012 !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ~>
204
+ - !ruby/object:Gem::Version
205
+ hash: 7
206
+ segments:
207
+ - 3
208
+ - 1
209
+ - 2
210
+ version: 3.1.2
211
+ type: :runtime
212
+ version_requirements: *id012
213
+ - !ruby/object:Gem::Dependency
214
+ name: akismetor
215
+ prerelease: false
216
+ requirement: &id013 !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ hash: 3
222
+ segments:
223
+ - 0
224
+ version: "0"
225
+ type: :runtime
226
+ version_requirements: *id013
227
+ description:
228
+ email:
229
+ - andrewnez@gmail.com
230
+ executables: []
231
+
232
+ extensions: []
233
+
234
+ extra_rdoc_files: []
235
+
236
+ files:
237
+ - .gitignore
238
+ - .rvmrc
239
+ - Gemfile
240
+ - Rakefile
241
+ - Readme.mdown
242
+ - app/controllers/bumble_controller.rb
243
+ - app/controllers/comments_controller.rb
244
+ - app/controllers/password_resets_controller.rb
245
+ - app/controllers/posts_controller.rb
246
+ - app/controllers/user_sessions_controller.rb
247
+ - app/controllers/users_controller.rb
248
+ - app/helpers/bumble_helper.rb
249
+ - app/models/asset.rb
250
+ - app/models/comment.rb
251
+ - app/models/notifier.rb
252
+ - app/models/post.rb
253
+ - app/models/posts/blog.rb
254
+ - app/models/posts/code.rb
255
+ - app/models/posts/image.rb
256
+ - app/models/posts/link.rb
257
+ - app/models/posts/quote.rb
258
+ - app/models/posts/video.rb
259
+ - app/models/user.rb
260
+ - app/models/user_session.rb
261
+ - app/views/comments/_comment.html.haml
262
+ - app/views/comments/_form.html.haml
263
+ - app/views/comments/edit.html.haml
264
+ - app/views/comments/index.atom.builder
265
+ - app/views/comments/new.html.haml
266
+ - app/views/layouts/_sidebar.html.haml
267
+ - app/views/layouts/bumble.html.haml
268
+ - app/views/notifier/activation_confirmation.erb
269
+ - app/views/notifier/activation_instructions.erb
270
+ - app/views/notifier/new_comment_alert.erb
271
+ - app/views/notifier/password_reset_instructions.erb
272
+ - app/views/password_resets/edit.html.haml
273
+ - app/views/password_resets/new.html.haml
274
+ - app/views/posts/_form.html.haml
275
+ - app/views/posts/_post.html.haml
276
+ - app/views/posts/_preview.html.haml
277
+ - app/views/posts/edit.html.haml
278
+ - app/views/posts/forms/_blog.html.haml
279
+ - app/views/posts/forms/_code.html.haml
280
+ - app/views/posts/forms/_image.html.haml
281
+ - app/views/posts/forms/_link.html.haml
282
+ - app/views/posts/forms/_quote.html.haml
283
+ - app/views/posts/forms/_video.html.haml
284
+ - app/views/posts/index.atom.builder
285
+ - app/views/posts/index.html.haml
286
+ - app/views/posts/new.html.haml
287
+ - app/views/posts/search.html.haml
288
+ - app/views/posts/show.html.haml
289
+ - app/views/posts/types/_blog.html.haml
290
+ - app/views/posts/types/_code.html.haml
291
+ - app/views/posts/types/_image.html.haml
292
+ - app/views/posts/types/_link.html.haml
293
+ - app/views/posts/types/_quote.html.haml
294
+ - app/views/posts/types/_video.html.haml
295
+ - app/views/user_sessions/new.html.haml
296
+ - app/views/users/_form.html.haml
297
+ - app/views/users/_user.html.haml
298
+ - app/views/users/delete.html.haml
299
+ - app/views/users/edit.html.haml
300
+ - app/views/users/index.html.haml
301
+ - app/views/users/new.html.haml
302
+ - app/views/users/show.html.haml
303
+ - bumble.gemspec
304
+ - config/initializers/bumble.rb
305
+ - config/initializers/haml.rb
306
+ - config/initializers/html5_forms.rb
307
+ - config/initializers/inflections.rb
308
+ - config/initializers/mime_types.rb
309
+ - config/initializers/will_paginate.rb
310
+ - config/routes.rb
311
+ - lib/bumble.rb
312
+ - lib/bumble/version.rb
313
+ - lib/generators/bumble/assets_generator.rb
314
+ - lib/generators/bumble/migrations_generator.rb
315
+ - lib/generators/bumble/templates/assets/images/.gitignore
316
+ - lib/generators/bumble/templates/assets/images/close.png
317
+ - lib/generators/bumble/templates/assets/images/email.png
318
+ - lib/generators/bumble/templates/assets/images/feed.png
319
+ - lib/generators/bumble/templates/assets/images/image.png
320
+ - lib/generators/bumble/templates/assets/images/loading.gif
321
+ - lib/generators/bumble/templates/assets/images/preview.png
322
+ - lib/generators/bumble/templates/assets/images/shortcut.png
323
+ - lib/generators/bumble/templates/assets/images/youtube.png
324
+ - lib/generators/bumble/templates/assets/javascripts/admin.js
325
+ - lib/generators/bumble/templates/assets/javascripts/bumble.js
326
+ - lib/generators/bumble/templates/assets/javascripts/iphone.js
327
+ - lib/generators/bumble/templates/assets/javascripts/jquery.autogrow.js
328
+ - lib/generators/bumble/templates/assets/javascripts/jquery.cookie.js
329
+ - lib/generators/bumble/templates/assets/javascripts/jquery.form.js
330
+ - lib/generators/bumble/templates/assets/javascripts/jquery.hint.js
331
+ - lib/generators/bumble/templates/assets/javascripts/jquery.jgrow.js
332
+ - lib/generators/bumble/templates/assets/javascripts/jquery.js
333
+ - lib/generators/bumble/templates/assets/javascripts/jquery.ui.core.js
334
+ - lib/generators/bumble/templates/assets/javascripts/jquery.ui.tabs.js
335
+ - lib/generators/bumble/templates/assets/javascripts/jquery.ui.widget.js
336
+ - lib/generators/bumble/templates/assets/javascripts/jquery.validate.js
337
+ - lib/generators/bumble/templates/assets/javascripts/modernizr.js
338
+ - lib/generators/bumble/templates/assets/javascripts/ui.core.js
339
+ - lib/generators/bumble/templates/assets/javascripts/ui.tabs.js
340
+ - lib/generators/bumble/templates/migrations/add_approved_to_comments.rb
341
+ - lib/generators/bumble/templates/migrations/add_delta_to_posts.rb
342
+ - lib/generators/bumble/templates/migrations/add_missing_indexes.rb
343
+ - lib/generators/bumble/templates/migrations/add_url_to_users.rb
344
+ - lib/generators/bumble/templates/migrations/create_assets.rb
345
+ - lib/generators/bumble/templates/migrations/create_comments.rb
346
+ - lib/generators/bumble/templates/migrations/create_posts.rb
347
+ - lib/generators/bumble/templates/migrations/create_users.rb
348
+ - lib/generators/bumble/templates/migrations/full_text_search.rb
349
+ - public/stylesheets/sass/bumble.sass
350
+ - public/stylesheets/sass/iphone.sass
351
+ - public/stylesheets/sass/print.sass
352
+ - public/stylesheets/sass/reset.sass
353
+ - test/factories.rb
354
+ - test/functional/comments_controller_test.rb
355
+ - test/functional/password_resets_controller_test.rb
356
+ - test/functional/posts_controller_test.rb
357
+ - test/test_helper.rb
358
+ - test/unit/comment_test.rb
359
+ - test/unit/post_test.rb
360
+ - test/unit/user_test.rb
361
+ has_rdoc: true
362
+ homepage: ""
363
+ licenses: []
364
+
365
+ post_install_message:
366
+ rdoc_options: []
367
+
368
+ require_paths:
369
+ - lib
370
+ required_ruby_version: !ruby/object:Gem::Requirement
371
+ none: false
372
+ requirements:
373
+ - - ">="
374
+ - !ruby/object:Gem::Version
375
+ hash: 3
376
+ segments:
377
+ - 0
378
+ version: "0"
379
+ required_rubygems_version: !ruby/object:Gem::Requirement
380
+ none: false
381
+ requirements:
382
+ - - ">="
383
+ - !ruby/object:Gem::Version
384
+ hash: 3
385
+ segments:
386
+ - 0
387
+ version: "0"
388
+ requirements: []
389
+
390
+ rubyforge_project:
391
+ rubygems_version: 1.3.7
392
+ signing_key:
393
+ specification_version: 3
394
+ summary: Rails 3 Tumblog Engine
395
+ test_files:
396
+ - test/factories.rb
397
+ - test/functional/comments_controller_test.rb
398
+ - test/functional/password_resets_controller_test.rb
399
+ - test/functional/posts_controller_test.rb
400
+ - test/test_helper.rb
401
+ - test/unit/comment_test.rb
402
+ - test/unit/post_test.rb
403
+ - test/unit/user_test.rb