bloggable 0.2.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 (34) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +28 -0
  3. data/Rakefile +37 -0
  4. data/app/assets/config/bloggable_manifest.js +2 -0
  5. data/app/assets/javascripts/bloggable/application.js +13 -0
  6. data/app/assets/javascripts/bloggable/articles.js +2 -0
  7. data/app/assets/stylesheets/bloggable/application.css +15 -0
  8. data/app/assets/stylesheets/bloggable/articles.css +4 -0
  9. data/app/assets/stylesheets/scaffold.css +84 -0
  10. data/app/concerns/blogify.rb +16 -0
  11. data/app/controllers/bloggable/application_controller.rb +4 -0
  12. data/app/controllers/bloggable/articles_controller.rb +65 -0
  13. data/app/helpers/bloggable/application_helper.rb +4 -0
  14. data/app/helpers/bloggable/articles_helper.rb +4 -0
  15. data/app/jobs/bloggable/application_job.rb +4 -0
  16. data/app/mailers/bloggable/application_mailer.rb +6 -0
  17. data/app/models/bloggable/application_record.rb +5 -0
  18. data/app/models/bloggable/article.rb +37 -0
  19. data/app/models/bloggable/comment.rb +7 -0
  20. data/app/views/bloggable/articles/_form.html.haml +17 -0
  21. data/app/views/bloggable/articles/edit.html.haml +5 -0
  22. data/app/views/bloggable/articles/index.html.haml +18 -0
  23. data/app/views/bloggable/articles/new.html.haml +5 -0
  24. data/app/views/bloggable/articles/show.html.haml +10 -0
  25. data/config/routes.rb +5 -0
  26. data/db/migrate/20161031012133_create_bloggable_articles.rb +18 -0
  27. data/db/migrate/20161031021621_create_bloggable_comments.rb +13 -0
  28. data/db/migrate/20161101200328_add_aasm_state_to_bloggable_articles.rb +5 -0
  29. data/db/seeds.rb +1 -0
  30. data/lib/bloggable.rb +7 -0
  31. data/lib/bloggable/engine.rb +22 -0
  32. data/lib/bloggable/version.rb +3 -0
  33. data/lib/tasks/bloggable_tasks.rake +4 -0
  34. metadata +342 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: c58e67a20890bb834d5103db28f6c01331ee9b18ca6599c3e55228835730a7fe
4
+ data.tar.gz: 228596bbc59958d82ffdd00bfbb8be30ea5ef237ef171fafdbabb03cd9e137de
5
+ SHA512:
6
+ metadata.gz: 7788c3d9558f30ffadfeda3a9ac46598dd173cc1192a28a2887dd5c71be5971f2dd4d9c919d0ae294a0cb4a03cce0150ca67cd4f3b48a4769007875523e8f8b1
7
+ data.tar.gz: 4b3b72a8cc25fc70da7772427a9b4c57cf0b34a2674cd5103c2ab1e69263123607c0efaffea14f20acf481a56d063ca5dcd1a1a6b77845e1752a369c42932a4c
@@ -0,0 +1,28 @@
1
+ # Bloggable
2
+ Short description and motivation.
3
+
4
+ ## Usage
5
+ How to use my plugin.
6
+
7
+ ## Installation
8
+ Add this line to your application's Gemfile:
9
+
10
+ ```ruby
11
+ gem 'bloggable'
12
+ ```
13
+
14
+ And then execute:
15
+ ```bash
16
+ $ bundle
17
+ ```
18
+
19
+ Or install it yourself as:
20
+ ```bash
21
+ $ gem install bloggable
22
+ ```
23
+
24
+ ## Contributing
25
+ Contribution directions go here.
26
+
27
+ ## License
28
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
@@ -0,0 +1,37 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'Bloggable'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.md')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+ APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
18
+ load 'rails/tasks/engine.rake'
19
+
20
+
21
+ load 'rails/tasks/statistics.rake'
22
+
23
+
24
+
25
+ require 'bundler/gem_tasks'
26
+
27
+ require 'rake/testtask'
28
+
29
+ Rake::TestTask.new(:test) do |t|
30
+ t.libs << 'lib'
31
+ t.libs << 'test'
32
+ t.pattern = 'test/**/*_test.rb'
33
+ t.verbose = false
34
+ end
35
+
36
+
37
+ task default: :test
@@ -0,0 +1,2 @@
1
+ //= link_directory ../javascripts/bloggable .js
2
+ //= link_directory ../stylesheets/bloggable .css
@@ -0,0 +1,13 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file. JavaScript code in this file should be added after the last require_* statement.
9
+ //
10
+ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require_tree .
@@ -0,0 +1,2 @@
1
+ // Place all the behaviors and hooks related to the matching controller here.
2
+ // All this logic will automatically be available in application.js.
@@ -0,0 +1,15 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
+ *
13
+ *= require_tree .
14
+ *= require_self
15
+ */
@@ -0,0 +1,4 @@
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
@@ -0,0 +1,84 @@
1
+ body {
2
+ background-color: #fff;
3
+ color: #333;
4
+ }
5
+
6
+ body, p, ol, ul, td {
7
+ font-family: verdana, arial, helvetica, sans-serif;
8
+ font-size: 13px;
9
+ line-height: 18px;
10
+ margin: 33px;
11
+ }
12
+
13
+ pre {
14
+ background-color: #eee;
15
+ padding: 10px;
16
+ font-size: 11px;
17
+ }
18
+
19
+ a {
20
+ color: #000;
21
+ }
22
+
23
+ a:visited {
24
+ color: #666;
25
+ }
26
+
27
+ a:hover {
28
+ color: #fff;
29
+ background-color: #000;
30
+ }
31
+
32
+ th {
33
+ padding-bottom: 5px;
34
+ }
35
+
36
+ td {
37
+ padding-bottom: 7px;
38
+ padding-left: 5px;
39
+ padding-right: 5px;
40
+ }
41
+
42
+ div.field,
43
+ div.actions {
44
+ margin-bottom: 10px;
45
+ }
46
+
47
+ #notice {
48
+ color: green;
49
+ }
50
+
51
+ .field_with_errors {
52
+ padding: 2px;
53
+ background-color: red;
54
+ display: table;
55
+ }
56
+
57
+ #error_explanation {
58
+ width: 450px;
59
+ border: 2px solid red;
60
+ padding: 7px;
61
+ padding-bottom: 0;
62
+ margin-bottom: 20px;
63
+ background-color: #f0f0f0;
64
+ }
65
+
66
+ #error_explanation h2 {
67
+ text-align: left;
68
+ font-weight: bold;
69
+ padding: 5px 5px 5px 15px;
70
+ font-size: 12px;
71
+ margin: -7px;
72
+ margin-bottom: 0;
73
+ background-color: #c00;
74
+ color: #fff;
75
+ }
76
+
77
+ #error_explanation ul li {
78
+ font-size: 12px;
79
+ list-style: square;
80
+ }
81
+
82
+ label {
83
+ display: block;
84
+ }
@@ -0,0 +1,16 @@
1
+ module Blogify
2
+ extend ActiveSupport::Concern
3
+
4
+ module ClassMethods
5
+
6
+ def bloggable?
7
+ true
8
+ end
9
+ end
10
+
11
+ included do
12
+
13
+ has_many :articles, as: :bloggable, inverse_of: true
14
+ has_many :comments, through: :articles
15
+ end
16
+ end
@@ -0,0 +1,4 @@
1
+ module Bloggable
2
+ class ApplicationController < ::ApplicationController
3
+ end
4
+ end
@@ -0,0 +1,65 @@
1
+ # require_dependency "bloggable/application_controller"
2
+
3
+ module Bloggable
4
+
5
+ class ArticlesController < ::ApplicationController
6
+
7
+ before_action :set_article, only: [:show, :edit, :update, :destroy]
8
+ before_action :set_bloggable, only: :create
9
+ before_action :authenticate_user!, except: [:show, :index]
10
+
11
+
12
+ def index
13
+ @articles = Article.all
14
+ end
15
+
16
+ def show
17
+ end
18
+
19
+ def new
20
+
21
+ @article = Article.new
22
+ end
23
+
24
+ def edit
25
+ end
26
+
27
+ def create
28
+ @article = Article.new(article_params.merge(bloggable_type: @bloggable.class.to_s, bloggable_id: @bloggable.id))
29
+ if @article.save
30
+ redirect_to @article, notice: 'Article was successfully created.'
31
+ else
32
+ render :new
33
+ end
34
+ end
35
+
36
+ def update
37
+ if @article.update(article_params)
38
+ redirect_to @article, notice: 'Article was successfully updated.'
39
+ else
40
+ render :edit
41
+ end
42
+ end
43
+
44
+ def destroy
45
+ @article.destroy
46
+ redirect_to articles_url, notice: 'Article was successfully destroyed.'
47
+ end
48
+
49
+ private
50
+
51
+ def set_bloggable
52
+ url = URI(request.referrer).path.split("/articles").first.split("/")
53
+
54
+ @bloggable = url[-2] ? url[-2].classify.safe_constantize.find(url[-1]) : current_user
55
+ end
56
+
57
+ def set_article
58
+ @article = Article.friendly.find(params[:id])
59
+ end
60
+
61
+ def article_params
62
+ params.require(:article).permit!#(:title, :text, :bloggable_id, :bloggable_type)
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,4 @@
1
+ module Bloggable
2
+ module ApplicationHelper
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module Bloggable
2
+ module ArticlesHelper
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module Bloggable
2
+ class ApplicationJob < ActiveJob::Base
3
+ end
4
+ end
@@ -0,0 +1,6 @@
1
+ module Bloggable
2
+ class ApplicationMailer < ActionMailer::Base
3
+ default from: 'from@example.com'
4
+ layout 'mailer'
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ module Bloggable
2
+ class ApplicationRecord < ActiveRecord::Base
3
+ self.abstract_class = true
4
+ end
5
+ end
@@ -0,0 +1,37 @@
1
+ module Bloggable
2
+ class Article < ApplicationRecord
3
+
4
+ # include Gallerify
5
+ include AASM
6
+
7
+ extend FriendlyId
8
+ friendly_id :title, use: :slugged
9
+
10
+
11
+ belongs_to :bloggable, polymorphic: true, touch: true, optional: true
12
+ belongs_to :author, class_name: "User", optional: true
13
+
14
+ has_many :comments, dependent: :destroy
15
+
16
+ default_scope { order("created_at desc") }
17
+
18
+ aasm do
19
+ state :draft, :initial => true
20
+ state :published
21
+ state :archived
22
+
23
+ event :publish do
24
+ transitions :from => :draft, :to => :published
25
+ end
26
+
27
+ event :archive do
28
+ transitions :from => [:draft, :published], :to => :archived
29
+ end
30
+ end
31
+
32
+ def set_transition_timestamp(given_status, time=Time.now)
33
+ timestamp_field = "#{given_status}_at".to_sym
34
+ self[timestamp_field] = time
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,7 @@
1
+ module Bloggable
2
+ class Comment < ApplicationRecord
3
+
4
+ belongs_to :article
5
+ belongs_to :commenter, class_name: "User"
6
+ end
7
+ end
@@ -0,0 +1,17 @@
1
+ = form_for(article) do |f|
2
+ - if article.errors.any?
3
+ #error_explanation
4
+ %h2
5
+ = pluralize(article.errors.count, "error")
6
+ prohibited this article from being saved:
7
+ %ul
8
+ - article.errors.full_messages.each do |message|
9
+ %li= message
10
+ .field
11
+ = f.label :title
12
+ = f.text_field :title
13
+ .field
14
+ = f.label :text
15
+ = f.text_area :text
16
+ .actions
17
+ = f.submit
@@ -0,0 +1,5 @@
1
+ %h1 Editing Article
2
+ = render 'form', article: @article
3
+ = link_to 'Show', @article
4
+ |
5
+ = link_to 'Back', articles_path
@@ -0,0 +1,18 @@
1
+ -# %p#notice= notice
2
+ -# %h1 Articles
3
+ -# %table
4
+ -# %thead
5
+ -# %tr
6
+ -# %th Title
7
+ -# %th Text
8
+ -# %th{:colspan => "3"}
9
+ -# %tbody
10
+ -# - @articles.each do |article|
11
+ -# %tr
12
+ -# %td= article.title
13
+ -# %td= article.text
14
+ -# %td= link_to 'Show', article
15
+ -# %td= link_to 'Edit', edit_article_path(article)
16
+ -# %td= link_to 'Destroy', article, method: :delete, data: { confirm: 'Are you sure?' }
17
+ -# %br/
18
+ -# = link_to 'New Article', bloggable.new_article_path
@@ -0,0 +1,5 @@
1
+ = @bloggable
2
+
3
+ %h1 New Article
4
+ = render 'form', article: @article
5
+ = link_to 'Back', articles_path
@@ -0,0 +1,10 @@
1
+ %p#notice= notice
2
+ %p
3
+ %strong Title:
4
+ = @article.title
5
+ %p
6
+ %strong Text:
7
+ = @article.text
8
+ = link_to 'Edit', edit_article_path(@article)
9
+ |
10
+ = link_to 'Back', articles_path
@@ -0,0 +1,5 @@
1
+ Bloggable::Engine.routes.draw do
2
+
3
+ resources :articles
4
+
5
+ end
@@ -0,0 +1,18 @@
1
+ class CreateBloggableArticles < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :bloggable_articles do |t|
4
+ t.string :title
5
+ t.string :slug
6
+ t.text :text
7
+ t.integer :author_id
8
+ t.integer :bloggable_id
9
+ t.string :bloggable_type
10
+
11
+ t.timestamps
12
+ end
13
+
14
+ add_index :bloggable_articles, :title
15
+ add_index :bloggable_articles, :slug
16
+ add_index :bloggable_articles, [:bloggable_id, :bloggable_type], name: "bloggable"
17
+ end
18
+ end
@@ -0,0 +1,13 @@
1
+ class CreateBloggableComments < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :bloggable_comments do |t|
4
+ t.integer :article_id
5
+ t.text :text
6
+ t.integer :commenter_id
7
+
8
+ t.timestamps
9
+ end
10
+
11
+ add_index :bloggable_comments, [:article_id, :commenter_id]
12
+ end
13
+ end
@@ -0,0 +1,5 @@
1
+ class AddAasmStateToBloggableArticles < ActiveRecord::Migration[5.2]
2
+ def change
3
+ add_column :bloggable_articles, :aasm_state, :string
4
+ end
5
+ end
@@ -0,0 +1 @@
1
+ User.create(name: "Freddo")
@@ -0,0 +1,7 @@
1
+ require "bloggable/engine"
2
+
3
+ module Bloggable
4
+ require 'aasm'
5
+ require 'devise'
6
+ require 'friendly_id'
7
+ end
@@ -0,0 +1,22 @@
1
+ module Bloggable
2
+ class Engine < ::Rails::Engine
3
+ isolate_namespace Bloggable
4
+
5
+ config.generators do |g|
6
+ g.fixture_replacement :factory_girl
7
+ end
8
+
9
+ config.to_prepare do
10
+ # include all helpers from your application
11
+ Bloggable::ApplicationController.helper Rails.application.helpers
12
+
13
+ Dir.glob(Rails.root + "app/decorators/**/*_decorator*.rb").each do |c|
14
+ require_dependency(c)
15
+ end
16
+ end
17
+
18
+ initializer "model_core.factories", :after => "factory_girl.set_factory_paths" do
19
+ FactoryGirl.definition_file_paths << File.expand_path('../../../test/factories', __FILE__) if defined?(FactoryGirl)
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,3 @@
1
+ module Bloggable
2
+ VERSION = '0.2.0'
3
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :bloggable do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,342 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bloggable
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - schadenfred
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-09-07 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: jquery-ui-rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: haml-rails
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'
55
+ - !ruby/object:Gem::Dependency
56
+ name: redcarpet
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: simple_form
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: friendly_id
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: aasm
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: factory_girl_rails
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: byebug
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: minitest-rails-capybara
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: minitest-given
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: launchy
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: guard
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: guard-minitest
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: database_cleaner
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: guard-livereload
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: better_errors
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: binding_of_caller
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: pg
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
279
+ description: Add a blog to orgs or users or whatever
280
+ email:
281
+ - fred.schoeneman@gmail.com
282
+ executables: []
283
+ extensions: []
284
+ extra_rdoc_files: []
285
+ files:
286
+ - README.md
287
+ - Rakefile
288
+ - app/assets/config/bloggable_manifest.js
289
+ - app/assets/javascripts/bloggable/application.js
290
+ - app/assets/javascripts/bloggable/articles.js
291
+ - app/assets/stylesheets/bloggable/application.css
292
+ - app/assets/stylesheets/bloggable/articles.css
293
+ - app/assets/stylesheets/scaffold.css
294
+ - app/concerns/blogify.rb
295
+ - app/controllers/bloggable/application_controller.rb
296
+ - app/controllers/bloggable/articles_controller.rb
297
+ - app/helpers/bloggable/application_helper.rb
298
+ - app/helpers/bloggable/articles_helper.rb
299
+ - app/jobs/bloggable/application_job.rb
300
+ - app/mailers/bloggable/application_mailer.rb
301
+ - app/models/bloggable/application_record.rb
302
+ - app/models/bloggable/article.rb
303
+ - app/models/bloggable/comment.rb
304
+ - app/views/bloggable/articles/_form.html.haml
305
+ - app/views/bloggable/articles/edit.html.haml
306
+ - app/views/bloggable/articles/index.html.haml
307
+ - app/views/bloggable/articles/new.html.haml
308
+ - app/views/bloggable/articles/show.html.haml
309
+ - config/routes.rb
310
+ - db/migrate/20161031012133_create_bloggable_articles.rb
311
+ - db/migrate/20161031021621_create_bloggable_comments.rb
312
+ - db/migrate/20161101200328_add_aasm_state_to_bloggable_articles.rb
313
+ - db/seeds.rb
314
+ - lib/bloggable.rb
315
+ - lib/bloggable/engine.rb
316
+ - lib/bloggable/version.rb
317
+ - lib/tasks/bloggable_tasks.rake
318
+ homepage: https://github.com/schadenfred/bloggable
319
+ licenses:
320
+ - MIT
321
+ metadata: {}
322
+ post_install_message:
323
+ rdoc_options: []
324
+ require_paths:
325
+ - lib
326
+ required_ruby_version: !ruby/object:Gem::Requirement
327
+ requirements:
328
+ - - ">="
329
+ - !ruby/object:Gem::Version
330
+ version: '0'
331
+ required_rubygems_version: !ruby/object:Gem::Requirement
332
+ requirements:
333
+ - - ">="
334
+ - !ruby/object:Gem::Version
335
+ version: '0'
336
+ requirements: []
337
+ rubyforge_project:
338
+ rubygems_version: 2.7.7
339
+ signing_key:
340
+ specification_version: 4
341
+ summary: polymorphic blog.
342
+ test_files: []