crowdblog 0.4.0 → 0.5.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.
- checksums.yaml +4 -4
- data/Gemfile +4 -4
- data/README.md +2 -2
- data/app/controllers/crowdblog/admin/transitions_controller.rb +2 -0
- data/app/models/crowdblog/post.rb +1 -0
- data/app/models/crowdblog/status_change_record.rb +6 -0
- data/app/views/crowdblog/admin/posts/_post.html.slim +1 -1
- data/config/initializers/state_machine.rb +4 -0
- data/crowdblog.gemspec +10 -8
- data/db/migrate/20140501164642_create_crowdblog_status_change_records.rb +11 -0
- data/lib/crowdblog/rspec/crowdblog_shared_examples.rb +19 -11
- data/lib/crowdblog/version.rb +1 -1
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/config/application.rb +3 -36
- data/spec/dummy/config/boot.rb +3 -9
- data/spec/dummy/config/environment.rb +3 -3
- data/spec/dummy/config/environments/development.rb +20 -12
- data/spec/dummy/config/environments/production.rb +43 -29
- data/spec/dummy/config/environments/test.rb +17 -11
- data/spec/dummy/config/initializers/assets.rb +8 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +6 -5
- data/spec/dummy/config/initializers/mime_types.rb +0 -1
- data/spec/dummy/config/initializers/session_store.rb +1 -6
- data/spec/dummy/config/initializers/wrap_parameters.rb +6 -6
- data/spec/dummy/config/locales/en.yml +20 -2
- data/spec/dummy/config/routes.rb +0 -1
- data/spec/dummy/config/secrets.yml +22 -0
- data/spec/dummy/db/schema.rb +10 -2
- data/spec/models/post_spec.rb +4 -4
- data/spec/spec_helper.rb +4 -0
- metadata +90 -56
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d3701a773b898934896fd813b3c38491a1d83799
|
4
|
+
data.tar.gz: 04c0e66460f5f20d02af64869cf79eed521c9421
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0037b0d43dea9095378013770c3b16405b59a06282af0170c2fce507b3e36f5fb5b4c2b2aa592cfbb26a801f724edd736d1320c6866e8e4dcd85521a37b7674b
|
7
|
+
data.tar.gz: e8768d740c137d629a9ba0fed5a305746eed54b3df9207895f53f5fe48eb04ad18f03e95de7845f15b97a3fc88d6d734e7537e0426f6ccf650827453d424b331
|
data/Gemfile
CHANGED
@@ -3,15 +3,15 @@ source "http://rubygems.org"
|
|
3
3
|
gemspec
|
4
4
|
|
5
5
|
gem "jquery-rails"
|
6
|
+
gem 'nokogiri', '= 1.6.3'
|
6
7
|
|
7
8
|
group :assets do
|
8
|
-
gem 'coffee-rails', '~> 4.0.
|
9
|
-
gem 'sass-rails' , '~> 4.0.
|
10
|
-
gem 'uglifier' , '~> 2.
|
9
|
+
gem 'coffee-rails', '~> 4.0.0'
|
10
|
+
gem 'sass-rails' , '~> 4.0.0'
|
11
|
+
gem 'uglifier' , '~> 2.5.0'
|
11
12
|
end
|
12
13
|
|
13
14
|
group :development, :test do
|
14
15
|
gem 'rake' # needed for Travis CI: http://bit.ly/xEgH8j
|
15
16
|
gem 'launchy'
|
16
|
-
gem 'database_cleaner', :github => 'bmabey/database_cleaner'
|
17
17
|
end
|
data/README.md
CHANGED
@@ -6,8 +6,8 @@ CI:
|
|
6
6
|
Code Climate:
|
7
7
|
[](https://codeclimate.com/github/crowdint/crowdblog)
|
8
8
|
|
9
|
-
Generic Blog engine, currently in use by [blog.crowdint.com](blog.crowdint.com)
|
10
|
-
and [crowdint.com/careers](crowdint.com/careers), among others.
|
9
|
+
Generic Blog engine, currently in use by [blog.crowdint.com](http://blog.crowdint.com)
|
10
|
+
and [crowdint.com/careers](http://crowdint.com/careers), among others.
|
11
11
|
|
12
12
|
## Installation
|
13
13
|
|
@@ -7,6 +7,8 @@ module Crowdblog
|
|
7
7
|
def create
|
8
8
|
namespace = '_as_publisher' if current_user.is_publisher?
|
9
9
|
@post.send "#{params[:transition]}#{namespace}"
|
10
|
+
status = @post.status_change_records.build(user: current_user, state: params[:transition])
|
11
|
+
status.save
|
10
12
|
respond_with @post, location: admin_post_url(@post)
|
11
13
|
end
|
12
14
|
|
@@ -3,6 +3,7 @@ module Crowdblog
|
|
3
3
|
belongs_to :author, :class_name => Crowdblog.author_user_class_name
|
4
4
|
belongs_to :publisher, :class_name => Crowdblog.publisher_user_class_name
|
5
5
|
has_many :assets
|
6
|
+
has_many :status_change_records
|
6
7
|
|
7
8
|
delegate :name, to: :author, prefix: true, allow_nil: true
|
8
9
|
delegate :email, to: :author, prefix: true, allow_nil: true
|
@@ -15,6 +15,6 @@
|
|
15
15
|
- if current_user.is_publisher?
|
16
16
|
button.btn.btn-small.review Reviewed
|
17
17
|
td.span1
|
18
|
-
= link_to 'Delete', crowdblog.admin_post_path(post), :method => :delete, :confirm => 'Are you sure?', :class => "btn btn-small"
|
18
|
+
= link_to 'Delete', crowdblog.admin_post_path(post), :method => :delete, :data => { :confirm => 'Are you sure?' }, :class => "btn btn-small"
|
19
19
|
td.span1
|
20
20
|
= link_to 'Edit', crowdblog.edit_admin_post_path(post), :class => "btn btn-small"
|
data/crowdblog.gemspec
CHANGED
@@ -5,33 +5,35 @@ require 'crowdblog/version'
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = 'crowdblog'
|
7
7
|
s.version = Crowdblog::VERSION
|
8
|
-
s.authors = ['Crowd Interactive', 'David Padilla', 'Chalo Fernandez', 'Ignacio Galindo', 'Nora Alvarado']
|
9
|
-
s.email = %w(opensource@crowdint.com david@crowdint.com chalofa@crowdint.com ignacio@crowdint.com nora@crowdint.com)
|
8
|
+
s.authors = ['Crowd Interactive', 'David Padilla', 'Chalo Fernandez', 'Ignacio Galindo', 'Nora Alvarado', 'Mario Chavez']
|
9
|
+
s.email = %w(opensource@crowdint.com david@crowdint.com chalofa@crowdint.com ignacio@crowdint.com nora@crowdint.com mario.chavez@crowdint.com)
|
10
10
|
s.homepage = 'http://github.com/crowdint/crowdblog'
|
11
11
|
s.summary = 'CrowdBlog base functionality and backend'
|
12
12
|
s.description = 'This mountable engine has the basic functionality to manage Posts'
|
13
|
+
s.license = 'MIT'
|
13
14
|
|
14
15
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
15
16
|
s.files = `git ls-files`.split("\n")
|
16
17
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
17
18
|
s.require_paths = %w(lib app)
|
18
19
|
|
19
|
-
s.add_dependency 'rails', '~> 4.
|
20
|
+
s.add_dependency 'rails', '~> 4.1.0'
|
20
21
|
|
21
|
-
s.add_dependency 'carrierwave', '~> 0.
|
22
|
+
s.add_dependency 'carrierwave', '~> 0.10.0'
|
22
23
|
s.add_dependency 'gravtastic', '~> 3.2.6'
|
23
24
|
s.add_dependency 'jquery-rails'
|
24
25
|
s.add_dependency 'jbuilder'
|
25
|
-
s.add_dependency 'redcarpet', '~> 3.
|
26
|
-
s.add_dependency 'slim', '~> 2.0.
|
26
|
+
s.add_dependency 'redcarpet', '~> 3.1.0'
|
27
|
+
s.add_dependency 'slim', '~> 2.0.0'
|
27
28
|
s.add_dependency 'state_machine', '~> 1.2.0'
|
28
29
|
|
29
30
|
s.add_development_dependency 'capybara-webkit', '~> 1.0.0'
|
30
|
-
s.add_development_dependency 'database_cleaner'
|
31
|
+
s.add_development_dependency 'database_cleaner', '~> 1.3.0'
|
31
32
|
s.add_development_dependency 'fuubar'
|
32
33
|
s.add_development_dependency 'rspec-rails'
|
34
|
+
s.add_development_dependency 'rspec-activemodel-mocks'
|
33
35
|
s.add_development_dependency 'selenium-webdriver'
|
34
|
-
s.add_development_dependency 'simplecov'
|
36
|
+
s.add_development_dependency 'simplecov', '~> 0.9.0'
|
35
37
|
s.add_development_dependency 'simplecov-rcov-text'
|
36
38
|
s.add_development_dependency 'sqlite3'
|
37
39
|
end
|
@@ -8,7 +8,7 @@ shared_examples_for "a crowdblog", :type => :feature do
|
|
8
8
|
post.save!
|
9
9
|
post.publish_as_publisher
|
10
10
|
|
11
|
-
visit
|
11
|
+
visit root_path
|
12
12
|
|
13
13
|
within "#post_#{post.id}" do
|
14
14
|
page.should have_content post.title
|
@@ -20,14 +20,14 @@ shared_examples_for "a crowdblog", :type => :feature do
|
|
20
20
|
describe "Admin" do
|
21
21
|
describe "manage posts" do
|
22
22
|
it "creates a post", :js => true do
|
23
|
-
visit
|
23
|
+
visit admin_posts_path
|
24
24
|
click_link 'New Post'
|
25
25
|
|
26
26
|
fill_in 'Title', :with => 'A post title'
|
27
27
|
fill_in 'Body' , :with => 'A post body'
|
28
28
|
click_button 'Update'
|
29
29
|
|
30
|
-
page.current_path.should ==
|
30
|
+
page.current_path.should == admin_posts_path
|
31
31
|
page.should have_content 'A post title'
|
32
32
|
end
|
33
33
|
|
@@ -38,7 +38,7 @@ shared_examples_for "a crowdblog", :type => :feature do
|
|
38
38
|
end
|
39
39
|
|
40
40
|
it "edits a post" do
|
41
|
-
visit
|
41
|
+
visit admin_posts_path
|
42
42
|
within "#post_#{post.id}" do
|
43
43
|
click_link 'Edit'
|
44
44
|
end
|
@@ -47,22 +47,22 @@ shared_examples_for "a crowdblog", :type => :feature do
|
|
47
47
|
fill_in 'Body' , :with => 'A NEW post body'
|
48
48
|
click_button 'Update'
|
49
49
|
|
50
|
-
page.current_path.should ==
|
50
|
+
page.current_path.should == admin_posts_path
|
51
51
|
page.should have_content 'A NEW post title'
|
52
52
|
end
|
53
53
|
|
54
54
|
it "deletes a post" do
|
55
|
-
visit
|
55
|
+
visit admin_posts_path
|
56
56
|
|
57
57
|
within "#post_#{post.id}" do
|
58
58
|
click_link 'Delete'
|
59
59
|
end
|
60
|
-
page.current_path.should ==
|
60
|
+
page.current_path.should == admin_posts_path
|
61
61
|
page.should_not have_content 'A post title'
|
62
62
|
end
|
63
63
|
|
64
64
|
it "publishes a post", :js => true do
|
65
|
-
visit
|
65
|
+
visit admin_posts_path
|
66
66
|
|
67
67
|
within "#post_#{post.id}" do
|
68
68
|
button = find_link 'Publish'
|
@@ -71,13 +71,15 @@ shared_examples_for "a crowdblog", :type => :feature do
|
|
71
71
|
page.should have_css '.publish-btn.btn-success'
|
72
72
|
page.should have_css '.review.active'
|
73
73
|
post.reload.state.should eq 'published'
|
74
|
+
post.status_change_records.last.state.should == 'publish'
|
75
|
+
post.status_change_records.last.user.should == ::User.last
|
74
76
|
end
|
75
77
|
end
|
76
78
|
|
77
79
|
it "draftes a post", :js => true do
|
78
80
|
post.publish_as_publisher!
|
79
81
|
|
80
|
-
visit
|
82
|
+
visit admin_posts_path
|
81
83
|
|
82
84
|
within "#post_#{post.id}" do
|
83
85
|
button = find_link 'Publish'
|
@@ -86,12 +88,14 @@ shared_examples_for "a crowdblog", :type => :feature do
|
|
86
88
|
page.should have_css '.publish-btn.btn-danger'
|
87
89
|
page.should have_css '.draft.active'
|
88
90
|
post.reload.state.should eq 'drafted'
|
91
|
+
post.status_change_records.last.state.should == 'draft'
|
92
|
+
post.status_change_records.last.user.should == ::User.last
|
89
93
|
end
|
90
94
|
end
|
91
95
|
|
92
96
|
it "marks the post as reviewed", :js => true do
|
93
97
|
post.finish!
|
94
|
-
visit
|
98
|
+
visit admin_posts_path
|
95
99
|
|
96
100
|
within "#post_#{post.id}" do
|
97
101
|
button = find_button 'Reviewed'
|
@@ -99,11 +103,13 @@ shared_examples_for "a crowdblog", :type => :feature do
|
|
99
103
|
|
100
104
|
page.should have_css '.review.active'
|
101
105
|
post.reload.state.should eq 'reviewed'
|
106
|
+
post.status_change_records.last.state.should == 'review'
|
107
|
+
post.status_change_records.last.user.should == ::User.last
|
102
108
|
end
|
103
109
|
end
|
104
110
|
|
105
111
|
it "marks the post as finished", :js => true do
|
106
|
-
visit
|
112
|
+
visit admin_posts_path
|
107
113
|
|
108
114
|
within "#post_#{post.id}" do
|
109
115
|
button = find_button 'Finished'
|
@@ -111,6 +117,8 @@ shared_examples_for "a crowdblog", :type => :feature do
|
|
111
117
|
|
112
118
|
page.should have_css '.finish.active'
|
113
119
|
post.reload.state.should eq 'finished'
|
120
|
+
post.status_change_records.last.state.should == 'finish'
|
121
|
+
post.status_change_records.last.user.should == ::User.last
|
114
122
|
end
|
115
123
|
end
|
116
124
|
end
|
data/lib/crowdblog/version.rb
CHANGED
data/spec/dummy/bin/rake
ADDED
@@ -1,13 +1,13 @@
|
|
1
1
|
require File.expand_path('../boot', __FILE__)
|
2
2
|
|
3
|
-
# Pick the frameworks you want:
|
4
3
|
require "active_record/railtie"
|
5
4
|
require "action_controller/railtie"
|
6
5
|
require "action_mailer/railtie"
|
7
6
|
require "sprockets/railtie"
|
8
|
-
# require "rails/test_unit/railtie"
|
9
7
|
|
10
|
-
|
8
|
+
# Require the gems listed in Gemfile, including any gems
|
9
|
+
# you've limited to :test, :development, or :production.
|
10
|
+
Bundler.require(*Rails.groups)
|
11
11
|
require "crowdblog"
|
12
12
|
|
13
13
|
module Dummy
|
@@ -16,16 +16,6 @@ module Dummy
|
|
16
16
|
# Application configuration should go into files in config/initializers
|
17
17
|
# -- all .rb files in that directory are automatically loaded.
|
18
18
|
|
19
|
-
# Custom directories with classes and modules you want to be autoloadable.
|
20
|
-
# config.autoload_paths += %W(#{config.root}/extras)
|
21
|
-
|
22
|
-
# Only load the plugins named here, in the order given (default is alphabetical).
|
23
|
-
# :all can be used as a placeholder for all plugins not explicitly named.
|
24
|
-
# config.plugins = [ :exception_notification, :ssl_requirement, :all ]
|
25
|
-
|
26
|
-
# Activate observers that should always be running.
|
27
|
-
# config.active_record.observers = :cacher, :garbage_collector, :forum_observer
|
28
|
-
|
29
19
|
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
|
30
20
|
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
|
31
21
|
# config.time_zone = 'Central Time (US & Canada)'
|
@@ -33,28 +23,5 @@ module Dummy
|
|
33
23
|
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
34
24
|
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
35
25
|
# config.i18n.default_locale = :de
|
36
|
-
|
37
|
-
# Configure the default encoding used in templates for Ruby 1.9.
|
38
|
-
config.encoding = "utf-8"
|
39
|
-
|
40
|
-
# Configure sensitive parameters which will be filtered from the log file.
|
41
|
-
config.filter_parameters += [:password]
|
42
|
-
|
43
|
-
# Use SQL instead of Active Record's schema dumper when creating the database.
|
44
|
-
# This is necessary if your schema can't be completely dumped by the schema dumper,
|
45
|
-
# like if you have constraints or database-specific column types
|
46
|
-
# config.active_record.schema_format = :sql
|
47
|
-
|
48
|
-
# Enforce whitelist mode for mass assignment.
|
49
|
-
# This will create an empty whitelist of attributes available for mass-assignment for all models
|
50
|
-
# in your app. As such, your models will need to explicitly whitelist or blacklist accessible
|
51
|
-
# parameters by using an attr_accessible or attr_protected declaration.
|
52
|
-
# config.active_record.whitelist_attributes = true
|
53
|
-
|
54
|
-
# Enable the asset pipeline
|
55
|
-
config.assets.enabled = true
|
56
|
-
|
57
|
-
# Version of your assets, change this if you want to expire all your assets
|
58
|
-
config.assets.version = '1.0'
|
59
26
|
end
|
60
27
|
end
|
data/spec/dummy/config/boot.rb
CHANGED
@@ -1,10 +1,4 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# Set up gems listed in the Gemfile.
|
2
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
|
3
3
|
|
4
|
-
if File.exist?(
|
5
|
-
ENV['BUNDLE_GEMFILE'] = gemfile
|
6
|
-
require 'bundler'
|
7
|
-
Bundler.setup
|
8
|
-
end
|
9
|
-
|
10
|
-
$:.unshift File.expand_path('../../../../lib', __FILE__)
|
4
|
+
require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
|
@@ -1,29 +1,37 @@
|
|
1
|
-
|
2
|
-
# Settings specified here will take precedence over those in config/application.rb
|
1
|
+
Rails.application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/application.rb.
|
3
3
|
|
4
4
|
# In the development environment your application's code is reloaded on
|
5
5
|
# every request. This slows down response time but is perfect for development
|
6
6
|
# since you don't have to restart the web server when you make code changes.
|
7
7
|
config.cache_classes = false
|
8
8
|
|
9
|
-
#
|
9
|
+
# Do not eager load code on boot.
|
10
|
+
config.eager_load = false
|
11
|
+
|
12
|
+
# Show full error reports and disable caching.
|
10
13
|
config.consider_all_requests_local = true
|
11
14
|
config.action_controller.perform_caching = false
|
12
15
|
|
13
|
-
# Don't care if the mailer can't send
|
16
|
+
# Don't care if the mailer can't send.
|
14
17
|
config.action_mailer.raise_delivery_errors = false
|
15
18
|
|
16
|
-
# Print deprecation notices to the Rails logger
|
19
|
+
# Print deprecation notices to the Rails logger.
|
17
20
|
config.active_support.deprecation = :log
|
18
21
|
|
19
|
-
#
|
20
|
-
config.
|
21
|
-
|
22
|
-
# Do not compress assets
|
23
|
-
config.assets.compress = false
|
22
|
+
# Raise an error on page load if there are pending migrations.
|
23
|
+
config.active_record.migration_error = :page_load
|
24
24
|
|
25
|
-
#
|
25
|
+
# Debug mode disables concatenation and preprocessing of assets.
|
26
|
+
# This option may cause significant delays in view rendering with a large
|
27
|
+
# number of complex assets.
|
26
28
|
config.assets.debug = true
|
27
29
|
|
28
|
-
|
30
|
+
# Adds additional error checking when serving assets at runtime.
|
31
|
+
# Checks for improperly declared sprockets dependencies.
|
32
|
+
# Raises helpful error messages.
|
33
|
+
config.assets.raise_runtime_errors = true
|
34
|
+
|
35
|
+
# Raises error for missing translations
|
36
|
+
# config.action_view.raise_on_missing_translations = true
|
29
37
|
end
|
@@ -1,68 +1,82 @@
|
|
1
|
-
|
2
|
-
# Settings specified here will take precedence over those in config/application.rb
|
1
|
+
Rails.application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/application.rb.
|
3
3
|
|
4
|
-
# Code is not reloaded between requests
|
4
|
+
# Code is not reloaded between requests.
|
5
5
|
config.cache_classes = true
|
6
6
|
|
7
|
-
#
|
7
|
+
# Eager load code on boot. This eager loads most of Rails and
|
8
|
+
# your application in memory, allowing both threaded web servers
|
9
|
+
# and those relying on copy on write to perform better.
|
10
|
+
# Rake tasks automatically ignore this option for performance.
|
11
|
+
config.eager_load = true
|
12
|
+
|
13
|
+
# Full error reports are disabled and caching is turned on.
|
8
14
|
config.consider_all_requests_local = false
|
9
15
|
config.action_controller.perform_caching = true
|
10
16
|
|
11
|
-
#
|
17
|
+
# Enable Rack::Cache to put a simple HTTP cache in front of your application
|
18
|
+
# Add `rack-cache` to your Gemfile before enabling this.
|
19
|
+
# For large-scale production use, consider using a caching reverse proxy like nginx, varnish or squid.
|
20
|
+
# config.action_dispatch.rack_cache = true
|
21
|
+
|
22
|
+
# Disable Rails's static asset server (Apache or nginx will already do this).
|
12
23
|
config.serve_static_assets = false
|
13
24
|
|
14
|
-
# Compress JavaScripts and CSS
|
15
|
-
config.assets.
|
25
|
+
# Compress JavaScripts and CSS.
|
26
|
+
config.assets.js_compressor = :uglifier
|
27
|
+
# config.assets.css_compressor = :sass
|
16
28
|
|
17
|
-
#
|
29
|
+
# Do not fallback to assets pipeline if a precompiled asset is missed.
|
18
30
|
config.assets.compile = false
|
19
31
|
|
20
|
-
# Generate digests for assets URLs
|
32
|
+
# Generate digests for assets URLs.
|
21
33
|
config.assets.digest = true
|
22
34
|
|
23
|
-
#
|
24
|
-
# config.assets.manifest = YOUR_PATH
|
35
|
+
# `config.assets.precompile` has moved to config/initializers/assets.rb
|
25
36
|
|
26
|
-
# Specifies the header that your server uses for sending files
|
37
|
+
# Specifies the header that your server uses for sending files.
|
27
38
|
# config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
|
28
39
|
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
|
29
40
|
|
30
41
|
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
31
42
|
# config.force_ssl = true
|
32
43
|
|
33
|
-
#
|
34
|
-
|
44
|
+
# Set to :debug to see everything in the log.
|
45
|
+
config.log_level = :info
|
35
46
|
|
36
|
-
# Prepend all log lines with the following tags
|
47
|
+
# Prepend all log lines with the following tags.
|
37
48
|
# config.log_tags = [ :subdomain, :uuid ]
|
38
49
|
|
39
|
-
# Use a different logger for distributed setups
|
50
|
+
# Use a different logger for distributed setups.
|
40
51
|
# config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
|
41
52
|
|
42
|
-
# Use a different cache store in production
|
53
|
+
# Use a different cache store in production.
|
43
54
|
# config.cache_store = :mem_cache_store
|
44
55
|
|
45
|
-
# Enable serving of images, stylesheets, and JavaScripts from an asset server
|
56
|
+
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
|
46
57
|
# config.action_controller.asset_host = "http://assets.example.com"
|
47
58
|
|
48
|
-
# Precompile additional assets
|
59
|
+
# Precompile additional assets.
|
60
|
+
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
|
49
61
|
# config.assets.precompile += %w( search.js )
|
50
62
|
|
51
|
-
#
|
63
|
+
# Ignore bad email addresses and do not raise email delivery errors.
|
64
|
+
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
|
52
65
|
# config.action_mailer.raise_delivery_errors = false
|
53
66
|
|
54
|
-
# Enable threaded mode
|
55
|
-
# config.threadsafe!
|
56
|
-
|
57
67
|
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
58
|
-
# the I18n.default_locale when a translation
|
68
|
+
# the I18n.default_locale when a translation cannot be found).
|
59
69
|
config.i18n.fallbacks = true
|
60
70
|
|
61
|
-
# Send deprecation notices to registered listeners
|
71
|
+
# Send deprecation notices to registered listeners.
|
62
72
|
config.active_support.deprecation = :notify
|
63
73
|
|
64
|
-
#
|
65
|
-
#
|
66
|
-
|
67
|
-
|
74
|
+
# Disable automatic flushing of the log to improve performance.
|
75
|
+
# config.autoflush_log = false
|
76
|
+
|
77
|
+
# Use default logging formatter so that PID and timestamp are not suppressed.
|
78
|
+
config.log_formatter = ::Logger::Formatter.new
|
79
|
+
|
80
|
+
# Do not dump schema after migrations.
|
81
|
+
config.active_record.dump_schema_after_migration = false
|
68
82
|
end
|
@@ -1,5 +1,5 @@
|
|
1
|
-
|
2
|
-
# Settings specified here will take precedence over those in config/application.rb
|
1
|
+
Rails.application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/application.rb.
|
3
3
|
|
4
4
|
# The test environment is used exclusively to run your application's
|
5
5
|
# test suite. You never need to work with it otherwise. Remember that
|
@@ -7,27 +7,33 @@ Dummy::Application.configure do
|
|
7
7
|
# and recreated between test runs. Don't rely on the data there!
|
8
8
|
config.cache_classes = true
|
9
9
|
|
10
|
-
#
|
11
|
-
|
12
|
-
|
10
|
+
# Do not eager load code on boot. This avoids loading your whole application
|
11
|
+
# just for the purpose of running a single test. If you are using a tool that
|
12
|
+
# preloads Rails for running tests, you may have to set it to true.
|
13
|
+
config.eager_load = false
|
14
|
+
|
15
|
+
# Configure static asset server for tests with Cache-Control for performance.
|
16
|
+
config.serve_static_assets = true
|
17
|
+
config.static_cache_control = 'public, max-age=3600'
|
13
18
|
|
14
|
-
# Show full error reports and disable caching
|
19
|
+
# Show full error reports and disable caching.
|
15
20
|
config.consider_all_requests_local = true
|
16
21
|
config.action_controller.perform_caching = false
|
17
22
|
|
18
|
-
# Raise exceptions instead of rendering exception templates
|
23
|
+
# Raise exceptions instead of rendering exception templates.
|
19
24
|
config.action_dispatch.show_exceptions = false
|
20
25
|
|
21
|
-
# Disable request forgery protection in test environment
|
22
|
-
config.action_controller.allow_forgery_protection
|
26
|
+
# Disable request forgery protection in test environment.
|
27
|
+
config.action_controller.allow_forgery_protection = false
|
23
28
|
|
24
29
|
# Tell Action Mailer not to deliver emails to the real world.
|
25
30
|
# The :test delivery method accumulates sent emails in the
|
26
31
|
# ActionMailer::Base.deliveries array.
|
27
32
|
config.action_mailer.delivery_method = :test
|
28
33
|
|
29
|
-
# Print deprecation notices to the stderr
|
34
|
+
# Print deprecation notices to the stderr.
|
30
35
|
config.active_support.deprecation = :stderr
|
31
36
|
|
32
|
-
|
37
|
+
# Raises error for missing translations
|
38
|
+
# config.action_view.raise_on_missing_translations = true
|
33
39
|
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# Version of your assets, change this if you want to expire all your assets.
|
4
|
+
Rails.application.config.assets.version = '1.0'
|
5
|
+
|
6
|
+
# Precompile additional assets.
|
7
|
+
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
|
8
|
+
# Rails.application.config.assets.precompile += %w( search.js )
|
@@ -1,15 +1,16 @@
|
|
1
1
|
# Be sure to restart your server when you modify this file.
|
2
2
|
|
3
|
-
# Add new inflection rules using the following format
|
4
|
-
#
|
5
|
-
#
|
3
|
+
# Add new inflection rules using the following format. Inflections
|
4
|
+
# are locale specific, and you may define rules for as many different
|
5
|
+
# locales as you wish. All of these examples are active by default:
|
6
|
+
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
6
7
|
# inflect.plural /^(ox)$/i, '\1en'
|
7
8
|
# inflect.singular /^(ox)en/i, '\1'
|
8
9
|
# inflect.irregular 'person', 'people'
|
9
10
|
# inflect.uncountable %w( fish sheep )
|
10
11
|
# end
|
11
|
-
|
12
|
+
|
12
13
|
# These inflection rules are supported but not enabled by default:
|
13
|
-
# ActiveSupport::Inflector.inflections do |inflect|
|
14
|
+
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
14
15
|
# inflect.acronym 'RESTful'
|
15
16
|
# end
|
@@ -1,8 +1,3 @@
|
|
1
1
|
# Be sure to restart your server when you modify this file.
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
# Use the database for sessions instead of the cookie-based default,
|
6
|
-
# which shouldn't be used to store highly confidential information
|
7
|
-
# (create the session table with "rails generate session_migration")
|
8
|
-
# Dummy::Application.config.session_store :active_record_store
|
3
|
+
Rails.application.config.session_store :cookie_store, key: '_dummy_session'
|
@@ -1,14 +1,14 @@
|
|
1
1
|
# Be sure to restart your server when you modify this file.
|
2
|
-
|
2
|
+
|
3
3
|
# This file contains settings for ActionController::ParamsWrapper which
|
4
4
|
# is enabled by default.
|
5
5
|
|
6
6
|
# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
|
7
7
|
ActiveSupport.on_load(:action_controller) do
|
8
|
-
wrap_parameters format: [:json]
|
8
|
+
wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
|
9
9
|
end
|
10
10
|
|
11
|
-
#
|
12
|
-
ActiveSupport.on_load(:active_record) do
|
13
|
-
self.include_root_in_json =
|
14
|
-
end
|
11
|
+
# To enable root element in JSON for ActiveRecord objects.
|
12
|
+
# ActiveSupport.on_load(:active_record) do
|
13
|
+
# self.include_root_in_json = true
|
14
|
+
# end
|
@@ -1,5 +1,23 @@
|
|
1
|
-
#
|
2
|
-
#
|
1
|
+
# Files in the config/locales directory are used for internationalization
|
2
|
+
# and are automatically loaded by Rails. If you want to use locales other
|
3
|
+
# than English, add the necessary files in this directory.
|
4
|
+
#
|
5
|
+
# To use the locales, use `I18n.t`:
|
6
|
+
#
|
7
|
+
# I18n.t 'hello'
|
8
|
+
#
|
9
|
+
# In views, this is aliased to just `t`:
|
10
|
+
#
|
11
|
+
# <%= t('hello') %>
|
12
|
+
#
|
13
|
+
# To use a different locale, set it with `I18n.locale`:
|
14
|
+
#
|
15
|
+
# I18n.locale = :es
|
16
|
+
#
|
17
|
+
# This would use the information in config/locales/es.yml.
|
18
|
+
#
|
19
|
+
# To learn more, please read the Rails Internationalization guide
|
20
|
+
# available at http://guides.rubyonrails.org/i18n.html.
|
3
21
|
|
4
22
|
en:
|
5
23
|
hello: "Hello world"
|
data/spec/dummy/config/routes.rb
CHANGED
@@ -0,0 +1,22 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# Your secret key is used for verifying the integrity of signed cookies.
|
4
|
+
# If you change this key, all old signed cookies will become invalid!
|
5
|
+
|
6
|
+
# Make sure the secret is at least 30 characters and all random,
|
7
|
+
# no regular words or you'll be exposed to dictionary attacks.
|
8
|
+
# You can use `rake secret` to generate a secure secret key.
|
9
|
+
|
10
|
+
# Make sure the secrets in this file are kept private
|
11
|
+
# if you're sharing your code publicly.
|
12
|
+
|
13
|
+
development:
|
14
|
+
secret_key_base: 6a441d70d11746af3ab8ec4ae145c09a7075323d768af04fe6bd1abc477f85840b4d734bffb833e045178d03e883b3650bf3bfe2a9995ce6efdaf1bd4900a0c1
|
15
|
+
|
16
|
+
test:
|
17
|
+
secret_key_base: a21663c921f987339b3f60d00605da9f7243405e6d0e1fa89ac0aa6de255cfb9488bfe3742cef8d2b1aef436cd0c2b73d528ab502bf3d531dca74f7185ea67b8
|
18
|
+
|
19
|
+
# Do not keep production secrets in the repository,
|
20
|
+
# instead read values from the environment.
|
21
|
+
production:
|
22
|
+
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
|
data/spec/dummy/db/schema.rb
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
#
|
12
12
|
# It's strongly recommended that you check this file into your version control system.
|
13
13
|
|
14
|
-
ActiveRecord::Schema.define(version
|
14
|
+
ActiveRecord::Schema.define(:version => 20140501164642) do
|
15
15
|
|
16
16
|
create_table "crowdblog_assets", force: true do |t|
|
17
17
|
t.integer "post_id"
|
@@ -34,7 +34,15 @@ ActiveRecord::Schema.define(version: 20121016063750) do
|
|
34
34
|
t.datetime "updated_at"
|
35
35
|
end
|
36
36
|
|
37
|
-
create_table "
|
37
|
+
create_table "crowdblog_status_change_records", :force => true do |t|
|
38
|
+
t.integer "user_id"
|
39
|
+
t.integer "post_id"
|
40
|
+
t.string "state"
|
41
|
+
t.datetime "created_at", :null => false
|
42
|
+
t.datetime "updated_at", :null => false
|
43
|
+
end
|
44
|
+
|
45
|
+
create_table "users", :force => true do |t|
|
38
46
|
t.string "email"
|
39
47
|
t.string "name"
|
40
48
|
end
|
data/spec/models/post_spec.rb
CHANGED
@@ -42,11 +42,11 @@ module Crowdblog
|
|
42
42
|
end
|
43
43
|
|
44
44
|
describe '#self.scoped_for' do
|
45
|
-
let(:user) {
|
45
|
+
let(:user) { double(is_publisher?: true) }
|
46
46
|
|
47
47
|
context 'user is publisher' do
|
48
48
|
it 'should see all the Posts' do
|
49
|
-
Post.scoped_for(user).should == Post.
|
49
|
+
Post.scoped_for(user).should == Post.all
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
@@ -68,7 +68,7 @@ module Crowdblog
|
|
68
68
|
end
|
69
69
|
|
70
70
|
it "returns false" do
|
71
|
-
subject.allowed_to_update_permalink?.should
|
71
|
+
subject.allowed_to_update_permalink?.should be_falsey
|
72
72
|
end
|
73
73
|
end
|
74
74
|
|
@@ -78,7 +78,7 @@ module Crowdblog
|
|
78
78
|
end
|
79
79
|
|
80
80
|
it "returns true" do
|
81
|
-
subject.allowed_to_update_permalink?.should
|
81
|
+
subject.allowed_to_update_permalink?.should be_truthy
|
82
82
|
end
|
83
83
|
end
|
84
84
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -5,9 +5,11 @@ ENV["RAILS_ENV"] ||= 'test'
|
|
5
5
|
require File.expand_path("../dummy/config/environment", __FILE__)
|
6
6
|
require 'rspec/rails'
|
7
7
|
require 'rspec/autorun'
|
8
|
+
require 'rspec/active_model/mocks'
|
8
9
|
require 'capybara/rspec'
|
9
10
|
require 'crowdblog/rspec'
|
10
11
|
require 'database_cleaner'
|
12
|
+
require 'coffee_script'
|
11
13
|
|
12
14
|
ENGINE_RAILS_ROOT=File.join(File.dirname(__FILE__), '../')
|
13
15
|
|
@@ -40,6 +42,8 @@ RSpec.configure do |config|
|
|
40
42
|
# Include Engine routes (needed for Controller specs)
|
41
43
|
config.include Crowdblog::Engine.routes.url_helpers
|
42
44
|
|
45
|
+
config.include Capybara::DSL
|
46
|
+
|
43
47
|
config.before(:suite) do
|
44
48
|
DatabaseCleaner.strategy = :truncation
|
45
49
|
DatabaseCleaner.clean_with(:truncation)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crowdblog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Crowd Interactive
|
@@ -9,233 +9,248 @@ authors:
|
|
9
9
|
- Chalo Fernandez
|
10
10
|
- Ignacio Galindo
|
11
11
|
- Nora Alvarado
|
12
|
+
- Mario Chavez
|
12
13
|
autorequire:
|
13
14
|
bindir: bin
|
14
15
|
cert_chain: []
|
15
|
-
date:
|
16
|
+
date: 2014-09-01 00:00:00.000000000 Z
|
16
17
|
dependencies:
|
17
18
|
- !ruby/object:Gem::Dependency
|
18
19
|
name: rails
|
19
20
|
requirement: !ruby/object:Gem::Requirement
|
20
21
|
requirements:
|
21
|
-
- - ~>
|
22
|
+
- - "~>"
|
22
23
|
- !ruby/object:Gem::Version
|
23
|
-
version: 4.
|
24
|
+
version: 4.1.0
|
24
25
|
type: :runtime
|
25
26
|
prerelease: false
|
26
27
|
version_requirements: !ruby/object:Gem::Requirement
|
27
28
|
requirements:
|
28
|
-
- - ~>
|
29
|
+
- - "~>"
|
29
30
|
- !ruby/object:Gem::Version
|
30
|
-
version: 4.
|
31
|
+
version: 4.1.0
|
31
32
|
- !ruby/object:Gem::Dependency
|
32
33
|
name: carrierwave
|
33
34
|
requirement: !ruby/object:Gem::Requirement
|
34
35
|
requirements:
|
35
|
-
- - ~>
|
36
|
+
- - "~>"
|
36
37
|
- !ruby/object:Gem::Version
|
37
|
-
version: 0.
|
38
|
+
version: 0.10.0
|
38
39
|
type: :runtime
|
39
40
|
prerelease: false
|
40
41
|
version_requirements: !ruby/object:Gem::Requirement
|
41
42
|
requirements:
|
42
|
-
- - ~>
|
43
|
+
- - "~>"
|
43
44
|
- !ruby/object:Gem::Version
|
44
|
-
version: 0.
|
45
|
+
version: 0.10.0
|
45
46
|
- !ruby/object:Gem::Dependency
|
46
47
|
name: gravtastic
|
47
48
|
requirement: !ruby/object:Gem::Requirement
|
48
49
|
requirements:
|
49
|
-
- - ~>
|
50
|
+
- - "~>"
|
50
51
|
- !ruby/object:Gem::Version
|
51
52
|
version: 3.2.6
|
52
53
|
type: :runtime
|
53
54
|
prerelease: false
|
54
55
|
version_requirements: !ruby/object:Gem::Requirement
|
55
56
|
requirements:
|
56
|
-
- - ~>
|
57
|
+
- - "~>"
|
57
58
|
- !ruby/object:Gem::Version
|
58
59
|
version: 3.2.6
|
59
60
|
- !ruby/object:Gem::Dependency
|
60
61
|
name: jquery-rails
|
61
62
|
requirement: !ruby/object:Gem::Requirement
|
62
63
|
requirements:
|
63
|
-
- -
|
64
|
+
- - ">="
|
64
65
|
- !ruby/object:Gem::Version
|
65
66
|
version: '0'
|
66
67
|
type: :runtime
|
67
68
|
prerelease: false
|
68
69
|
version_requirements: !ruby/object:Gem::Requirement
|
69
70
|
requirements:
|
70
|
-
- -
|
71
|
+
- - ">="
|
71
72
|
- !ruby/object:Gem::Version
|
72
73
|
version: '0'
|
73
74
|
- !ruby/object:Gem::Dependency
|
74
75
|
name: jbuilder
|
75
76
|
requirement: !ruby/object:Gem::Requirement
|
76
77
|
requirements:
|
77
|
-
- -
|
78
|
+
- - ">="
|
78
79
|
- !ruby/object:Gem::Version
|
79
80
|
version: '0'
|
80
81
|
type: :runtime
|
81
82
|
prerelease: false
|
82
83
|
version_requirements: !ruby/object:Gem::Requirement
|
83
84
|
requirements:
|
84
|
-
- -
|
85
|
+
- - ">="
|
85
86
|
- !ruby/object:Gem::Version
|
86
87
|
version: '0'
|
87
88
|
- !ruby/object:Gem::Dependency
|
88
89
|
name: redcarpet
|
89
90
|
requirement: !ruby/object:Gem::Requirement
|
90
91
|
requirements:
|
91
|
-
- - ~>
|
92
|
+
- - "~>"
|
92
93
|
- !ruby/object:Gem::Version
|
93
|
-
version: 3.
|
94
|
+
version: 3.1.0
|
94
95
|
type: :runtime
|
95
96
|
prerelease: false
|
96
97
|
version_requirements: !ruby/object:Gem::Requirement
|
97
98
|
requirements:
|
98
|
-
- - ~>
|
99
|
+
- - "~>"
|
99
100
|
- !ruby/object:Gem::Version
|
100
|
-
version: 3.
|
101
|
+
version: 3.1.0
|
101
102
|
- !ruby/object:Gem::Dependency
|
102
103
|
name: slim
|
103
104
|
requirement: !ruby/object:Gem::Requirement
|
104
105
|
requirements:
|
105
|
-
- - ~>
|
106
|
+
- - "~>"
|
106
107
|
- !ruby/object:Gem::Version
|
107
|
-
version: 2.0.
|
108
|
+
version: 2.0.0
|
108
109
|
type: :runtime
|
109
110
|
prerelease: false
|
110
111
|
version_requirements: !ruby/object:Gem::Requirement
|
111
112
|
requirements:
|
112
|
-
- - ~>
|
113
|
+
- - "~>"
|
113
114
|
- !ruby/object:Gem::Version
|
114
|
-
version: 2.0.
|
115
|
+
version: 2.0.0
|
115
116
|
- !ruby/object:Gem::Dependency
|
116
117
|
name: state_machine
|
117
118
|
requirement: !ruby/object:Gem::Requirement
|
118
119
|
requirements:
|
119
|
-
- - ~>
|
120
|
+
- - "~>"
|
120
121
|
- !ruby/object:Gem::Version
|
121
122
|
version: 1.2.0
|
122
123
|
type: :runtime
|
123
124
|
prerelease: false
|
124
125
|
version_requirements: !ruby/object:Gem::Requirement
|
125
126
|
requirements:
|
126
|
-
- - ~>
|
127
|
+
- - "~>"
|
127
128
|
- !ruby/object:Gem::Version
|
128
129
|
version: 1.2.0
|
129
130
|
- !ruby/object:Gem::Dependency
|
130
131
|
name: capybara-webkit
|
131
132
|
requirement: !ruby/object:Gem::Requirement
|
132
133
|
requirements:
|
133
|
-
- - ~>
|
134
|
+
- - "~>"
|
134
135
|
- !ruby/object:Gem::Version
|
135
136
|
version: 1.0.0
|
136
137
|
type: :development
|
137
138
|
prerelease: false
|
138
139
|
version_requirements: !ruby/object:Gem::Requirement
|
139
140
|
requirements:
|
140
|
-
- - ~>
|
141
|
+
- - "~>"
|
141
142
|
- !ruby/object:Gem::Version
|
142
143
|
version: 1.0.0
|
143
144
|
- !ruby/object:Gem::Dependency
|
144
145
|
name: database_cleaner
|
145
146
|
requirement: !ruby/object:Gem::Requirement
|
146
147
|
requirements:
|
147
|
-
- -
|
148
|
+
- - "~>"
|
148
149
|
- !ruby/object:Gem::Version
|
149
|
-
version:
|
150
|
+
version: 1.3.0
|
150
151
|
type: :development
|
151
152
|
prerelease: false
|
152
153
|
version_requirements: !ruby/object:Gem::Requirement
|
153
154
|
requirements:
|
154
|
-
- -
|
155
|
+
- - "~>"
|
155
156
|
- !ruby/object:Gem::Version
|
156
|
-
version:
|
157
|
+
version: 1.3.0
|
157
158
|
- !ruby/object:Gem::Dependency
|
158
159
|
name: fuubar
|
159
160
|
requirement: !ruby/object:Gem::Requirement
|
160
161
|
requirements:
|
161
|
-
- -
|
162
|
+
- - ">="
|
162
163
|
- !ruby/object:Gem::Version
|
163
164
|
version: '0'
|
164
165
|
type: :development
|
165
166
|
prerelease: false
|
166
167
|
version_requirements: !ruby/object:Gem::Requirement
|
167
168
|
requirements:
|
168
|
-
- -
|
169
|
+
- - ">="
|
169
170
|
- !ruby/object:Gem::Version
|
170
171
|
version: '0'
|
171
172
|
- !ruby/object:Gem::Dependency
|
172
173
|
name: rspec-rails
|
173
174
|
requirement: !ruby/object:Gem::Requirement
|
174
175
|
requirements:
|
175
|
-
- -
|
176
|
+
- - ">="
|
176
177
|
- !ruby/object:Gem::Version
|
177
178
|
version: '0'
|
178
179
|
type: :development
|
179
180
|
prerelease: false
|
180
181
|
version_requirements: !ruby/object:Gem::Requirement
|
181
182
|
requirements:
|
182
|
-
- -
|
183
|
+
- - ">="
|
183
184
|
- !ruby/object:Gem::Version
|
184
185
|
version: '0'
|
185
186
|
- !ruby/object:Gem::Dependency
|
186
|
-
name:
|
187
|
+
name: rspec-activemodel-mocks
|
187
188
|
requirement: !ruby/object:Gem::Requirement
|
188
189
|
requirements:
|
189
|
-
- -
|
190
|
+
- - ">="
|
190
191
|
- !ruby/object:Gem::Version
|
191
192
|
version: '0'
|
192
193
|
type: :development
|
193
194
|
prerelease: false
|
194
195
|
version_requirements: !ruby/object:Gem::Requirement
|
195
196
|
requirements:
|
196
|
-
- -
|
197
|
+
- - ">="
|
197
198
|
- !ruby/object:Gem::Version
|
198
199
|
version: '0'
|
199
200
|
- !ruby/object:Gem::Dependency
|
200
|
-
name:
|
201
|
+
name: selenium-webdriver
|
201
202
|
requirement: !ruby/object:Gem::Requirement
|
202
203
|
requirements:
|
203
|
-
- -
|
204
|
+
- - ">="
|
204
205
|
- !ruby/object:Gem::Version
|
205
206
|
version: '0'
|
206
207
|
type: :development
|
207
208
|
prerelease: false
|
208
209
|
version_requirements: !ruby/object:Gem::Requirement
|
209
210
|
requirements:
|
210
|
-
- -
|
211
|
+
- - ">="
|
211
212
|
- !ruby/object:Gem::Version
|
212
213
|
version: '0'
|
214
|
+
- !ruby/object:Gem::Dependency
|
215
|
+
name: simplecov
|
216
|
+
requirement: !ruby/object:Gem::Requirement
|
217
|
+
requirements:
|
218
|
+
- - "~>"
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
version: 0.9.0
|
221
|
+
type: :development
|
222
|
+
prerelease: false
|
223
|
+
version_requirements: !ruby/object:Gem::Requirement
|
224
|
+
requirements:
|
225
|
+
- - "~>"
|
226
|
+
- !ruby/object:Gem::Version
|
227
|
+
version: 0.9.0
|
213
228
|
- !ruby/object:Gem::Dependency
|
214
229
|
name: simplecov-rcov-text
|
215
230
|
requirement: !ruby/object:Gem::Requirement
|
216
231
|
requirements:
|
217
|
-
- -
|
232
|
+
- - ">="
|
218
233
|
- !ruby/object:Gem::Version
|
219
234
|
version: '0'
|
220
235
|
type: :development
|
221
236
|
prerelease: false
|
222
237
|
version_requirements: !ruby/object:Gem::Requirement
|
223
238
|
requirements:
|
224
|
-
- -
|
239
|
+
- - ">="
|
225
240
|
- !ruby/object:Gem::Version
|
226
241
|
version: '0'
|
227
242
|
- !ruby/object:Gem::Dependency
|
228
243
|
name: sqlite3
|
229
244
|
requirement: !ruby/object:Gem::Requirement
|
230
245
|
requirements:
|
231
|
-
- -
|
246
|
+
- - ">="
|
232
247
|
- !ruby/object:Gem::Version
|
233
248
|
version: '0'
|
234
249
|
type: :development
|
235
250
|
prerelease: false
|
236
251
|
version_requirements: !ruby/object:Gem::Requirement
|
237
252
|
requirements:
|
238
|
-
- -
|
253
|
+
- - ">="
|
239
254
|
- !ruby/object:Gem::Version
|
240
255
|
version: '0'
|
241
256
|
description: This mountable engine has the basic functionality to manage Posts
|
@@ -245,16 +260,17 @@ email:
|
|
245
260
|
- chalofa@crowdint.com
|
246
261
|
- ignacio@crowdint.com
|
247
262
|
- nora@crowdint.com
|
263
|
+
- mario.chavez@crowdint.com
|
248
264
|
executables: []
|
249
265
|
extensions: []
|
250
266
|
extra_rdoc_files: []
|
251
267
|
files:
|
252
|
-
- .autotest
|
253
|
-
- .gitignore
|
254
|
-
- .rspec
|
255
|
-
- .rvmrc
|
256
|
-
- .simplecov
|
257
|
-
- .travis.yml
|
268
|
+
- ".autotest"
|
269
|
+
- ".gitignore"
|
270
|
+
- ".rspec"
|
271
|
+
- ".rvmrc"
|
272
|
+
- ".simplecov"
|
273
|
+
- ".travis.yml"
|
258
274
|
- Gemfile
|
259
275
|
- MIT-LICENSE
|
260
276
|
- README.md
|
@@ -277,6 +293,7 @@ files:
|
|
277
293
|
- app/helpers/crowdblog/application_helper.rb
|
278
294
|
- app/models/crowdblog/asset.rb
|
279
295
|
- app/models/crowdblog/post.rb
|
296
|
+
- app/models/crowdblog/status_change_record.rb
|
280
297
|
- app/models/crowdblog/user.rb
|
281
298
|
- app/presenters/crowdblog/post_presenter.rb
|
282
299
|
- app/uploaders/attachment_uploader.rb
|
@@ -296,12 +313,14 @@ files:
|
|
296
313
|
- app/views/layouts/crowdblog/application.html.slim
|
297
314
|
- config/cucumber.yml
|
298
315
|
- config/initializers/date_formats.rb
|
316
|
+
- config/initializers/state_machine.rb
|
299
317
|
- config/locales/devise.en.yml
|
300
318
|
- config/routes.rb
|
301
319
|
- crowdblog.gemspec
|
302
320
|
- db/migrate/20120217213920_create_crowdblog_posts.rb
|
303
321
|
- db/migrate/20120219071614_create_crowdblog_assets.rb
|
304
322
|
- db/migrate/20121016063750_create_crowdblog_users.rb
|
323
|
+
- db/migrate/20140501164642_create_crowdblog_status_change_records.rb
|
305
324
|
- lib/crowdblog.rb
|
306
325
|
- lib/crowdblog/devise/failure_app.rb
|
307
326
|
- lib/crowdblog/engine.rb
|
@@ -325,6 +344,9 @@ files:
|
|
325
344
|
- spec/dummy/app/models/user.rb
|
326
345
|
- spec/dummy/app/views/home/show.html.slim
|
327
346
|
- spec/dummy/app/views/layouts/application.html.erb
|
347
|
+
- spec/dummy/bin/bundle
|
348
|
+
- spec/dummy/bin/rails
|
349
|
+
- spec/dummy/bin/rake
|
328
350
|
- spec/dummy/config.ru
|
329
351
|
- spec/dummy/config/application.rb
|
330
352
|
- spec/dummy/config/boot.rb
|
@@ -333,9 +355,12 @@ files:
|
|
333
355
|
- spec/dummy/config/environments/development.rb
|
334
356
|
- spec/dummy/config/environments/production.rb
|
335
357
|
- spec/dummy/config/environments/test.rb
|
358
|
+
- spec/dummy/config/initializers/assets.rb
|
336
359
|
- spec/dummy/config/initializers/backtrace_silencers.rb
|
337
360
|
- spec/dummy/config/initializers/carrierwave.rb
|
361
|
+
- spec/dummy/config/initializers/cookies_serializer.rb
|
338
362
|
- spec/dummy/config/initializers/crowdblog.rb
|
363
|
+
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
339
364
|
- spec/dummy/config/initializers/inflections.rb
|
340
365
|
- spec/dummy/config/initializers/mime_types.rb
|
341
366
|
- spec/dummy/config/initializers/secret_token.rb
|
@@ -343,6 +368,7 @@ files:
|
|
343
368
|
- spec/dummy/config/initializers/wrap_parameters.rb
|
344
369
|
- spec/dummy/config/locales/en.yml
|
345
370
|
- spec/dummy/config/routes.rb
|
371
|
+
- spec/dummy/config/secrets.yml
|
346
372
|
- spec/dummy/db/schema.rb
|
347
373
|
- spec/dummy/db/seed.rb
|
348
374
|
- spec/dummy/lib/assets/.gitkeep
|
@@ -368,7 +394,8 @@ files:
|
|
368
394
|
- vendor/assets/javascripts/markdown.js
|
369
395
|
- vendor/assets/javascripts/uploader/jquery.html5uploader.js
|
370
396
|
homepage: http://github.com/crowdint/crowdblog
|
371
|
-
licenses:
|
397
|
+
licenses:
|
398
|
+
- MIT
|
372
399
|
metadata: {}
|
373
400
|
post_install_message:
|
374
401
|
rdoc_options: []
|
@@ -377,17 +404,17 @@ require_paths:
|
|
377
404
|
- app
|
378
405
|
required_ruby_version: !ruby/object:Gem::Requirement
|
379
406
|
requirements:
|
380
|
-
- -
|
407
|
+
- - ">="
|
381
408
|
- !ruby/object:Gem::Version
|
382
409
|
version: '0'
|
383
410
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
384
411
|
requirements:
|
385
|
-
- -
|
412
|
+
- - ">="
|
386
413
|
- !ruby/object:Gem::Version
|
387
414
|
version: '0'
|
388
415
|
requirements: []
|
389
416
|
rubyforge_project:
|
390
|
-
rubygems_version: 2.0
|
417
|
+
rubygems_version: 2.2.0
|
391
418
|
signing_key:
|
392
419
|
specification_version: 4
|
393
420
|
summary: CrowdBlog base functionality and backend
|
@@ -404,6 +431,9 @@ test_files:
|
|
404
431
|
- spec/dummy/app/models/user.rb
|
405
432
|
- spec/dummy/app/views/home/show.html.slim
|
406
433
|
- spec/dummy/app/views/layouts/application.html.erb
|
434
|
+
- spec/dummy/bin/bundle
|
435
|
+
- spec/dummy/bin/rails
|
436
|
+
- spec/dummy/bin/rake
|
407
437
|
- spec/dummy/config.ru
|
408
438
|
- spec/dummy/config/application.rb
|
409
439
|
- spec/dummy/config/boot.rb
|
@@ -412,9 +442,12 @@ test_files:
|
|
412
442
|
- spec/dummy/config/environments/development.rb
|
413
443
|
- spec/dummy/config/environments/production.rb
|
414
444
|
- spec/dummy/config/environments/test.rb
|
445
|
+
- spec/dummy/config/initializers/assets.rb
|
415
446
|
- spec/dummy/config/initializers/backtrace_silencers.rb
|
416
447
|
- spec/dummy/config/initializers/carrierwave.rb
|
448
|
+
- spec/dummy/config/initializers/cookies_serializer.rb
|
417
449
|
- spec/dummy/config/initializers/crowdblog.rb
|
450
|
+
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
418
451
|
- spec/dummy/config/initializers/inflections.rb
|
419
452
|
- spec/dummy/config/initializers/mime_types.rb
|
420
453
|
- spec/dummy/config/initializers/secret_token.rb
|
@@ -422,6 +455,7 @@ test_files:
|
|
422
455
|
- spec/dummy/config/initializers/wrap_parameters.rb
|
423
456
|
- spec/dummy/config/locales/en.yml
|
424
457
|
- spec/dummy/config/routes.rb
|
458
|
+
- spec/dummy/config/secrets.yml
|
425
459
|
- spec/dummy/db/schema.rb
|
426
460
|
- spec/dummy/db/seed.rb
|
427
461
|
- spec/dummy/lib/assets/.gitkeep
|