spree_comments 1.0.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.
- data/.gitignore +2 -0
- data/Gemfile +32 -0
- data/README.markdown +38 -0
- data/Rakefile +69 -0
- data/app/controllers/admin/comment_types_controller.rb +7 -0
- data/app/controllers/admin/comments_controller.rb +9 -0
- data/app/models/comment.rb +16 -0
- data/app/models/comment_type.rb +3 -0
- data/app/views/admin/comment_types/_form.html.erb +16 -0
- data/app/views/admin/comment_types/edit.html.erb +16 -0
- data/app/views/admin/comment_types/index.html.erb +44 -0
- data/app/views/admin/comment_types/new.html.erb +17 -0
- data/app/views/admin/orders/_tab.html.erb +3 -0
- data/app/views/admin/orders/comments.html.erb +2 -0
- data/app/views/admin/shared/_comments.html.erb +62 -0
- data/app/views/admin/shipments/_button.html.erb +4 -0
- data/app/views/admin/shipments/comments.html.erb +2 -0
- data/config/locales/en.yml +12 -0
- data/config/routes.rb +33 -0
- data/db/migrate/20091021182639_create_comments.rb +19 -0
- data/db/migrate/20100406085611_create_comment_types.rb +13 -0
- data/db/migrate/20100406100728_add_type_to_comments.rb +9 -0
- data/lib/spree_comments.rb +37 -0
- data/lib/spree_comments_hooks.rb +10 -0
- data/lib/tasks/install.rake +15 -0
- data/spree_comments.gemspec +18 -0
- metadata +125 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
source 'http://rubygems.org'
|
2
|
+
|
3
|
+
gem 'sqlite3-ruby', :require => 'sqlite3'
|
4
|
+
|
5
|
+
group :test do
|
6
|
+
gem 'rspec-rails', '= 2.4.1'
|
7
|
+
gem 'factory_girl_rails'
|
8
|
+
gem 'rcov'
|
9
|
+
gem 'shoulda'
|
10
|
+
gem 'faker'
|
11
|
+
if RUBY_VERSION < "1.9"
|
12
|
+
gem "ruby-debug"
|
13
|
+
else
|
14
|
+
gem "ruby-debug19"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
group :cucumber do
|
19
|
+
gem 'cucumber-rails'
|
20
|
+
gem 'database_cleaner', '~> 0.5.2'
|
21
|
+
gem 'nokogiri'
|
22
|
+
gem 'capybara'
|
23
|
+
gem 'factory_girl_rails'
|
24
|
+
gem 'faker'
|
25
|
+
gem 'launchy'
|
26
|
+
|
27
|
+
if RUBY_VERSION < "1.9"
|
28
|
+
gem "ruby-debug"
|
29
|
+
else
|
30
|
+
gem "ruby-debug19"
|
31
|
+
end
|
32
|
+
end
|
data/README.markdown
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
# Spree Comments
|
2
|
+
|
3
|
+
Spree Comments is an extension for Spree to allow commenting on different models via the
|
4
|
+
admin ui and currently supports Orders & Shipments.
|
5
|
+
|
6
|
+
Spree Comments also supports optional comment Types which can be defined per comment-able
|
7
|
+
object (i.e. Order, Shipment, etc) via the admin Configuration tab.
|
8
|
+
|
9
|
+
This is based on a fork / rename of jderrett/spree-order-comments and is now an officially
|
10
|
+
supported extension.
|
11
|
+
|
12
|
+
Requirements:
|
13
|
+
|
14
|
+
* [acts\_as\_commentable](http://github.com/jackdempsey/acts_as_commentable) installed
|
15
|
+
|
16
|
+
Notes:
|
17
|
+
|
18
|
+
* Comments are read-only. You cannot edit or remove them from the Admin UI.
|
19
|
+
|
20
|
+
* Comment model and migration are included in the gem. You do NOT need to follow the
|
21
|
+
acts\_as\_commentable instructions for script/generate comment
|
22
|
+
|
23
|
+
## Installation
|
24
|
+
|
25
|
+
1. Add the following to your Gemfile
|
26
|
+
gem "spree_comments"
|
27
|
+
gem "acts_as_commentable"
|
28
|
+
|
29
|
+
2. Run `bundle install`
|
30
|
+
|
31
|
+
3. Copy over migrations via the rake task:
|
32
|
+
rake spree_comments:install
|
33
|
+
|
34
|
+
4. Run the migrations: `rake db:migrate`
|
35
|
+
|
36
|
+
5. Start your server: `script/rails s`
|
37
|
+
|
38
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'rubygems'
|
3
|
+
require 'rake'
|
4
|
+
require 'rake/testtask'
|
5
|
+
|
6
|
+
desc "Default Task"
|
7
|
+
task :default => [ :spec ]
|
8
|
+
|
9
|
+
gemfile = File.expand_path('../spec/test_app/Gemfile', __FILE__)
|
10
|
+
if File.exists?(gemfile) && %w(rcov spec cucumber).include?(ARGV.first.to_s)
|
11
|
+
require 'bundler'
|
12
|
+
ENV['BUNDLE_GEMFILE'] = gemfile
|
13
|
+
Bundler.setup
|
14
|
+
|
15
|
+
require 'rspec/core/rake_task'
|
16
|
+
RSpec::Core::RakeTask.new
|
17
|
+
|
18
|
+
require 'cucumber/rake/task'
|
19
|
+
Cucumber::Rake::Task.new do |t|
|
20
|
+
t.cucumber_opts = %w{--format pretty}
|
21
|
+
end
|
22
|
+
|
23
|
+
desc "Run specs with RCov"
|
24
|
+
RSpec::Core::RakeTask.new(:rcov) do |t|
|
25
|
+
t.rcov = true
|
26
|
+
t.rcov_opts = %w{ --exclude gems\/,spec\/,features\/}
|
27
|
+
t.verbose = true
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
desc "Regenerates a rails 3 app for testing"
|
33
|
+
task :test_app do
|
34
|
+
SPREE_PATH = ENV['SPREE_PATH']
|
35
|
+
raise "SPREE_PATH should be specified" unless SPREE_PATH
|
36
|
+
require File.join(SPREE_PATH, 'lib/generators/spree/test_app_generator')
|
37
|
+
class AuthTestAppGenerator < Spree::Generators::TestAppGenerator
|
38
|
+
def tweak_gemfile
|
39
|
+
append_file 'Gemfile' do
|
40
|
+
<<-gems
|
41
|
+
gem 'spree_core', :path => '#{File.join(SPREE_PATH, 'core')}'
|
42
|
+
gem 'spree_auth', :path => '#{File.join(SPREE_PATH, 'auth')}'
|
43
|
+
gem 'spree_comments', :path => '#{File.dirname(__FILE__)}'
|
44
|
+
gems
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def install_gems
|
49
|
+
inside "test_app" do
|
50
|
+
run 'rake spree_core:install'
|
51
|
+
run 'rake spree_auth:install'
|
52
|
+
run 'rake spree_comments:install'
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def migrate_db
|
57
|
+
run_migrations
|
58
|
+
end
|
59
|
+
end
|
60
|
+
AuthTestAppGenerator.start
|
61
|
+
end
|
62
|
+
|
63
|
+
namespace :test_app do
|
64
|
+
desc 'Rebuild test and cucumber databases'
|
65
|
+
task :rebuild_dbs do
|
66
|
+
system("cd spec/test_app && rake db:drop db:migrate RAILS_ENV=test && rake db:drop db:migrate RAILS_ENV=cucumber")
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class Comment < ActiveRecord::Base
|
2
|
+
include ActsAsCommentable::Comment
|
3
|
+
|
4
|
+
belongs_to :commentable, :polymorphic => true
|
5
|
+
belongs_to :comment_type
|
6
|
+
|
7
|
+
default_scope :order => 'created_at ASC'
|
8
|
+
|
9
|
+
# NOTE: install the acts_as_votable plugin if you
|
10
|
+
# want user to vote on the quality of comments.
|
11
|
+
#acts_as_voteable
|
12
|
+
|
13
|
+
# NOTE: Comments belong to a user
|
14
|
+
belongs_to :user
|
15
|
+
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<%- locals = {:f => f} -%>
|
2
|
+
<%= hook :admin_comment_type_form_fields, locals do %>
|
3
|
+
<%= f.field_container :name do %>
|
4
|
+
<%= f.label :name, t("name") %><br />
|
5
|
+
<%= f.text_field :name, :class => 'fullwidth title' %>
|
6
|
+
<%= error_message_on :comment_type, :name %>
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
<%= f.field_container :applies_to do %>
|
10
|
+
<%= f.label :applies_to, t("applies_to") %><br />
|
11
|
+
<%= f.text_field :applies_to, :value => f.object.nil? ? "Order" : f.object.applies_to, :class => 'fullwidth title' %>
|
12
|
+
<%= error_message_on :comment_type, :applies_to%>
|
13
|
+
<% end %>
|
14
|
+
|
15
|
+
<% end %>
|
16
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<%= render :partial => 'admin/shared/configuration_menu' %>
|
2
|
+
|
3
|
+
<%= hook :admin_comment_type_edit_form_header do %>
|
4
|
+
<h1><%= t("editing_comment_type") %></h1>
|
5
|
+
<%= render "shared/error_messages", :target => @comment_type %>
|
6
|
+
<% end %>
|
7
|
+
|
8
|
+
<%= hook :admin_comment_type_edit_form do %>
|
9
|
+
<%= form_for(@comment_type, :url => object_url, :html => { :method => :put }) do |f| %>
|
10
|
+
<%= render :partial => "form", :locals => { :f => f } %>
|
11
|
+
|
12
|
+
<%= hook :admin_comment_type_edit_form_buttons do %>
|
13
|
+
<%= render :partial => "admin/shared/edit_resource_links" %>
|
14
|
+
<% end %>
|
15
|
+
<% end %>
|
16
|
+
<% end %>
|
@@ -0,0 +1,44 @@
|
|
1
|
+
<%= render :partial => 'admin/shared/configuration_menu' %>
|
2
|
+
|
3
|
+
<div class='toolbar'>
|
4
|
+
<ul class='actions'>
|
5
|
+
<li>
|
6
|
+
<%= button_link_to t("new_comment_type"), new_object_url, :icon => 'add' %>
|
7
|
+
</li>
|
8
|
+
</ul>
|
9
|
+
<br class='clear' />
|
10
|
+
</div>
|
11
|
+
|
12
|
+
<h1><%= t("comment_types") %></h1>
|
13
|
+
|
14
|
+
<table class="index">
|
15
|
+
<thead>
|
16
|
+
<tr>
|
17
|
+
<%= hook :admin_comment_types_index_headers do %>
|
18
|
+
<th><%= t("name") %></th>
|
19
|
+
<th><%= t("applies_to") %></th>
|
20
|
+
<% end %>
|
21
|
+
<th>
|
22
|
+
<% hook :admin_comment_types_index_header_actions %>
|
23
|
+
</th>
|
24
|
+
</tr>
|
25
|
+
</thead>
|
26
|
+
<tbody>
|
27
|
+
<% @comment_types.each do |comment_type| %>
|
28
|
+
<tr id="<%= dom_id comment_type %>">
|
29
|
+
<%- locals = {:comment_type => comment_type} -%>
|
30
|
+
<%= hook :admin_comment_types_index_rows, locals do %>
|
31
|
+
<td><%= comment_type.name %></td>
|
32
|
+
<td><%= comment_type.applies_to %></td>
|
33
|
+
<% end %>
|
34
|
+
<td width="140px">
|
35
|
+
<%= hook :admin_comment_types_index_row_actions, locals do %>
|
36
|
+
<%= link_to_edit comment_type %>
|
37
|
+
<%= link_to_delete comment_type %>
|
38
|
+
<% end %>
|
39
|
+
</td>
|
40
|
+
</tr>
|
41
|
+
<% end %>
|
42
|
+
</tbody>
|
43
|
+
</table>
|
44
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<%= render :partial => 'admin/shared/configuration_menu' %>
|
2
|
+
|
3
|
+
<%= hook :admin_comment_type_new_form_header do %>
|
4
|
+
<h1><%= t("new_comment_type") %></h1>
|
5
|
+
|
6
|
+
<%= render "shared/error_messages", :target => @comment_type %>
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
<%= hook :admin_comment_type_new_form do %>
|
10
|
+
<%= form_for(:comment_type, :url => collection_url) do |f| %>
|
11
|
+
<%= render :partial => "form", :locals => { :f => f } %>
|
12
|
+
|
13
|
+
<%= hook :admin_comment_type_new_form_buttons do %>
|
14
|
+
<%= render :partial => "admin/shared/new_resource_links" %>
|
15
|
+
<% end %>
|
16
|
+
<% end %>
|
17
|
+
<% end %>
|
@@ -0,0 +1,62 @@
|
|
1
|
+
<h1><%= "#{t("comments")} #{(t('for') + " " + comments_for unless (comments_for rescue nil).nil?)}"%></h1>
|
2
|
+
|
3
|
+
<table class="index">
|
4
|
+
<tr>
|
5
|
+
<th style="width:140px;"><%= "#{t('spree.date')}/#{t('spree.time')}" %></th>
|
6
|
+
<% unless @comment_types.empty? %>
|
7
|
+
<th><%= t("type") %></th>
|
8
|
+
<% end %>
|
9
|
+
<th><%= t("comment") %></th>
|
10
|
+
</tr>
|
11
|
+
<% commentable.comments.reverse.each_with_index do |comment, index| %>
|
12
|
+
<tr id="<%= dom_id(comment) %>">
|
13
|
+
<td><%= comment.created_at.to_formatted_s(:long) %></td>
|
14
|
+
<% unless @comment_types.empty? %>
|
15
|
+
<td><%= comment.comment_type.name if comment.comment_type %></td>
|
16
|
+
<% end %>
|
17
|
+
<td>
|
18
|
+
<div id="order-comment-header-<%= index %>" class="order-comment-header">
|
19
|
+
<strong><%= comment.user.email%> said:</strong>
|
20
|
+
</div>
|
21
|
+
<div id="order-comment-body-<%= index %>" class="order-comment-body">
|
22
|
+
<%= comment.comment %>
|
23
|
+
</div>
|
24
|
+
</td>
|
25
|
+
</tr>
|
26
|
+
<% end %>
|
27
|
+
</table>
|
28
|
+
|
29
|
+
|
30
|
+
<div class="order-add-comment">
|
31
|
+
<% form_for(:comment, :url => admin_comments_url) do |f| %>
|
32
|
+
<%= hidden_field_tag 'comment[commentable_id]', commentable.id %>
|
33
|
+
<%= hidden_field_tag 'comment[commentable_type]', commentable.class %>
|
34
|
+
<%= hidden_field_tag 'comment[user_id]', current_user.id %>
|
35
|
+
|
36
|
+
<table class="index">
|
37
|
+
<thead>
|
38
|
+
<th colspan="2"><%= t('add_comment') %></th>
|
39
|
+
</thead>
|
40
|
+
<tbody>
|
41
|
+
<% unless @comment_types.empty? %>
|
42
|
+
<tr>
|
43
|
+
<td><%= f.label :comment_type_id, t("type") %><br /></td>
|
44
|
+
<td><%= f.select :comment_type_id, @comment_types.map{|ct| [ct.name, ct.id]},{} ,:class => 'title' %></td>
|
45
|
+
</tr>
|
46
|
+
<% end %>
|
47
|
+
<tr>
|
48
|
+
<td style="width:140px;"><%= f.label :comment, t("comment") %></td>
|
49
|
+
<td><%= f.text_area :comment, {:style => 'height:150px;', :class => 'fullwidth'} %></td>
|
50
|
+
</tr>
|
51
|
+
<tr>
|
52
|
+
<td> </td>
|
53
|
+
<td> <%= button t('add_comment') %></td>
|
54
|
+
</tr>
|
55
|
+
</tbody>
|
56
|
+
</table>
|
57
|
+
|
58
|
+
<p class="form-buttons">
|
59
|
+
|
60
|
+
</p>
|
61
|
+
<% end %>
|
62
|
+
</div>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
---
|
2
|
+
en:
|
3
|
+
for: for
|
4
|
+
comments: Comments
|
5
|
+
comment: Comment
|
6
|
+
add_comment: Add Comment
|
7
|
+
add_comment_type: Add Comment Type
|
8
|
+
comment_types: Comment Types
|
9
|
+
manage_comment_types: Manage comment types
|
10
|
+
applies_to: Applies To
|
11
|
+
new_comment_type: New Comment Type
|
12
|
+
editing_comment_type: Editing Comment Type
|
data/config/routes.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
|
2
|
+
#map.namespace :admin do |admin|
|
3
|
+
# admin.resources :comments
|
4
|
+
# admin.resources :comment_types
|
5
|
+
#
|
6
|
+
# admin.resources :orders, :member => {:comments => :get} do |order|
|
7
|
+
# order.resources :shipments, :member => {:comments => :get}
|
8
|
+
# end
|
9
|
+
#end
|
10
|
+
#
|
11
|
+
|
12
|
+
Rails.application.routes.draw do
|
13
|
+
namespace :admin do
|
14
|
+
resources :comments
|
15
|
+
resources :comment_types
|
16
|
+
|
17
|
+
resources :orders do
|
18
|
+
member do
|
19
|
+
get :comments
|
20
|
+
end
|
21
|
+
|
22
|
+
resources :shipments do
|
23
|
+
member do
|
24
|
+
get :comments
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
#match '/admin/comments' => 'admin/comments', :via => [:get, :post]
|
31
|
+
# match '/admin/comment_types' => 'admin/comment_types', :via => [:get, :post]
|
32
|
+
end
|
33
|
+
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class CreateComments < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :comments do |t|
|
4
|
+
t.string :title, :limit => 50, :default => ""
|
5
|
+
t.text :comment, :default => ""
|
6
|
+
t.references :commentable, :polymorphic => true
|
7
|
+
t.references :user
|
8
|
+
t.timestamps
|
9
|
+
end
|
10
|
+
|
11
|
+
add_index :comments, :commentable_type
|
12
|
+
add_index :comments, :commentable_id
|
13
|
+
add_index :comments, :user_id
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.down
|
17
|
+
drop_table :comments
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'spree_core'
|
2
|
+
require 'acts_as_commentable'
|
3
|
+
require 'spree_comments_hooks'
|
4
|
+
|
5
|
+
module SpreeComments
|
6
|
+
class Engine < Rails::Engine
|
7
|
+
|
8
|
+
config.autoload_paths += %W(#{config.root}/lib)
|
9
|
+
|
10
|
+
def self.activate
|
11
|
+
Order.class_eval do
|
12
|
+
acts_as_commentable
|
13
|
+
end
|
14
|
+
|
15
|
+
Shipment.class_eval do
|
16
|
+
acts_as_commentable
|
17
|
+
end
|
18
|
+
|
19
|
+
Admin::OrdersController.class_eval do
|
20
|
+
def comments
|
21
|
+
load_object
|
22
|
+
@comment_types = CommentType.find(:all, :conditions => {:applies_to => "Order"} )
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
Admin::ShipmentsController.class_eval do
|
27
|
+
def comments
|
28
|
+
load_object
|
29
|
+
@comment_types = CommentType.find(:all, :conditions => {:applies_to => "Shipment"} )
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
config.to_prepare &method(:activate).to_proc
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
class SpreeCommentsHooks < Spree::ThemeSupport::HookListener
|
2
|
+
insert_after :admin_order_tabs, :partial => "admin/orders/tab"
|
3
|
+
|
4
|
+
insert_after :admin_shipment_edit_buttons, :partial => "admin/shipments/button"
|
5
|
+
|
6
|
+
insert_after :admin_configurations_menu do
|
7
|
+
"<%= configurations_menu_item(I18n.t('comment_types'), admin_comment_types_url, I18n.t('manage_comment_types')) %>"
|
8
|
+
end
|
9
|
+
|
10
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
namespace :spree_comments do
|
2
|
+
desc "Copies all migrations (NOTE: This will be obsolete with Rails 3.1)"
|
3
|
+
task :install do
|
4
|
+
Rake::Task['spree_comments:install:migrations'].invoke
|
5
|
+
end
|
6
|
+
|
7
|
+
namespace :install do
|
8
|
+
desc "Copies all migrations (NOTE: This will be obsolete with Rails 3.1)"
|
9
|
+
task :migrations do
|
10
|
+
source = File.join(File.dirname(__FILE__), '..', '..', 'db')
|
11
|
+
destination = File.join(Rails.root, 'db')
|
12
|
+
Spree::FileUtilz.mirror_files(source, destination)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.platform = Gem::Platform::RUBY
|
3
|
+
s.name = 'spree_comments'
|
4
|
+
s.version = '1.0.0'
|
5
|
+
s.summary = 'Comments for orders and shipments'
|
6
|
+
s.homepage = 'http://www.spreecommerce.com'
|
7
|
+
s.author = 'Rails Dog'
|
8
|
+
s.email = 'gems@railsdog.com'
|
9
|
+
s.required_ruby_version = '>= 1.8.7'
|
10
|
+
|
11
|
+
s.files = `git ls-files`.split("\n")
|
12
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
13
|
+
s.require_paths = ["lib"]
|
14
|
+
s.has_rdoc = false
|
15
|
+
|
16
|
+
s.add_dependency('spree_core', '>=0.30.0')
|
17
|
+
s.add_dependency('acts_as_commentable', '3.0.0')
|
18
|
+
end
|
metadata
ADDED
@@ -0,0 +1,125 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: spree_comments
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 23
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
version: 1.0.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Rails Dog
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-01-21 00:00:00 +00:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: spree_core
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 103
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
- 30
|
33
|
+
- 0
|
34
|
+
version: 0.30.0
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: acts_as_commentable
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - "="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
hash: 7
|
46
|
+
segments:
|
47
|
+
- 3
|
48
|
+
- 0
|
49
|
+
- 0
|
50
|
+
version: 3.0.0
|
51
|
+
type: :runtime
|
52
|
+
version_requirements: *id002
|
53
|
+
description:
|
54
|
+
email: gems@railsdog.com
|
55
|
+
executables: []
|
56
|
+
|
57
|
+
extensions: []
|
58
|
+
|
59
|
+
extra_rdoc_files: []
|
60
|
+
|
61
|
+
files:
|
62
|
+
- .gitignore
|
63
|
+
- Gemfile
|
64
|
+
- README.markdown
|
65
|
+
- Rakefile
|
66
|
+
- app/controllers/admin/comment_types_controller.rb
|
67
|
+
- app/controllers/admin/comments_controller.rb
|
68
|
+
- app/models/comment.rb
|
69
|
+
- app/models/comment_type.rb
|
70
|
+
- app/views/admin/comment_types/_form.html.erb
|
71
|
+
- app/views/admin/comment_types/edit.html.erb
|
72
|
+
- app/views/admin/comment_types/index.html.erb
|
73
|
+
- app/views/admin/comment_types/new.html.erb
|
74
|
+
- app/views/admin/orders/_tab.html.erb
|
75
|
+
- app/views/admin/orders/comments.html.erb
|
76
|
+
- app/views/admin/shared/_comments.html.erb
|
77
|
+
- app/views/admin/shipments/_button.html.erb
|
78
|
+
- app/views/admin/shipments/comments.html.erb
|
79
|
+
- config/locales/en.yml
|
80
|
+
- config/routes.rb
|
81
|
+
- db/migrate/20091021182639_create_comments.rb
|
82
|
+
- db/migrate/20100406085611_create_comment_types.rb
|
83
|
+
- db/migrate/20100406100728_add_type_to_comments.rb
|
84
|
+
- lib/spree_comments.rb
|
85
|
+
- lib/spree_comments_hooks.rb
|
86
|
+
- lib/tasks/install.rake
|
87
|
+
- spree_comments.gemspec
|
88
|
+
has_rdoc: true
|
89
|
+
homepage: http://www.spreecommerce.com
|
90
|
+
licenses: []
|
91
|
+
|
92
|
+
post_install_message:
|
93
|
+
rdoc_options: []
|
94
|
+
|
95
|
+
require_paths:
|
96
|
+
- lib
|
97
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
98
|
+
none: false
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
hash: 57
|
103
|
+
segments:
|
104
|
+
- 1
|
105
|
+
- 8
|
106
|
+
- 7
|
107
|
+
version: 1.8.7
|
108
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
109
|
+
none: false
|
110
|
+
requirements:
|
111
|
+
- - ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
hash: 3
|
114
|
+
segments:
|
115
|
+
- 0
|
116
|
+
version: "0"
|
117
|
+
requirements: []
|
118
|
+
|
119
|
+
rubyforge_project:
|
120
|
+
rubygems_version: 1.3.7
|
121
|
+
signing_key:
|
122
|
+
specification_version: 3
|
123
|
+
summary: Comments for orders and shipments
|
124
|
+
test_files: []
|
125
|
+
|