publish 0.0.6 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml CHANGED
@@ -1,5 +1,2 @@
1
1
  rvm:
2
- - 1.9.2
3
- - 1.9.3
4
- - ruby-head
5
- - rbx-18mode
2
+ - 1.9.3
data/CHANGELOG.md ADDED
@@ -0,0 +1,15 @@
1
+ # Publish Change History
2
+
3
+ ## Next Release (branch: master)
4
+
5
+ ### Improvements
6
+
7
+ * Callbacks (after_publish, before_publish).
8
+
9
+ ## 0.1.0 - 2012-09-04
10
+
11
+ * Now supports only Mongoid 3
12
+
13
+ ## 0.0.6
14
+
15
+ * Basic functionality
data/Gemfile CHANGED
@@ -1,18 +1,6 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- gem "rails", "3.0.12"
4
- gem "capybara"
3
+ gemspec
5
4
 
6
- gem "bson_ext"
7
-
8
- gem "simplecov", :require => false
9
- gem "factory_girl_rails"
10
- gem "ffaker"
11
- gem "colorific"
12
-
13
-
14
- # To use debugger (ruby-debug for Ruby 1.8.7+, ruby-debug19 for Ruby 1.9.2+)
15
- # gem "ruby-debug"
16
- # gem "ruby-debug19"
17
-
18
- gemspec
5
+ gem "factory_girl_rails", "~> 3.5.0"
6
+ gem "colorific", "~> 1.0.2"
data/Gemfile.lock CHANGED
@@ -1,44 +1,42 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- publish (0.0.5)
5
- mongoid (>= 2.0)
4
+ publish (0.0.6)
5
+ mongoid (~> 3.0.0)
6
6
 
7
7
  GEM
8
8
  remote: http://rubygems.org/
9
9
  specs:
10
- abstract (1.0.0)
11
- actionmailer (3.0.12)
12
- actionpack (= 3.0.12)
13
- mail (~> 2.2.19)
14
- actionpack (3.0.12)
15
- activemodel (= 3.0.12)
16
- activesupport (= 3.0.12)
17
- builder (~> 2.1.2)
18
- erubis (~> 2.6.6)
19
- i18n (~> 0.5.0)
20
- rack (~> 1.2.5)
21
- rack-mount (~> 0.6.14)
22
- rack-test (~> 0.5.7)
23
- tzinfo (~> 0.3.23)
24
- activemodel (3.0.12)
25
- activesupport (= 3.0.12)
26
- builder (~> 2.1.2)
27
- i18n (~> 0.5.0)
28
- activerecord (3.0.12)
29
- activemodel (= 3.0.12)
30
- activesupport (= 3.0.12)
31
- arel (~> 2.0.10)
32
- tzinfo (~> 0.3.23)
33
- activeresource (3.0.12)
34
- activemodel (= 3.0.12)
35
- activesupport (= 3.0.12)
36
- activesupport (3.0.12)
37
- arel (2.0.10)
38
- bson (1.6.0)
39
- bson_ext (1.6.0)
40
- bson (= 1.6.0)
41
- builder (2.1.2)
10
+ actionmailer (3.2.6)
11
+ actionpack (= 3.2.6)
12
+ mail (~> 2.4.4)
13
+ actionpack (3.2.6)
14
+ activemodel (= 3.2.6)
15
+ activesupport (= 3.2.6)
16
+ builder (~> 3.0.0)
17
+ erubis (~> 2.7.0)
18
+ journey (~> 1.0.1)
19
+ rack (~> 1.4.0)
20
+ rack-cache (~> 1.2)
21
+ rack-test (~> 0.6.1)
22
+ sprockets (~> 2.1.3)
23
+ activemodel (3.2.6)
24
+ activesupport (= 3.2.6)
25
+ builder (~> 3.0.0)
26
+ activerecord (3.2.6)
27
+ activemodel (= 3.2.6)
28
+ activesupport (= 3.2.6)
29
+ arel (~> 3.0.2)
30
+ tzinfo (~> 0.3.29)
31
+ activeresource (3.2.6)
32
+ activemodel (= 3.2.6)
33
+ activesupport (= 3.2.6)
34
+ activesupport (3.2.6)
35
+ i18n (~> 0.6)
36
+ multi_json (~> 1.0)
37
+ addressable (2.2.8)
38
+ arel (3.0.2)
39
+ builder (3.0.0)
42
40
  capybara (1.1.2)
43
41
  mime-types (>= 1.16)
44
42
  nokogiri (>= 1.3.3)
@@ -46,76 +44,100 @@ GEM
46
44
  rack-test (>= 0.5.4)
47
45
  selenium-webdriver (~> 2.0)
48
46
  xpath (~> 0.1.4)
49
- childprocess (0.3.1)
47
+ childprocess (0.3.3)
50
48
  ffi (~> 1.0.6)
51
49
  colorific (1.0.2)
52
50
  minitest (~> 2.8.0)
53
51
  ruby-progressbar (~> 0.0.10)
54
- erubis (2.6.6)
55
- abstract (>= 1.0.0)
56
- factory_girl (2.6.1)
57
- activesupport (>= 2.3.9)
58
- factory_girl_rails (1.7.0)
59
- factory_girl (~> 2.6.0)
52
+ diff-lcs (1.1.3)
53
+ erubis (2.7.0)
54
+ factory_girl (3.5.0)
55
+ activesupport (>= 3.0.0)
56
+ factory_girl_rails (3.5.0)
57
+ factory_girl (~> 3.5.0)
60
58
  railties (>= 3.0.0)
61
- ffaker (1.13.0)
62
59
  ffi (1.0.11)
63
- i18n (0.5.0)
64
- json (1.6.5)
65
- mail (2.2.19)
66
- activesupport (>= 2.3.6)
60
+ hike (1.2.1)
61
+ i18n (0.6.0)
62
+ journey (1.0.4)
63
+ json (1.7.3)
64
+ libwebsocket (0.1.3)
65
+ addressable
66
+ mail (2.4.4)
67
67
  i18n (>= 0.4.0)
68
68
  mime-types (~> 1.16)
69
69
  treetop (~> 1.4.8)
70
- mime-types (1.17.2)
70
+ mime-types (1.19)
71
71
  minitest (2.8.1)
72
- mongo (1.6.0)
73
- bson (= 1.6.0)
74
- mongoid (2.2.6)
75
- activemodel (~> 3.0.0)
76
- mongo (~> 1.3)
72
+ mongoid (3.0.0)
73
+ activemodel (~> 3.1)
74
+ moped (~> 1.1.1)
75
+ origin (~> 1.0.3)
77
76
  tzinfo (~> 0.3.22)
78
- multi_json (1.1.0)
79
- nokogiri (1.5.0)
77
+ moped (1.1.1)
78
+ multi_json (1.3.6)
79
+ nokogiri (1.5.5)
80
+ origin (1.0.4)
80
81
  polyglot (0.3.3)
81
- rack (1.2.5)
82
- rack-mount (0.6.14)
83
- rack (>= 1.0.0)
84
- rack-test (0.5.7)
82
+ rack (1.4.1)
83
+ rack-cache (1.2)
84
+ rack (>= 0.4)
85
+ rack-ssl (1.3.2)
86
+ rack
87
+ rack-test (0.6.1)
85
88
  rack (>= 1.0)
86
- rails (3.0.12)
87
- actionmailer (= 3.0.12)
88
- actionpack (= 3.0.12)
89
- activerecord (= 3.0.12)
90
- activeresource (= 3.0.12)
91
- activesupport (= 3.0.12)
89
+ rails (3.2.6)
90
+ actionmailer (= 3.2.6)
91
+ actionpack (= 3.2.6)
92
+ activerecord (= 3.2.6)
93
+ activeresource (= 3.2.6)
94
+ activesupport (= 3.2.6)
92
95
  bundler (~> 1.0)
93
- railties (= 3.0.12)
94
- railties (3.0.12)
95
- actionpack (= 3.0.12)
96
- activesupport (= 3.0.12)
96
+ railties (= 3.2.6)
97
+ railties (3.2.6)
98
+ actionpack (= 3.2.6)
99
+ activesupport (= 3.2.6)
100
+ rack-ssl (~> 1.3.2)
97
101
  rake (>= 0.8.7)
98
102
  rdoc (~> 3.4)
99
- thor (~> 0.14.4)
103
+ thor (>= 0.14.6, < 2.0)
100
104
  rake (0.9.2.2)
101
105
  rdoc (3.12)
102
106
  json (~> 1.4)
107
+ rspec (2.10.0)
108
+ rspec-core (~> 2.10.0)
109
+ rspec-expectations (~> 2.10.0)
110
+ rspec-mocks (~> 2.10.0)
111
+ rspec-core (2.10.1)
112
+ rspec-expectations (2.10.0)
113
+ diff-lcs (~> 1.1.3)
114
+ rspec-mocks (2.10.1)
115
+ rspec-rails (2.10.1)
116
+ actionpack (>= 3.0)
117
+ activesupport (>= 3.0)
118
+ railties (>= 3.0)
119
+ rspec (~> 2.10.0)
103
120
  ruby-progressbar (0.0.10)
104
- rubyzip (0.9.6.1)
105
- selenium-webdriver (2.20.0)
121
+ rubyzip (0.9.9)
122
+ selenium-webdriver (2.24.0)
106
123
  childprocess (>= 0.2.5)
107
- ffi (~> 1.0)
124
+ libwebsocket (~> 0.1.3)
108
125
  multi_json (~> 1.0)
109
126
  rubyzip
110
- simplecov (0.6.1)
127
+ simplecov (0.6.4)
111
128
  multi_json (~> 1.0)
112
129
  simplecov-html (~> 0.5.3)
113
130
  simplecov-html (0.5.3)
114
- thor (0.14.6)
131
+ sprockets (2.1.3)
132
+ hike (~> 1.2)
133
+ rack (~> 1.0)
134
+ tilt (~> 1.1, != 1.3.0)
135
+ thor (0.15.4)
136
+ tilt (1.3.3)
115
137
  treetop (1.4.10)
116
138
  polyglot
117
139
  polyglot (>= 0.3.1)
118
- tzinfo (0.3.32)
140
+ tzinfo (0.3.33)
119
141
  xpath (0.1.4)
120
142
  nokogiri (~> 1.3)
121
143
 
@@ -123,11 +145,11 @@ PLATFORMS
123
145
  ruby
124
146
 
125
147
  DEPENDENCIES
126
- bson_ext
127
- capybara
128
- colorific
129
- factory_girl_rails
130
- ffaker
148
+ capybara (~> 1.1.2)
149
+ colorific (~> 1.0.2)
150
+ factory_girl_rails (~> 3.5.0)
131
151
  publish!
132
- rails (= 3.0.12)
133
- simplecov
152
+ rails (~> 3.2.0)
153
+ rake (~> 0.9)
154
+ rspec-rails (~> 2.10.1)
155
+ simplecov (~> 0.6.1)
data/README.md ADDED
@@ -0,0 +1,43 @@
1
+ # Publish [![Build Status](https://secure.travis-ci.org/lucasrenan/publish.png?branch=master)](http://travis-ci.org/lucasrenan/publish) [![Build Status](https://gemnasium.com/lucasrenan/publish.png)](http://gemnasium.com/lucasrenan/publish) [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/lucasrenan/publish)
2
+
3
+
4
+ Publish is a gem that adds the common functionality to publish (or set as draft) a document using Mongoid.
5
+
6
+ ## Installation
7
+
8
+ Add to Gemfile
9
+
10
+ gem "publish", "~> 0.1.0"
11
+
12
+ Then run
13
+
14
+ bundle install
15
+
16
+ ## Getting started
17
+
18
+
19
+ Include Publish Module to your model
20
+
21
+ ``` ruby
22
+ class Post
23
+ include Mongoid::Document
24
+ include Mongoid::Publish
25
+
26
+ field :title
27
+ field :text
28
+ end
29
+
30
+ Post.published.count #0
31
+
32
+ p = Post.new
33
+ p.published? #false
34
+ p.published_at #nil
35
+
36
+ p.publish! #p.published = true
37
+
38
+ p.published? #true
39
+
40
+ Post.published.count #1
41
+
42
+ p.publication_status #Date.today or 'draft'
43
+ ```
@@ -1,5 +1,5 @@
1
1
  module Mongoid
2
2
  module Publish
3
- VERSION = "0.0.6"
3
+ VERSION = "0.1.0"
4
4
  end
5
5
  end
data/publish.gemspec CHANGED
@@ -1,23 +1,28 @@
1
1
  $:.push File.expand_path("../lib", __FILE__)
2
2
  require "mongoid/publish/version"
3
3
 
4
- Gem::Specification.new do |s|
5
- s.name = "publish"
6
- s.summary = "Adds the functionality to publish/unpublish"
7
- s.description = "Adds the functionality to publish/unpublish"
8
- #s.files = Dir["{app,lib,config}/**/*"] + ["MIT-LICENSE", "Rakefile", "Gemfile", "README.rdoc"]
9
- s.version = Mongoid::Publish::VERSION
10
- s.platform = Gem::Platform::RUBY
11
- s.authors = ["Lucas Renan", "Marco Singer"]
12
- s.email = ["contato@lucasrenan.com", "markaum@gmail.com"]
13
- s.homepage = "https://github.com/lucasrenan/publish"
4
+ Gem::Specification.new do |gem|
14
5
 
15
- s.rubyforge_project = "publish"
6
+ gem.name = "publish"
7
+ gem.authors = ["Lucas Renan", "Tiago Rafael Godinho", "Marco Singer"]
8
+ gem.email = ["contato@lucasrenan.com", "tiagogodinho3@gmail.com", "markaum@gmail.com"]
9
+ gem.description = %q{Adds the functionality to publish/unpublish mongoid docs}
10
+ gem.summary = %q{Adds the functionality to publish/unpublish mongoid docs}
11
+ gem.homepage = "https://github.com/lucasrenan/publish"
16
12
 
17
- s.files = `git ls-files`.split("\n")
18
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
- s.require_paths = ["lib"]
13
+ gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
14
+ gem.files = `git ls-files`.split("\n")
15
+ gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
+ gem.require_paths = ["lib"]
17
+ gem.version = Mongoid::Publish::VERSION
18
+ gem.platform = Gem::Platform::RUBY
21
19
 
22
- s.add_dependency "mongoid", ">= 2.0"
20
+
21
+ gem.add_dependency "mongoid", "~> 3.0.0"
22
+
23
+ gem.add_development_dependency "rails", "~> 3.2.0"
24
+ gem.add_development_dependency "rake", "~> 0.9"
25
+ gem.add_development_dependency "rspec-rails", "~> 2.10.1"
26
+ gem.add_development_dependency "simplecov", "~> 0.6.1"
27
+ gem.add_development_dependency "capybara", "~> 1.1.2"
23
28
  end
@@ -1,9 +1,9 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <title>Dummy</title>
4
+ <title>Publish Dummy</title>
5
5
  <%= stylesheet_link_tag :all %>
6
- <%= javascript_include_tag :defaults %>
6
+ <%= javascript_include_tag :all %>
7
7
  <%= csrf_meta_tag %>
8
8
  </head>
9
9
  <body>
@@ -1,7 +1,6 @@
1
1
  require File.expand_path('../boot', __FILE__)
2
2
 
3
3
  require "active_model/railtie"
4
- #require "active_record/railtie"
5
4
  require "action_controller/railtie"
6
5
  require "action_view/railtie"
7
6
  require "action_mailer/railtie"
@@ -2,8 +2,8 @@ Dummy::Application.configure do
2
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
- # every request. This slows down response time but is perfect for development
6
- # since you don't have to restart the webserver when you make code changes.
5
+ # every request. This slows down response time but is perfect for development
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
  # Log error messages when you accidentally call methods on nil.
@@ -11,7 +11,6 @@ Dummy::Application.configure do
11
11
 
12
12
  # Show full error reports and disable caching
13
13
  config.consider_all_requests_local = true
14
- config.action_view.debug_rjs = true
15
14
  config.action_controller.perform_caching = false
16
15
 
17
16
  # Don't care if the mailer can't send
@@ -22,5 +21,10 @@ Dummy::Application.configure do
22
21
 
23
22
  # Only use best-standards-support built into browsers
24
23
  config.action_dispatch.best_standards_support = :builtin
25
- end
26
24
 
25
+ # Do not compress assets
26
+ config.assets.compress = false
27
+
28
+ # Expands the lines which load the assets
29
+ config.assets.debug = true
30
+ end
@@ -2,12 +2,16 @@ Dummy::Application.configure do
2
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
- # test suite. You never need to work with it otherwise. Remember that
5
+ # test suite. You never need to work with it otherwise. Remember that
6
6
  # your test database is "scratch space" for the test suite and is wiped
7
- # and recreated between test runs. Don't rely on the data there!
7
+ # and recreated between test runs. Don't rely on the data there!
8
8
  config.cache_classes = true
9
9
 
10
- # Log error messages when you accidentally call methods on nil.
10
+ # Configure static asset server for tests with Cache-Control for performance
11
+ config.serve_static_assets = true
12
+ config.static_cache_control = "public, max-age=3600"
13
+
14
+ # Log error messages when you accidentally call methods on nil
11
15
  config.whiny_nils = true
12
16
 
13
17
  # Show full error reports and disable caching
@@ -25,11 +29,6 @@ Dummy::Application.configure do
25
29
  # ActionMailer::Base.deliveries array.
26
30
  config.action_mailer.delivery_method = :test
27
31
 
28
- # Use SQL instead of Active Record's schema dumper when creating the test database.
29
- # This is necessary if your schema can't be completely dumped by the schema dumper,
30
- # like if you have constraints or database-specific column types
31
- # config.active_record.schema_format = :sql
32
-
33
32
  # Print deprecation notices to the stderr
34
33
  config.active_support.deprecation = :stderr
35
- end
34
+ end
@@ -1,23 +1,68 @@
1
- defaults: &defaults
2
- host: localhost
3
- # slaves:
4
- # - host: slave1.local
5
- # port: 27018
6
- # - host: slave2.local
7
- # port: 27019
8
-
9
1
  development:
10
- <<: *defaults
11
- database: publish_dummy_development
2
+ # Configure available database sessions. (required)
3
+ sessions:
4
+ # Defines the default session. (required)
5
+ default:
6
+ # Defines the name of the default database that Mongoid can connect to.
7
+ # (required).
8
+ database: publish_dummy__development
9
+ # Provides the hosts the default session can connect to. Must be an array
10
+ # of host:port pairs. (required)
11
+ hosts:
12
+ - localhost:27017
13
+ options:
14
+ # Change whether the session persists in safe mode by default.
15
+ # (default: false)
16
+ # safe: false
17
+
18
+ # Change the default consistency model to :eventual or :strong.
19
+ # :eventual will send reads to secondaries, :strong sends everything
20
+ # to master. (default: :eventual)
21
+ consistency: :strong
22
+ # Configure Mongoid specific options. (optional)
23
+ options:
24
+ # Configuration for whether or not to allow access to fields that do
25
+ # not have a field definition on the model. (default: true)
26
+ # allow_dynamic_fields: true
27
+
28
+ # Enable the identity map, needed for eager loading. (default: false)
29
+ # identity_map_enabled: false
30
+
31
+ # Includes the root model name in json serialization. (default: false)
32
+ # include_root_in_json: false
33
+
34
+ # Include the _type field in serializaion. (default: false)
35
+ # include_type_for_serialization: false
36
+
37
+ # Preload all models in development, needed when models use
38
+ # inheritance. (default: false)
39
+ # preload_models: false
40
+
41
+ # Protect id and type from mass assignment. (default: true)
42
+ # protect_sensitive_fields: true
43
+
44
+ # Raise an error when performing a #find and the document is not found.
45
+ # (default: true)
46
+ # raise_not_found_error: true
47
+
48
+ # Raise an error when defining a scope with the same name as an
49
+ # existing method. (default: false)
50
+ # scope_overwrite_exception: false
51
+
52
+ # Skip the database version check, used when connecting to a db without
53
+ # admin access. (default: false)
54
+ # skip_version_check: false
55
+
56
+ # User Active Support's time zone in conversions. (default: true)
57
+ # use_activesupport_time_zone: true
12
58
 
59
+ # Ensure all times are UTC in the app side. (default: false)
60
+ # use_utc: false
13
61
  test:
14
- <<: *defaults
15
- database: publish_dummy_test
16
-
17
- # set these environment variables on your prod server
18
- production:
19
- host: <%= ENV['MONGOID_HOST'] %>
20
- port: <%= ENV['MONGOID_PORT'] %>
21
- username: <%= ENV['MONGOID_USERNAME'] %>
22
- password: <%= ENV['MONGOID_PASSWORD'] %>
23
- database: <%= ENV['MONGOID_DATABASE'] %>
62
+ sessions:
63
+ default:
64
+ database: publish_dummy__test
65
+ hosts:
66
+ - localhost:27017
67
+ options:
68
+ consistency: :strong
@@ -3,7 +3,7 @@ require File.expand_path("../../../test_helper", __FILE__)
3
3
  class PostTest < ActiveSupport::TestCase
4
4
 
5
5
  setup do
6
- @post = Factory.create(:post)
6
+ @post = FactoryGirl.create(:post)
7
7
  end
8
8
 
9
9
  test "should create published at field" do
@@ -17,7 +17,7 @@ class PostTest < ActiveSupport::TestCase
17
17
  end
18
18
 
19
19
  test "should be unpublished if published at is not setted" do
20
- post = Factory.build(:post)
20
+ post = FactoryGirl.build(:post)
21
21
  post.published = true
22
22
 
23
23
  assert_equal post.published?, false
@@ -33,21 +33,21 @@ class PostTest < ActiveSupport::TestCase
33
33
  end
34
34
 
35
35
  test "should return published posts" do
36
- 2.times { Factory.create(:post, :published => true) }
36
+ 2.times { FactoryGirl.create(:post, :published => true) }
37
37
 
38
38
  assert_equal Post.published.size, 2
39
39
  end
40
40
 
41
41
  test "should return orderly published posts" do
42
- Factory.create(:post, :title => "2", :published => true, :published_at => 1.month.ago)
43
- Factory.create(:post, :title => "3", :published => true, :published_at => 1.year.ago)
44
- Factory.create(:post, :title => "1", :published => true, :published_at => 1.day.ago)
42
+ FactoryGirl.create(:post, :title => "2", :published => true, :published_at => 1.month.ago)
43
+ FactoryGirl.create(:post, :title => "3", :published => true, :published_at => 1.year.ago)
44
+ FactoryGirl.create(:post, :title => "1", :published => true, :published_at => 1.day.ago)
45
45
 
46
46
  assert_equal Post.published_and_orderly.map(&:title), ["1", "2", "3"]
47
47
  end
48
48
 
49
49
  test "should publish a post" do
50
- post = Factory.build(:post)
50
+ post = FactoryGirl.build(:post)
51
51
  post.publish!
52
52
  post.reload
53
53
 
@@ -56,8 +56,8 @@ class PostTest < ActiveSupport::TestCase
56
56
  end
57
57
 
58
58
  test "should concat with criteria methods" do
59
- Factory.create(:post, :published => true, :title => "normal post")
60
- Factory.create(:post, :published => true, :title => "my special post")
59
+ FactoryGirl.create(:post, :published => true, :title => "normal post")
60
+ FactoryGirl.create(:post, :published => true, :title => "my special post")
61
61
 
62
62
  assert_equal Post.where(:title => /special/).published.count, 1
63
63
  assert_equal Post.published.where(:title => /special/).count, 1
@@ -1,4 +1,6 @@
1
- Factory.define :post do |f|
2
- f.title "A blog post"
3
- f.text "The content of post"
1
+ FactoryGirl.define do
2
+ factory :post do
3
+ title "A blog post"
4
+ text "The content of post"
5
+ end
4
6
  end
data/test/test_helper.rb CHANGED
@@ -1,10 +1,7 @@
1
1
  #generates coverage report
2
- begin
3
- require 'simplecov'
4
- SimpleCov.start('rails') do
5
- add_filter '/vendor/'
6
- end
7
- rescue
2
+ require 'simplecov'
3
+ SimpleCov.start('rails') do
4
+ add_filter '/vendor/'
8
5
  end
9
6
 
10
7
  # Configure Rails Envinronment
@@ -24,20 +21,18 @@ require "capybara/rails"
24
21
  Capybara.default_driver = :rack_test
25
22
  Capybara.default_selector = :css
26
23
 
27
- # Run any available migration
28
- #ActiveRecord::Migrator.migrate File.expand_path("../dummy/db/migrate/", __FILE__)
29
24
 
30
25
  # Load support files
31
26
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
32
27
 
33
28
  class ActiveSupport::TestCase
34
29
  teardown do
35
- Mongoid.master.collections.select {|c| c.name !~ /system/ }.each(&:drop)
30
+ Mongoid.default_session.collections.select {|c| c.name !~ /system/ }.each(&:drop)
36
31
  end
37
32
  end
38
33
 
39
34
  class ActionController::TestCase
40
35
  teardown do
41
- Mongoid.master.collections.select {|c| c.name !~ /system/ }.each(&:drop)
36
+ Mongoid.default_session.collections.select {|c| c.name !~ /system/ }.each(&:drop)
42
37
  end
43
38
  end
metadata CHANGED
@@ -1,31 +1,118 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: publish
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Lucas Renan
9
+ - Tiago Rafael Godinho
9
10
  - Marco Singer
10
11
  autorequire:
11
12
  bindir: bin
12
13
  cert_chain: []
13
- date: 2012-03-07 00:00:00.000000000 Z
14
+ date: 2012-09-04 00:00:00.000000000 Z
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
16
17
  name: mongoid
17
- requirement: &2155892340 !ruby/object:Gem::Requirement
18
+ requirement: !ruby/object:Gem::Requirement
18
19
  none: false
19
20
  requirements:
20
- - - ! '>='
21
+ - - ~>
21
22
  - !ruby/object:Gem::Version
22
- version: '2.0'
23
+ version: 3.0.0
23
24
  type: :runtime
24
25
  prerelease: false
25
- version_requirements: *2155892340
26
- description: Adds the functionality to publish/unpublish
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ~>
30
+ - !ruby/object:Gem::Version
31
+ version: 3.0.0
32
+ - !ruby/object:Gem::Dependency
33
+ name: rails
34
+ requirement: !ruby/object:Gem::Requirement
35
+ none: false
36
+ requirements:
37
+ - - ~>
38
+ - !ruby/object:Gem::Version
39
+ version: 3.2.0
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 3.2.0
48
+ - !ruby/object:Gem::Dependency
49
+ name: rake
50
+ requirement: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: '0.9'
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ~>
62
+ - !ruby/object:Gem::Version
63
+ version: '0.9'
64
+ - !ruby/object:Gem::Dependency
65
+ name: rspec-rails
66
+ requirement: !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ~>
70
+ - !ruby/object:Gem::Version
71
+ version: 2.10.1
72
+ type: :development
73
+ prerelease: false
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ~>
78
+ - !ruby/object:Gem::Version
79
+ version: 2.10.1
80
+ - !ruby/object:Gem::Dependency
81
+ name: simplecov
82
+ requirement: !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ version: 0.6.1
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ~>
94
+ - !ruby/object:Gem::Version
95
+ version: 0.6.1
96
+ - !ruby/object:Gem::Dependency
97
+ name: capybara
98
+ requirement: !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: 1.1.2
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ~>
110
+ - !ruby/object:Gem::Version
111
+ version: 1.1.2
112
+ description: Adds the functionality to publish/unpublish mongoid docs
27
113
  email:
28
114
  - contato@lucasrenan.com
115
+ - tiagogodinho3@gmail.com
29
116
  - markaum@gmail.com
30
117
  executables: []
31
118
  extensions: []
@@ -33,10 +120,11 @@ extra_rdoc_files: []
33
120
  files:
34
121
  - .gitignore
35
122
  - .travis.yml
123
+ - CHANGELOG.md
36
124
  - Gemfile
37
125
  - Gemfile.lock
38
126
  - MIT-LICENSE
39
- - README.rdoc
127
+ - README.md
40
128
  - Rakefile
41
129
  - lib/mongoid/publish.rb
42
130
  - lib/mongoid/publish/version.rb
@@ -59,7 +147,6 @@ files:
59
147
  - test/dummy/config/boot.rb
60
148
  - test/dummy/config/environment.rb
61
149
  - test/dummy/config/environments/development.rb
62
- - test/dummy/config/environments/production.rb
63
150
  - test/dummy/config/environments/test.rb
64
151
  - test/dummy/config/initializers/backtrace_silencers.rb
65
152
  - test/dummy/config/initializers/inflections.rb
@@ -106,11 +193,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
193
  - !ruby/object:Gem::Version
107
194
  version: '0'
108
195
  requirements: []
109
- rubyforge_project: publish
110
- rubygems_version: 1.8.16
196
+ rubyforge_project:
197
+ rubygems_version: 1.8.24
111
198
  signing_key:
112
199
  specification_version: 3
113
- summary: Adds the functionality to publish/unpublish
200
+ summary: Adds the functionality to publish/unpublish mongoid docs
114
201
  test_files:
115
202
  - test/dummy/Rakefile
116
203
  - test/dummy/app/controllers/application_controller.rb
@@ -129,7 +216,6 @@ test_files:
129
216
  - test/dummy/config/boot.rb
130
217
  - test/dummy/config/environment.rb
131
218
  - test/dummy/config/environments/development.rb
132
- - test/dummy/config/environments/production.rb
133
219
  - test/dummy/config/environments/test.rb
134
220
  - test/dummy/config/initializers/backtrace_silencers.rb
135
221
  - test/dummy/config/initializers/inflections.rb
data/README.rdoc DELETED
@@ -1,41 +0,0 @@
1
- == Publish
2
-
3
- Publish is a gem that adds the common functionality to publish and unpublish in the rails models.
4
- Now, supports just Mongoid. Support to Activerecord is comming soon.
5
-
6
- == Installation
7
-
8
- Add to Gemfile
9
-
10
- gem 'publish', '0.0.1'
11
-
12
- Then run
13
-
14
- bundle install
15
-
16
- == Getting started
17
-
18
-
19
- Include Publish Module to your model
20
-
21
- class Post
22
- include Mongoid::Document
23
- include Mongoid::Publish
24
-
25
- field :title
26
- field :text
27
- end
28
-
29
- Post.published.count #0
30
-
31
- p = Post.new
32
- p.published? #false
33
- p.published_at #nil
34
-
35
- p.publish! #p.published = true
36
-
37
- p.published? #true
38
-
39
- Post.published.count #1
40
-
41
- p.publication_status #Date.today or 'draft'
@@ -1,49 +0,0 @@
1
- Dummy::Application.configure do
2
- # Settings specified here will take precedence over those in config/application.rb
3
-
4
- # The production environment is meant for finished, "live" apps.
5
- # Code is not reloaded between requests
6
- config.cache_classes = true
7
-
8
- # Full error reports are disabled and caching is turned on
9
- config.consider_all_requests_local = false
10
- config.action_controller.perform_caching = true
11
-
12
- # Specifies the header that your server uses for sending files
13
- config.action_dispatch.x_sendfile_header = "X-Sendfile"
14
-
15
- # For nginx:
16
- # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'
17
-
18
- # If you have no front-end server that supports something like X-Sendfile,
19
- # just comment this out and Rails will serve the files
20
-
21
- # See everything in the log (default is :info)
22
- # config.log_level = :debug
23
-
24
- # Use a different logger for distributed setups
25
- # config.logger = SyslogLogger.new
26
-
27
- # Use a different cache store in production
28
- # config.cache_store = :mem_cache_store
29
-
30
- # Disable Rails's static asset server
31
- # In production, Apache or nginx will already do this
32
- config.serve_static_assets = false
33
-
34
- # Enable serving of images, stylesheets, and javascripts from an asset server
35
- # config.action_controller.asset_host = "http://assets.example.com"
36
-
37
- # Disable delivery errors, bad email addresses will be ignored
38
- # config.action_mailer.raise_delivery_errors = false
39
-
40
- # Enable threaded mode
41
- # config.threadsafe!
42
-
43
- # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
44
- # the I18n.default_locale when a translation can not be found)
45
- config.i18n.fallbacks = true
46
-
47
- # Send deprecation notices to registered listeners
48
- config.active_support.deprecation = :notify
49
- end