locomotive_sort_plugin 0.3.1
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 +15 -0
- data/.gitignore +17 -0
- data/Gemfile +29 -0
- data/LICENSE.txt +22 -0
- data/README.textile +54 -0
- data/Rakefile +1 -0
- data/lib/locomotive/sort/plugin/boolean_sort_tag.rb +43 -0
- data/lib/locomotive/sort/plugin/sort_tag.rb +45 -0
- data/lib/locomotive/sort/plugin/version.rb +5 -0
- data/lib/locomotive/sort/plugin.rb +21 -0
- data/lib/locomotive_sort_plugin.rb +1 -0
- data/locomotive_sort_plugin.gemspec +22 -0
- data/spec/dummy/README.rdoc +261 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/assets/javascripts/application.js +15 -0
- data/spec/dummy/app/assets/stylesheets/application.css +13 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/controllers/home_controller.rb +4 -0
- data/spec/dummy/app/controllers/test_controller.rb +13 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/mailers/.gitkeep +0 -0
- data/spec/dummy/app/models/.gitkeep +0 -0
- data/spec/dummy/app/views/home/index.html.erb +9 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/app/views/sessions/new.html.erb +15 -0
- data/spec/dummy/config/application.rb +66 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +31 -0
- data/spec/dummy/config/environments/production.rb +64 -0
- data/spec/dummy/config/environments/test.rb +35 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/inflections.rb +15 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +10 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/mongoid.yml +80 -0
- data/spec/dummy/config/routes.rb +3 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/lib/assets/.gitkeep +0 -0
- data/spec/dummy/log/.gitkeep +0 -0
- data/spec/dummy/log/test.log +48692 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +25 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/lib/locomotive/sort/plugin/boolean_sort_tag_spec.rb +51 -0
- data/spec/lib/locomotive/sort/plugin/sort_tag_spec.rb +66 -0
- data/spec/spec_helper.rb +50 -0
- data/spec/support/factories.rb +183 -0
- metadata +151 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>The page you were looking for doesn't exist (404)</title>
|
|
5
|
+
<style type="text/css">
|
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
|
7
|
+
div.dialog {
|
|
8
|
+
width: 25em;
|
|
9
|
+
padding: 0 4em;
|
|
10
|
+
margin: 4em auto 0 auto;
|
|
11
|
+
border: 1px solid #ccc;
|
|
12
|
+
border-right-color: #999;
|
|
13
|
+
border-bottom-color: #999;
|
|
14
|
+
}
|
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<!-- This file lives in public/404.html -->
|
|
21
|
+
<div class="dialog">
|
|
22
|
+
<h1>The page you were looking for doesn't exist.</h1>
|
|
23
|
+
<p>You may have mistyped the address or the page may have moved.</p>
|
|
24
|
+
</div>
|
|
25
|
+
</body>
|
|
26
|
+
</html>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>The change you wanted was rejected (422)</title>
|
|
5
|
+
<style type="text/css">
|
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
|
7
|
+
div.dialog {
|
|
8
|
+
width: 25em;
|
|
9
|
+
padding: 0 4em;
|
|
10
|
+
margin: 4em auto 0 auto;
|
|
11
|
+
border: 1px solid #ccc;
|
|
12
|
+
border-right-color: #999;
|
|
13
|
+
border-bottom-color: #999;
|
|
14
|
+
}
|
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<!-- This file lives in public/422.html -->
|
|
21
|
+
<div class="dialog">
|
|
22
|
+
<h1>The change you wanted was rejected.</h1>
|
|
23
|
+
<p>Maybe you tried to change something you didn't have access to.</p>
|
|
24
|
+
</div>
|
|
25
|
+
</body>
|
|
26
|
+
</html>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>We're sorry, but something went wrong (500)</title>
|
|
5
|
+
<style type="text/css">
|
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
|
7
|
+
div.dialog {
|
|
8
|
+
width: 25em;
|
|
9
|
+
padding: 0 4em;
|
|
10
|
+
margin: 4em auto 0 auto;
|
|
11
|
+
border: 1px solid #ccc;
|
|
12
|
+
border-right-color: #999;
|
|
13
|
+
border-bottom-color: #999;
|
|
14
|
+
}
|
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<!-- This file lives in public/500.html -->
|
|
21
|
+
<div class="dialog">
|
|
22
|
+
<h1>We're sorry, but something went wrong.</h1>
|
|
23
|
+
</div>
|
|
24
|
+
</body>
|
|
25
|
+
</html>
|
|
File without changes
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
|
|
3
|
+
|
|
4
|
+
APP_PATH = File.expand_path('../../config/application', __FILE__)
|
|
5
|
+
require File.expand_path('../../config/boot', __FILE__)
|
|
6
|
+
require 'rails/commands'
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
require 'spec_helper.rb'
|
|
2
|
+
|
|
3
|
+
module Locomotive
|
|
4
|
+
module Sort
|
|
5
|
+
describe BooleanSortTag do
|
|
6
|
+
before :each do
|
|
7
|
+
@type = FactoryGirl.build(:content_type)
|
|
8
|
+
@type.entries_custom_fields.build(label: 'name', type: 'string')
|
|
9
|
+
@type.entries_custom_fields.build(label: 'bool', type: 'boolean')
|
|
10
|
+
@type.save
|
|
11
|
+
@site = @type.site
|
|
12
|
+
Locomotive::Plugins.use_site(@site)
|
|
13
|
+
@plugin = Plugin.new()
|
|
14
|
+
@type.entries.create(name: "A", bool: false)
|
|
15
|
+
@type.entries.create(name: "B", bool: true)
|
|
16
|
+
@type.entries.create(name: "C", bool: false)
|
|
17
|
+
@context = ::Liquid::Context.new({},
|
|
18
|
+
{'contents' => Locomotive::Liquid::Drops::ContentTypes.new},
|
|
19
|
+
{enabled_plugin_tags: [Locomotive::Sort::BooleanSortTag::TagSubclass],
|
|
20
|
+
site: @site})
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it 'should sort content entries' do
|
|
24
|
+
template = "{% sort_boolean to sorted from contents.#{@type.slug} by bool %}"+
|
|
25
|
+
"{% for entry in sorted %}"+
|
|
26
|
+
"{{entry.name}}, " +
|
|
27
|
+
"{% endfor %}"
|
|
28
|
+
::Liquid::Template.parse(template).render(@context).should eq "B, A, C, "
|
|
29
|
+
end
|
|
30
|
+
it 'should sort content entries in reverse' do
|
|
31
|
+
template = "{% sort_boolean to sorted from contents.#{@type.slug} by bool reverse %}"+
|
|
32
|
+
"{% for entry in sorted %}"+
|
|
33
|
+
"{{entry.name}}, " +
|
|
34
|
+
"{% endfor %}"
|
|
35
|
+
::Liquid::Template.parse(template).render(@context).should eq "A, C, B, "
|
|
36
|
+
end
|
|
37
|
+
it 'should not sort content entries if disabled' do
|
|
38
|
+
@context = ::Liquid::Context.new({},
|
|
39
|
+
{'contents' => Locomotive::Liquid::Drops::ContentTypes.new},
|
|
40
|
+
{enabled_plugin_tags: [],
|
|
41
|
+
site: @site})
|
|
42
|
+
template = "{% sort_boolean to sorted from contents.#{@type.slug} by bool %}"+
|
|
43
|
+
"{% for entry in sorted %}"+
|
|
44
|
+
"{{entry.name}}, " +
|
|
45
|
+
"{% endfor %}"
|
|
46
|
+
::Liquid::Template.parse(template).render(@context).should eq "A, B, C, "
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
require 'spec_helper.rb'
|
|
2
|
+
|
|
3
|
+
module Locomotive
|
|
4
|
+
module Sort
|
|
5
|
+
describe SortTag do
|
|
6
|
+
before :each do
|
|
7
|
+
@type = FactoryGirl.build(:content_type)
|
|
8
|
+
@type.entries_custom_fields.build(label: 'name', type: 'string')
|
|
9
|
+
@type.entries_custom_fields.build(label: 'type', type: 'string')
|
|
10
|
+
@type.save
|
|
11
|
+
@site = @type.site
|
|
12
|
+
Locomotive::Plugins.use_site(@site)
|
|
13
|
+
@plugin = Plugin.new()
|
|
14
|
+
@type.entries.create(name: "C", type: "B")
|
|
15
|
+
@type.entries.create(name: "A", type: "C")
|
|
16
|
+
@type.entries.create(name: "B", type: "A")
|
|
17
|
+
@context = ::Liquid::Context.new({},
|
|
18
|
+
{'contents' => Locomotive::Liquid::Drops::ContentTypes.new},
|
|
19
|
+
{enabled_plugin_tags: [Locomotive::Sort::SortTag::TagSubclass],
|
|
20
|
+
site: @site})
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it 'should sort content entries' do
|
|
24
|
+
template = "{% sort_by_field to sorted from contents.#{@type.slug} by name %}"+
|
|
25
|
+
"{% for entry in sorted %}"+
|
|
26
|
+
"{{entry.name}}, " +
|
|
27
|
+
"{% endfor %}"
|
|
28
|
+
::Liquid::Template.parse(template).render(@context).should eq "A, B, C, "
|
|
29
|
+
end
|
|
30
|
+
it 'should sort content entries in reverse' do
|
|
31
|
+
template = "{% sort_by_field to sorted from contents.#{@type.slug} by name reverse %}"+
|
|
32
|
+
"{% for entry in sorted %}"+
|
|
33
|
+
"{{entry.name}}, " +
|
|
34
|
+
"{% endfor %}"
|
|
35
|
+
::Liquid::Template.parse(template).render(@context).should eq "C, B, A, "
|
|
36
|
+
end
|
|
37
|
+
it 'should sort content entries by any field' do
|
|
38
|
+
template = "{% sort_by_field to sorted from contents.#{@type.slug} by type %}"+
|
|
39
|
+
"{% for entry in sorted %}"+
|
|
40
|
+
"{{entry.name}}, " +
|
|
41
|
+
"{% endfor %}"
|
|
42
|
+
::Liquid::Template.parse(template).render(@context).should eq "B, C, A, "
|
|
43
|
+
end
|
|
44
|
+
it 'should be able to chain sort content entries' do
|
|
45
|
+
template = "{% sort_by_field to sorted from contents.#{@type.slug} by name %}"+
|
|
46
|
+
"{% sort_by_field to sorted2 from sorted by type %}"+
|
|
47
|
+
"{% for entry in sorted2 %}"+
|
|
48
|
+
"{{entry.name}}, " +
|
|
49
|
+
"{% endfor %}"
|
|
50
|
+
::Liquid::Template.parse(template).render(@context).should eq "B, C, A, "
|
|
51
|
+
end
|
|
52
|
+
it 'should not sort content entries if disabled' do
|
|
53
|
+
@context = ::Liquid::Context.new({},
|
|
54
|
+
{'contents' => Locomotive::Liquid::Drops::ContentTypes.new},
|
|
55
|
+
{enabled_plugin_tags: [],
|
|
56
|
+
site: @site})
|
|
57
|
+
template = "{% sort_by_field to sorted from contents.#{@type.slug} by name %}"+
|
|
58
|
+
"{% for entry in sorted %}"+
|
|
59
|
+
"{{entry.name}}, " +
|
|
60
|
+
"{% endfor %}"
|
|
61
|
+
::Liquid::Template.parse(template).render(@context).should eq "C, A, B, "
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
data/spec/spec_helper.rb
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
require 'rubygems'
|
|
2
|
+
require 'simplecov'
|
|
3
|
+
SimpleCov.start 'rails'
|
|
4
|
+
|
|
5
|
+
# Configure Rails Environment
|
|
6
|
+
ENV["RAILS_ENV"] ||= 'test'
|
|
7
|
+
require 'active_support/dependencies'
|
|
8
|
+
require File.expand_path("../dummy/config/environment", __FILE__)
|
|
9
|
+
require 'rspec/rails'
|
|
10
|
+
require 'capybara/rails'
|
|
11
|
+
require 'capybara/rspec'
|
|
12
|
+
require 'shoulda/matchers'
|
|
13
|
+
require 'database_cleaner'
|
|
14
|
+
require 'factory_girl'
|
|
15
|
+
require 'therubyracer'
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
ENGINE_RAILS_ROOT=File.join(File.dirname(__FILE__), '../')
|
|
19
|
+
|
|
20
|
+
Dir[File.join(ENGINE_RAILS_ROOT, "spec/support/**/*.rb")].each { |f| require f }
|
|
21
|
+
|
|
22
|
+
RSpec.configure do |config|
|
|
23
|
+
config.color = true
|
|
24
|
+
config.formatter = 'documentation'
|
|
25
|
+
config.infer_base_class_for_anonymous_controllers = false
|
|
26
|
+
config.infer_spec_type_from_file_location!
|
|
27
|
+
config.mock_with :mocha
|
|
28
|
+
config.expect_with :rspec do |c|
|
|
29
|
+
c.syntax = [:should, :expect]
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
config.before(:suite) do
|
|
33
|
+
DatabaseCleaner.strategy = :truncation
|
|
34
|
+
DatabaseCleaner.orm = 'mongoid'
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
config.after(:suite) do
|
|
38
|
+
DatabaseCleaner.clean
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
config.before(:each) do
|
|
42
|
+
DatabaseCleaner.clean
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
config.after(:each) do
|
|
46
|
+
DatabaseCleaner.clean
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
config.include FactoryGirl::Syntax::Methods
|
|
50
|
+
end
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
FactoryGirl.define do
|
|
4
|
+
|
|
5
|
+
## Site ##
|
|
6
|
+
factory :site, class: Locomotive::Site do
|
|
7
|
+
name 'Acme Website'
|
|
8
|
+
subdomain 'acme'
|
|
9
|
+
created_at Time.now
|
|
10
|
+
|
|
11
|
+
factory 'test site' do
|
|
12
|
+
name 'Locomotive test website'
|
|
13
|
+
subdomain 'test'
|
|
14
|
+
|
|
15
|
+
after(:build) do |site_test|
|
|
16
|
+
site_test.memberships.build account: Locomotive::Account.where(name: 'Admin').first || create('admin user'), role: 'admin'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
factory 'another site' do
|
|
20
|
+
name 'Locomotive test website #2'
|
|
21
|
+
subdomain 'test2'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
factory 'existing site' do
|
|
27
|
+
name 'Locomotive site with existing models'
|
|
28
|
+
subdomain 'models'
|
|
29
|
+
after(:build) do |site_with_models|
|
|
30
|
+
site_with_models.content_types.build(
|
|
31
|
+
slug: 'projects',
|
|
32
|
+
name: 'Existing name',
|
|
33
|
+
description: 'Existing description',
|
|
34
|
+
order_by: 'created_at')
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
factory 'valid site' do
|
|
40
|
+
# after(:build) { |valid_site| valid_site.stubs(:valid?).returns(true) }
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Accounts ##
|
|
46
|
+
factory :account, class: Locomotive::Account do
|
|
47
|
+
name 'Bart Simpson'
|
|
48
|
+
email 'bart@simpson.net'
|
|
49
|
+
password 'easyone'
|
|
50
|
+
password_confirmation 'easyone'
|
|
51
|
+
locale 'en'
|
|
52
|
+
|
|
53
|
+
factory 'admin user' do
|
|
54
|
+
name 'Admin'
|
|
55
|
+
email 'admin@locomotiveapp.org'
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
factory 'designer user' do
|
|
59
|
+
name 'Designer'
|
|
60
|
+
email 'designer@locomotiveapp.org'
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
factory 'author user' do
|
|
64
|
+
name 'Author'
|
|
65
|
+
email 'author@locomotiveapp.org'
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
factory 'frenchy user' do
|
|
69
|
+
name 'Jean Claude'
|
|
70
|
+
email 'jean@frenchy.fr'
|
|
71
|
+
locale 'fr'
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
factory 'brazillian user' do
|
|
75
|
+
name 'Jose Carlos'
|
|
76
|
+
email 'jose@carlos.com.br'
|
|
77
|
+
locale 'pt-BR'
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
factory 'italian user' do
|
|
81
|
+
name 'Paolo Rossi'
|
|
82
|
+
email 'paolo@paolo-rossi.it'
|
|
83
|
+
locale 'it'
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
factory 'polish user' do
|
|
87
|
+
name 'Paweł Wilk'
|
|
88
|
+
email 'pawel@randomseed.pl'
|
|
89
|
+
locale 'pl'
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
factory 'japanese user' do
|
|
93
|
+
name 'OSA Shunsuke'
|
|
94
|
+
email 'xxxcaqui@gmail.com'
|
|
95
|
+
locale 'ja'
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
factory 'bulgarian user' do
|
|
99
|
+
name 'Lyuben Petrov'
|
|
100
|
+
email 'lyuben.y.petrov@gmail.com'
|
|
101
|
+
locale 'bg'
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
## Memberships ##
|
|
106
|
+
factory :membership, class: Locomotive::Membership do
|
|
107
|
+
role 'admin'
|
|
108
|
+
account { Locomotive::Account.where(name: 'Bart Simpson').first || FactoryGirl.create('admin user') }
|
|
109
|
+
|
|
110
|
+
factory :admin do
|
|
111
|
+
role 'admin'
|
|
112
|
+
account { FactoryGirl.create('admin user', locale: 'en') }
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
factory :designer do
|
|
116
|
+
role 'designer'
|
|
117
|
+
account { FactoryGirl.create('frenchy user', locale: 'en') }
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
factory :author do
|
|
121
|
+
role 'author'
|
|
122
|
+
account { FactoryGirl.create('brazillian user', locale: 'en') }
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
## Pages ##
|
|
128
|
+
factory :page, class: Locomotive::Page do
|
|
129
|
+
title 'Home page'
|
|
130
|
+
slug 'index'
|
|
131
|
+
published true
|
|
132
|
+
site { Locomotive::Site.where(subdomain: 'acme').first || FactoryGirl.create(:site) }
|
|
133
|
+
|
|
134
|
+
factory :sub_page do
|
|
135
|
+
title 'Subpage'
|
|
136
|
+
slug 'subpage'
|
|
137
|
+
published true
|
|
138
|
+
site { Locomotive::Site.where(subdomain: 'acme').first || FactoryGirl.create(:site) }
|
|
139
|
+
parent { Locomotive::Page.where(slug: 'index').first || FactoryGirl.create(:page) }
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
## Snippets ##
|
|
145
|
+
factory :snippet, class: Locomotive::Snippet do
|
|
146
|
+
name 'My website title'
|
|
147
|
+
slug 'header'
|
|
148
|
+
template %{<title>Acme</title>}
|
|
149
|
+
site { Locomotive::Site.where(subdomain: 'acme').first || FactoryGirl.create(:site) }
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
## Assets ##
|
|
154
|
+
factory :asset, class: Locomotive::ContentAsset do
|
|
155
|
+
site { Locomotive::Site.where(subdomain: 'acme').first || FactoryGirl.create(:site) }
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
## Theme assets ##
|
|
160
|
+
factory :theme_asset, class: Locomotive::ThemeAsset do
|
|
161
|
+
site { Locomotive::Site.where(subdomain: 'acme').first || FactoryGirl.create(:site) }
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
## Content types ##
|
|
165
|
+
factory :content_type, class: Locomotive::ContentType do
|
|
166
|
+
name 'My project'
|
|
167
|
+
description 'The list of my projects'
|
|
168
|
+
site { Locomotive::Site.where(subdomain: 'acme').first || FactoryGirl.create(:site) }
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
factory :content_entry, class: Locomotive::ContentEntry do
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
factory :translation, class: Locomotive::Translation do
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
## Plugins ##
|
|
178
|
+
factory :plugin_data, :class => Locomotive::PluginData do
|
|
179
|
+
site { Locomotive::Site.where(:subdomain => "acme").first || FactoryGirl.create(:site) }
|
|
180
|
+
plugin_id 'my_plugin_id'
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: locomotive_sort_plugin
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.3.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Charlie Greene
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2014-09-02 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: locomotive_plugins
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ~>
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '1.0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ~>
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '1.0'
|
|
27
|
+
description: Allows designers to sort content types multiple different ways.
|
|
28
|
+
email:
|
|
29
|
+
- greeneca@gmail.com
|
|
30
|
+
executables: []
|
|
31
|
+
extensions: []
|
|
32
|
+
extra_rdoc_files: []
|
|
33
|
+
files:
|
|
34
|
+
- .gitignore
|
|
35
|
+
- Gemfile
|
|
36
|
+
- LICENSE.txt
|
|
37
|
+
- README.textile
|
|
38
|
+
- Rakefile
|
|
39
|
+
- lib/locomotive/sort/plugin.rb
|
|
40
|
+
- lib/locomotive/sort/plugin/boolean_sort_tag.rb
|
|
41
|
+
- lib/locomotive/sort/plugin/sort_tag.rb
|
|
42
|
+
- lib/locomotive/sort/plugin/version.rb
|
|
43
|
+
- lib/locomotive_sort_plugin.rb
|
|
44
|
+
- locomotive_sort_plugin.gemspec
|
|
45
|
+
- spec/dummy/README.rdoc
|
|
46
|
+
- spec/dummy/Rakefile
|
|
47
|
+
- spec/dummy/app/assets/javascripts/application.js
|
|
48
|
+
- spec/dummy/app/assets/stylesheets/application.css
|
|
49
|
+
- spec/dummy/app/controllers/application_controller.rb
|
|
50
|
+
- spec/dummy/app/controllers/home_controller.rb
|
|
51
|
+
- spec/dummy/app/controllers/test_controller.rb
|
|
52
|
+
- spec/dummy/app/helpers/application_helper.rb
|
|
53
|
+
- spec/dummy/app/mailers/.gitkeep
|
|
54
|
+
- spec/dummy/app/models/.gitkeep
|
|
55
|
+
- spec/dummy/app/views/home/index.html.erb
|
|
56
|
+
- spec/dummy/app/views/layouts/application.html.erb
|
|
57
|
+
- spec/dummy/app/views/sessions/new.html.erb
|
|
58
|
+
- spec/dummy/config.ru
|
|
59
|
+
- spec/dummy/config/application.rb
|
|
60
|
+
- spec/dummy/config/boot.rb
|
|
61
|
+
- spec/dummy/config/environment.rb
|
|
62
|
+
- spec/dummy/config/environments/development.rb
|
|
63
|
+
- spec/dummy/config/environments/production.rb
|
|
64
|
+
- spec/dummy/config/environments/test.rb
|
|
65
|
+
- spec/dummy/config/initializers/backtrace_silencers.rb
|
|
66
|
+
- spec/dummy/config/initializers/inflections.rb
|
|
67
|
+
- spec/dummy/config/initializers/mime_types.rb
|
|
68
|
+
- spec/dummy/config/initializers/secret_token.rb
|
|
69
|
+
- spec/dummy/config/initializers/session_store.rb
|
|
70
|
+
- spec/dummy/config/initializers/wrap_parameters.rb
|
|
71
|
+
- spec/dummy/config/locales/en.yml
|
|
72
|
+
- spec/dummy/config/mongoid.yml
|
|
73
|
+
- spec/dummy/config/routes.rb
|
|
74
|
+
- spec/dummy/lib/assets/.gitkeep
|
|
75
|
+
- spec/dummy/log/.gitkeep
|
|
76
|
+
- spec/dummy/log/test.log
|
|
77
|
+
- spec/dummy/public/404.html
|
|
78
|
+
- spec/dummy/public/422.html
|
|
79
|
+
- spec/dummy/public/500.html
|
|
80
|
+
- spec/dummy/public/favicon.ico
|
|
81
|
+
- spec/dummy/script/rails
|
|
82
|
+
- spec/lib/locomotive/sort/plugin/boolean_sort_tag_spec.rb
|
|
83
|
+
- spec/lib/locomotive/sort/plugin/sort_tag_spec.rb
|
|
84
|
+
- spec/spec_helper.rb
|
|
85
|
+
- spec/support/factories.rb
|
|
86
|
+
homepage: http://colibri-software.com
|
|
87
|
+
licenses:
|
|
88
|
+
- MIT
|
|
89
|
+
metadata: {}
|
|
90
|
+
post_install_message:
|
|
91
|
+
rdoc_options: []
|
|
92
|
+
require_paths:
|
|
93
|
+
- lib
|
|
94
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
95
|
+
requirements:
|
|
96
|
+
- - ! '>='
|
|
97
|
+
- !ruby/object:Gem::Version
|
|
98
|
+
version: '0'
|
|
99
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - ! '>='
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '0'
|
|
104
|
+
requirements: []
|
|
105
|
+
rubyforge_project:
|
|
106
|
+
rubygems_version: 2.2.2
|
|
107
|
+
signing_key:
|
|
108
|
+
specification_version: 4
|
|
109
|
+
summary: Variable sort content entries
|
|
110
|
+
test_files:
|
|
111
|
+
- spec/dummy/README.rdoc
|
|
112
|
+
- spec/dummy/Rakefile
|
|
113
|
+
- spec/dummy/app/assets/javascripts/application.js
|
|
114
|
+
- spec/dummy/app/assets/stylesheets/application.css
|
|
115
|
+
- spec/dummy/app/controllers/application_controller.rb
|
|
116
|
+
- spec/dummy/app/controllers/home_controller.rb
|
|
117
|
+
- spec/dummy/app/controllers/test_controller.rb
|
|
118
|
+
- spec/dummy/app/helpers/application_helper.rb
|
|
119
|
+
- spec/dummy/app/mailers/.gitkeep
|
|
120
|
+
- spec/dummy/app/models/.gitkeep
|
|
121
|
+
- spec/dummy/app/views/home/index.html.erb
|
|
122
|
+
- spec/dummy/app/views/layouts/application.html.erb
|
|
123
|
+
- spec/dummy/app/views/sessions/new.html.erb
|
|
124
|
+
- spec/dummy/config.ru
|
|
125
|
+
- spec/dummy/config/application.rb
|
|
126
|
+
- spec/dummy/config/boot.rb
|
|
127
|
+
- spec/dummy/config/environment.rb
|
|
128
|
+
- spec/dummy/config/environments/development.rb
|
|
129
|
+
- spec/dummy/config/environments/production.rb
|
|
130
|
+
- spec/dummy/config/environments/test.rb
|
|
131
|
+
- spec/dummy/config/initializers/backtrace_silencers.rb
|
|
132
|
+
- spec/dummy/config/initializers/inflections.rb
|
|
133
|
+
- spec/dummy/config/initializers/mime_types.rb
|
|
134
|
+
- spec/dummy/config/initializers/secret_token.rb
|
|
135
|
+
- spec/dummy/config/initializers/session_store.rb
|
|
136
|
+
- spec/dummy/config/initializers/wrap_parameters.rb
|
|
137
|
+
- spec/dummy/config/locales/en.yml
|
|
138
|
+
- spec/dummy/config/mongoid.yml
|
|
139
|
+
- spec/dummy/config/routes.rb
|
|
140
|
+
- spec/dummy/lib/assets/.gitkeep
|
|
141
|
+
- spec/dummy/log/.gitkeep
|
|
142
|
+
- spec/dummy/log/test.log
|
|
143
|
+
- spec/dummy/public/404.html
|
|
144
|
+
- spec/dummy/public/422.html
|
|
145
|
+
- spec/dummy/public/500.html
|
|
146
|
+
- spec/dummy/public/favicon.ico
|
|
147
|
+
- spec/dummy/script/rails
|
|
148
|
+
- spec/lib/locomotive/sort/plugin/boolean_sort_tag_spec.rb
|
|
149
|
+
- spec/lib/locomotive/sort/plugin/sort_tag_spec.rb
|
|
150
|
+
- spec/spec_helper.rb
|
|
151
|
+
- spec/support/factories.rb
|