ecm_tags 2.1.0 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/ecm/tags/tagging.rb +16 -0
- data/config/initializers/inject_taggable_concern.rb +6 -0
- data/config/locales/de.yml +18 -8
- data/config/locales/en.yml +21 -8
- data/lib/ecm/tags/configuration.rb +3 -3
- data/lib/ecm/tags/engine.rb +0 -7
- data/lib/ecm/tags/version.rb +1 -1
- data/lib/generators/ecm/tags/install/templates/initializer.rb +10 -5
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/javascripts/application.js +13 -0
- data/spec/dummy/app/assets/javascripts/posts.js +2 -0
- data/spec/dummy/app/assets/stylesheets/application.css +15 -0
- data/spec/dummy/app/assets/stylesheets/posts.css +4 -0
- data/spec/dummy/app/assets/stylesheets/scaffold.css +56 -0
- data/spec/dummy/app/controllers/application_controller.rb +5 -0
- data/spec/dummy/app/controllers/frontend_controller.rb +2 -0
- data/spec/dummy/app/controllers/posts_controller.rb +59 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/helpers/posts_helper.rb +2 -0
- data/spec/dummy/app/models/post.rb +4 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/app/views/posts/_form.html.erb +25 -0
- data/spec/dummy/app/views/posts/_post.html.erb +3 -0
- data/spec/dummy/app/views/posts/edit.html.erb +6 -0
- data/spec/dummy/app/views/posts/index.html.erb +29 -0
- data/spec/dummy/app/views/posts/new.html.erb +5 -0
- data/spec/dummy/app/views/posts/show.html.erb +14 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/bin/setup +29 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +31 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +41 -0
- data/spec/dummy/config/environments/production.rb +79 -0
- data/spec/dummy/config/environments/test.rb +42 -0
- data/spec/dummy/config/initializers/assets.rb +11 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -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 +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/routes.rb +5 -0
- data/spec/dummy/config/secrets.yml +22 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20160212133931_create_ecm_tags_tags.ecm_tags.rb +11 -0
- data/spec/dummy/db/migrate/20160212133932_create_ecm_tags_taggings.ecm_tags.rb +18 -0
- data/spec/dummy/db/migrate/20160212134222_create_posts.rb +10 -0
- data/spec/dummy/db/schema.rb +41 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/spec/controllers/posts_controller_spec.rb +157 -0
- data/spec/dummy/spec/factories/posts.rb +6 -0
- data/spec/dummy/spec/helpers/posts_helper_spec.rb +15 -0
- data/spec/dummy/spec/models/post_spec.rb +5 -0
- data/spec/dummy/spec/requests/posts_spec.rb +10 -0
- data/spec/dummy/spec/routing/posts_routing_spec.rb +37 -0
- data/spec/dummy/spec/views/posts/edit.html.erb_spec.rb +20 -0
- data/spec/dummy/spec/views/posts/index.html.erb_spec.rb +22 -0
- data/spec/dummy/spec/views/posts/new.html.erb_spec.rb +20 -0
- data/spec/dummy/spec/views/posts/show.html.erb_spec.rb +16 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-Rk46EWcF9JNQvs4jamoC5UetyQe_Liydnzz339Ah5c.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-tiBAjaN_MhRxnGs10DJTQjnj4h1yRQkeejcmBYdwJo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2Yi2yjcAHgeIXKOYmsGlDp7Jc9-YxdBAerr4uk4uO0Q.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3vFcUkP2kWu2iktHlcSC_OfjYi3u_BqXmoCf2gvEE2M.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4JaU4ZW9j_RMb-z_fzYbPLoZctdUv0Fzt3_U-gy3kAw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5P-OzgUkwyAgoOv7CZL2UfSgs4rcG7DcMYr5WUkHaZc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5TzYmONEI2HYkxGdPZU9iJFCuuoe70CB-i-w-KEHZv0.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6H66m5FQazePA0g_qkHvuCMPzaPtznXdj-yAWWUtPnw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7C_O90lo1Yi2b0Ed9bpFF6gUVqTrK_4goAv2_cdLnSI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8wkEYFnE3ZJ8vdlwNXJpFg1xc81ULuNYx7O-FuYA55w.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/AAiF0geR48ctD2aHAqAVSLKQFWesFqJLP-ZGPId5wWM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ClUHQDSdna_TRtjSG_r6jD3hQEmJ_laO_2IDDTNafGw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DesJkeilWecg6a2hoWgP6KtHYFXVculbTQwOY824Ov0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DmmfrCpXtt74Hr6NO54lxyOCDv6klnDyBqeDFR7oDU8.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ETOLFW7z9GHBdRPSYUVj-RVoXPXxMmOc86KlwkUFXWM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FQvx5zKlMSn1gKaT7Elj4CgsWHC-_8FYDN_VO0vyGH4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/I-Fn3is-YC5z6FFns4kf2DQWiNPmSh5FE6mqR4hNeqY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JAmHv7GyzaWXmLMT2CiP8pUuvPOX7gNlyP7DcId3xcA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JIV6P9o3lv6AF-6_7Yd35SryD44vS_LPdThsYeXjgQk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KB1t0DQJfRViGhML3u0NuVlVpQHjbFYWs_SrFvbXQB0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/M76cE2oAZjvfK9meOD0uCS1k5slLFYxmtLiMykNl1oY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MWYCQbJoVG_HtuEyKiBNUM4zGAV9pVXr6uoxvtpixrE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Q8H_klVplUAUyXyRxcoz5K3HyirGXjwxQ9-6sTKm74U.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RSK82eed7XubPBRL-4jf0eOlKgtGg-ooQXrY0F4W194.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Z_pLuEtd8bZcpv5q0r6aYNl9SP4KClCsP-i0wAOelmM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dlQOci5ZlcWlh7tHZpxpamNwe343IjDbezrfcPEcPw0.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/egxIcSNP_AHgCIboNW03qbGhxwrCOcPqms6nGntC7Fs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/i18WqDjAKooAMM0YPXJRMtHBycPcmo-BU8eoqXKyfPU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jVD7-rQv89s_Pta-2_Sf9U7i8ao1gix2Lp90ISIkasA.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nWo2ysO8pNRVLI4LiUqzjyZyrU1cIxq20bSCDbgswdM.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ompUzgaB0qfmoE6djKuHjLjMYlToLX0_lb6iFwWPO0o.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pOoJAHtZ3sqU9_DaqDFTu0HPRhuSfgJDE8bdi9IVlI4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pzyYjBHQiM-yOIhztKOpuHU7Jepq82zWJg-mzp5L418.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wJMzpOMn4cGBbHRf1uOBEApoBZag48B9djjpFhAG8mE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wafl6XJiIk4VCd-yj42MMaao0dyAqQSTSPn0YiXvElQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xuNJ32gKsrwphnFigSODyGeYqNKhBBSa49ffAXRJ8jg.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zF3sNycdAc5fpqhKKmuKS2F2Zc-OkZ-T2Qiqq4ywang.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zMHd1CpL0ukpIS90SExzXc3eTzMQreOm__lG4fVygp8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zPep_9K14vA0ICucNx5t8umt9e2caMo0jvNg80b4kJs.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zt-2He-6ayIMtuqNcliVhJNUcEnCi6M39pTVaXV9VjA.cache +0 -0
- data/spec/factories/ecm_tags_taggings.rb +6 -0
- data/spec/factories/ecm_tags_tags.rb +6 -0
- data/spec/features/ecm/tags/search_spec.rb +19 -0
- data/spec/models/ecm/tags/tag_search_spec.rb +43 -0
- data/spec/rails_helper.rb +57 -0
- data/spec/spec_helper.rb +90 -0
- data/spec/support/capybara.rb +1 -0
- data/spec/support/factory_girl_rails.rb +5 -0
- data/spec/support/formulaic.rb +5 -0
- data/spec/support/shoulda_matchers.rb +8 -0
- metadata +120 -2
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
# Specs in this file have access to a helper object that includes
|
4
|
+
# the PostsHelper. For example:
|
5
|
+
#
|
6
|
+
# describe PostsHelper do
|
7
|
+
# describe "string concat" do
|
8
|
+
# it "concats two strings with spaces" do
|
9
|
+
# expect(helper.concat_strings("this","that")).to eq("this that")
|
10
|
+
# end
|
11
|
+
# end
|
12
|
+
# end
|
13
|
+
RSpec.describe PostsHelper, type: :helper do
|
14
|
+
pending "add some examples to (or delete) #{__FILE__}"
|
15
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
RSpec.describe PostsController, type: :routing do
|
4
|
+
describe 'routing' do
|
5
|
+
it 'routes to #index' do
|
6
|
+
expect(get: '/posts').to route_to('posts#index')
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'routes to #new' do
|
10
|
+
expect(get: '/posts/new').to route_to('posts#new')
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'routes to #show' do
|
14
|
+
expect(get: '/posts/1').to route_to('posts#show', id: '1')
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'routes to #edit' do
|
18
|
+
expect(get: '/posts/1/edit').to route_to('posts#edit', id: '1')
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'routes to #create' do
|
22
|
+
expect(post: '/posts').to route_to('posts#create')
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'routes to #update via PUT' do
|
26
|
+
expect(put: '/posts/1').to route_to('posts#update', id: '1')
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'routes to #update via PATCH' do
|
30
|
+
expect(patch: '/posts/1').to route_to('posts#update', id: '1')
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'routes to #destroy' do
|
34
|
+
expect(delete: '/posts/1').to route_to('posts#destroy', id: '1')
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
RSpec.describe 'posts/edit', type: :view do
|
4
|
+
before(:each) do
|
5
|
+
@post = assign(:post, Post.create!(
|
6
|
+
title: 'MyString',
|
7
|
+
body: 'MyText'
|
8
|
+
))
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'renders the edit post form' do
|
12
|
+
render
|
13
|
+
|
14
|
+
assert_select 'form[action=?][method=?]', post_path(@post), 'post' do
|
15
|
+
assert_select 'input#post_title[name=?]', 'post[title]'
|
16
|
+
|
17
|
+
assert_select 'textarea#post_body[name=?]', 'post[body]'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
RSpec.describe 'posts/index', type: :view do
|
4
|
+
before(:each) do
|
5
|
+
assign(:posts, [
|
6
|
+
Post.create!(
|
7
|
+
title: 'Title',
|
8
|
+
body: 'MyText'
|
9
|
+
),
|
10
|
+
Post.create!(
|
11
|
+
title: 'Title',
|
12
|
+
body: 'MyText'
|
13
|
+
)
|
14
|
+
])
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'renders a list of posts' do
|
18
|
+
render
|
19
|
+
assert_select 'tr>td', text: 'Title'.to_s, count: 2
|
20
|
+
assert_select 'tr>td', text: 'MyText'.to_s, count: 2
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
RSpec.describe 'posts/new', type: :view do
|
4
|
+
before(:each) do
|
5
|
+
assign(:post, Post.new(
|
6
|
+
title: 'MyString',
|
7
|
+
body: 'MyText'
|
8
|
+
))
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'renders new post form' do
|
12
|
+
render
|
13
|
+
|
14
|
+
assert_select 'form[action=?][method=?]', posts_path, 'post' do
|
15
|
+
assert_select 'input#post_title[name=?]', 'post[title]'
|
16
|
+
|
17
|
+
assert_select 'textarea#post_body[name=?]', 'post[body]'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
RSpec.describe 'posts/show', type: :view do
|
4
|
+
before(:each) do
|
5
|
+
@post = assign(:post, Post.create!(
|
6
|
+
title: 'Title',
|
7
|
+
body: 'MyText'
|
8
|
+
))
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'renders attributes in <p>' do
|
12
|
+
render
|
13
|
+
expect(rendered).to match(/Title/)
|
14
|
+
expect(rendered).to match(/MyText/)
|
15
|
+
end
|
16
|
+
end
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-tiBAjaN_MhRxnGs10DJTQjnj4h1yRQkeejcmBYdwJo.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
I"�app/assets/stylesheets/application.css?type=text/css&pipeline=self&id=0d3a39f9094d99bd2be6d0078f3b017f17f96e897f4b6539038c71c6fc704922:ET
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2Yi2yjcAHgeIXKOYmsGlDp7Jc9-YxdBAerr4uk4uO0Q.cache
ADDED
Binary file
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3vFcUkP2kWu2iktHlcSC_OfjYi3u_BqXmoCf2gvEE2M.cache
ADDED
Binary file
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4JaU4ZW9j_RMb-z_fzYbPLoZctdUv0Fzt3_U-gy3kAw.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
I"�/home/vagrant/rails/ecm/ecm_tags/app/assets/javascripts/ecm/tags/application.js?type=application/javascript&id=c3ecf71899c4bcb8d46cab08991f5a1d94f4289bb9b4714b8861e8ad0d49f875:ET
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5P-OzgUkwyAgoOv7CZL2UfSgs4rcG7DcMYr5WUkHaZc.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
I"�/home/vagrant/rails/ecm/ecm_tags/app/assets/javascripts/ecm/tags/application.js?type=application/javascript&pipeline=self&id=d42395d5b88eae78e9b2723ecfdb90ed20a95033f32c8522ea59e393e2f5e044:ET
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6H66m5FQazePA0g_qkHvuCMPzaPtznXdj-yAWWUtPnw.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
"%��A�I8���߅�u7�!��H���j���\��|x
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7C_O90lo1Yi2b0Ed9bpFF6gUVqTrK_4goAv2_cdLnSI.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
"%��a��lz�l��q�.{�S�a����@/�7�ź
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8wkEYFnE3ZJ8vdlwNXJpFg1xc81ULuNYx7O-FuYA55w.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
I"�app/assets/javascripts/application.js?type=application/javascript&pipeline=self&id=fb3f0c21729964ae0146c05968db640e6c11fb6452e2abe24f2e207422aed762:ET
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/AAiF0geR48ctD2aHAqAVSLKQFWesFqJLP-ZGPId5wWM.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
I"�app/assets/javascripts/application.js?type=application/javascript&id=1d878e109ec1fff0a4b0eb71966873fcf411450367b3b155c4c64436dd5fc562:ET
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ClUHQDSdna_TRtjSG_r6jD3hQEmJ_laO_2IDDTNafGw.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
"%�W\�yho9S���ƫ˥��)|�~���(���
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DesJkeilWecg6a2hoWgP6KtHYFXVculbTQwOY824Ov0.cache
ADDED
Binary file
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ETOLFW7z9GHBdRPSYUVj-RVoXPXxMmOc86KlwkUFXWM.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
I"�app/assets/stylesheets/scaffold.css?type=text/css&pipeline=self&id=7c5c0397060dfbb3080ab7f19d91adc68d9b9be205e7013d9176128d700d71c2:ET
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FQvx5zKlMSn1gKaT7Elj4CgsWHC-_8FYDN_VO0vyGH4.cache
ADDED
Binary file
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/I-Fn3is-YC5z6FFns4kf2DQWiNPmSh5FE6mqR4hNeqY.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
"%Ѱč@�����6H�uZoX�Z�gbh0W��V
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JAmHv7GyzaWXmLMT2CiP8pUuvPOX7gNlyP7DcId3xcA.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
I"�app/assets/stylesheets/posts.css?type=text/css&pipeline=self&id=f9f00d3a7698bee097643a0536577b79f8e76f2ba421ad23226a4bf5d16c6b0c:ET
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JIV6P9o3lv6AF-6_7Yd35SryD44vS_LPdThsYeXjgQk.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
"%??Gɒ��RvTy���W��>�o!{���L�
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KB1t0DQJfRViGhML3u0NuVlVpQHjbFYWs_SrFvbXQB0.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
I"}app/assets/stylesheets/application.css?type=text/css&id=05bfc66a47f2e2a7bf48b5aa25396d7090ce53e910757f1a67ba6bde4bf79176:ET
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/M76cE2oAZjvfK9meOD0uCS1k5slLFYxmtLiMykNl1oY.cache
ADDED
Binary file
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MWYCQbJoVG_HtuEyKiBNUM4zGAV9pVXr6uoxvtpixrE.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
"%���q�{=1O�4���Hw�Aۯ��>��v
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache
ADDED
@@ -0,0 +1,2 @@
|
|
1
|
+
[o:Set:
|
2
|
+
@hash{I"environment-version:ETTI"environment-paths;TTI">processors:type=text/css&file_type=text/css&pipeline=self;TTI"9file-digest://app/assets/stylesheets/application.css;TTI")file-digest://app/assets/stylesheets;TTI"3file-digest://app/assets/stylesheets/posts.css;TTI"6file-digest://app/assets/stylesheets/scaffold.css;TT
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Q8H_klVplUAUyXyRxcoz5K3HyirGXjwxQ9-6sTKm74U.cache
ADDED
Binary file
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RSK82eed7XubPBRL-4jf0eOlKgtGg-ooQXrY0F4W194.cache
ADDED
Binary file
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Z_pLuEtd8bZcpv5q0r6aYNl9SP4KClCsP-i0wAOelmM.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
"%-����k�ŏ�5g�A��A]������pMt^7/�
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dlQOci5ZlcWlh7tHZpxpamNwe343IjDbezrfcPEcPw0.cache
ADDED
@@ -0,0 +1,3 @@
|
|
1
|
+
[o:Set:
|
2
|
+
@hash{
|
3
|
+
I"environment-version:ETTI"environment-paths;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"bfile-digest:///home/vagrant/rails/ecm/ecm_tags/app/assets/javascripts/ecm/tags/application.js;TTI"Sfile-digest:///home/vagrant/rails/ecm/ecm_tags/app/assets/javascripts/ecm/tags;TT
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/egxIcSNP_AHgCIboNW03qbGhxwrCOcPqms6nGntC7Fs.cache
ADDED
Binary file
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache
ADDED
@@ -0,0 +1,2 @@
|
|
1
|
+
[o:Set:
|
2
|
+
@hash{I"environment-version:ETTI"environment-paths;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"8file-digest://app/assets/javascripts/application.js;TTI")file-digest://app/assets/javascripts;TTI"2file-digest://app/assets/javascripts/posts.js;TT
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/i18WqDjAKooAMM0YPXJRMtHBycPcmo-BU8eoqXKyfPU.cache
ADDED
Binary file
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jVD7-rQv89s_Pta-2_Sf9U7i8ao1gix2Lp90ISIkasA.cache
ADDED
@@ -0,0 +1,2 @@
|
|
1
|
+
[o:Set:
|
2
|
+
@hash{I"environment-version:ETTI"environment-paths;TTI"Lprocessors:type=application/javascript&file_type=application/javascript;TTI"bfile-digest:///home/vagrant/rails/ecm/ecm_tags/app/assets/javascripts/ecm/tags/application.js;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"Sfile-digest:///home/vagrant/rails/ecm/ecm_tags/app/assets/javascripts/ecm/tags;TT
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nWo2ysO8pNRVLI4LiUqzjyZyrU1cIxq20bSCDbgswdM.cache
ADDED
@@ -0,0 +1,2 @@
|
|
1
|
+
[o:Set:
|
2
|
+
@hash{I"environment-version:ETTI"environment-paths;TTI"0processors:type=text/css&file_type=text/css;TTI"cfile-digest:///home/vagrant/rails/ecm/ecm_tags/app/assets/stylesheets/ecm/tags/application.css;TTI">processors:type=text/css&file_type=text/css&pipeline=self;TTI"Sfile-digest:///home/vagrant/rails/ecm/ecm_tags/app/assets/stylesheets/ecm/tags;TT
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache
ADDED
@@ -0,0 +1,2 @@
|
|
1
|
+
[o:Set:
|
2
|
+
@hash{I"environment-version:ETTI"environment-paths;TTI"Lprocessors:type=application/javascript&file_type=application/javascript;TTI"8file-digest://app/assets/javascripts/application.js;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"2file-digest://app/assets/javascripts/posts.js;TTI")file-digest://app/assets/javascripts;TT
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pOoJAHtZ3sqU9_DaqDFTu0HPRhuSfgJDE8bdi9IVlI4.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
I"�/home/vagrant/rails/ecm/ecm_tags/app/assets/stylesheets/ecm/tags/application.css?type=text/css&id=33196728942580a7d04aeabef8783126b1a06dc10f15399ee733d98093e91dd7:ET
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pzyYjBHQiM-yOIhztKOpuHU7Jepq82zWJg-mzp5L418.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
"%��Rm�v�S3.��O�L���ڹc�ƕq�=_j�
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wJMzpOMn4cGBbHRf1uOBEApoBZag48B9djjpFhAG8mE.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
I"�app/assets/javascripts/posts.js?type=application/javascript&pipeline=self&id=7073d8061e1566274393d9962e56125fd99d10d901079f0c712228841011920c:ET
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wafl6XJiIk4VCd-yj42MMaao0dyAqQSTSPn0YiXvElQ.cache
ADDED
Binary file
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xuNJ32gKsrwphnFigSODyGeYqNKhBBSa49ffAXRJ8jg.cache
ADDED
@@ -0,0 +1,3 @@
|
|
1
|
+
[o:Set:
|
2
|
+
@hash{
|
3
|
+
I"environment-version:ETTI"environment-paths;TTI">processors:type=text/css&file_type=text/css&pipeline=self;TTI"cfile-digest:///home/vagrant/rails/ecm/ecm_tags/app/assets/stylesheets/ecm/tags/application.css;TTI"Sfile-digest:///home/vagrant/rails/ecm/ecm_tags/app/assets/stylesheets/ecm/tags;TT
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zF3sNycdAc5fpqhKKmuKS2F2Zc-OkZ-T2Qiqq4ywang.cache
ADDED
Binary file
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zMHd1CpL0ukpIS90SExzXc3eTzMQreOm__lG4fVygp8.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
"%֧�NTZq�בH�L��#p3��Jg!��)
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zPep_9K14vA0ICucNx5t8umt9e2caMo0jvNg80b4kJs.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
I"�/home/vagrant/rails/ecm/ecm_tags/app/assets/stylesheets/ecm/tags/application.css?type=text/css&pipeline=self&id=4d164f4e4f3b954b8ad3b1eea9a8356ba81b9231189ad1ee40a0b83f4a2cada0:ET
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zt-2He-6ayIMtuqNcliVhJNUcEnCi6M39pTVaXV9VjA.cache
ADDED
Binary file
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
RSpec.feature 'Tag search', type: :feature do
|
4
|
+
background do
|
5
|
+
@post = create(:post)
|
6
|
+
@post.tag_list.add('foo, bar, baz')
|
7
|
+
@post.save!
|
8
|
+
end
|
9
|
+
|
10
|
+
scenario 'User searches for tags' do
|
11
|
+
visit '/tags'
|
12
|
+
|
13
|
+
fill_in 'tag_search[tag_list]', with: 'foo'
|
14
|
+
check 'tag_search[fuzzy]'
|
15
|
+
click_on submit(:tag_search)
|
16
|
+
|
17
|
+
expect(page).to have_text(@post.title)
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
module Ecm::Tags
|
4
|
+
describe TagSearch do
|
5
|
+
context 'instance' do
|
6
|
+
subject { Ecm::Tags::TagSearch.new }
|
7
|
+
|
8
|
+
it { expect(subject).to be_a(Ecm::Tags::TagSearch) }
|
9
|
+
end
|
10
|
+
|
11
|
+
context 'simple search' do
|
12
|
+
subject do
|
13
|
+
@post = create(:post)
|
14
|
+
@post.tag_list.add('foo')
|
15
|
+
@post.save!
|
16
|
+
Ecm::Tags::TagSearch.new(tag_list: 'foo').do_work
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'should return a hash' do
|
20
|
+
expect(subject).to be_a(Hash)
|
21
|
+
end
|
22
|
+
|
23
|
+
it { expect(subject.keys).to include('Post') }
|
24
|
+
it { expect(subject['Post'].size).to eq(1) }
|
25
|
+
end
|
26
|
+
|
27
|
+
context 'fuzzy search' do
|
28
|
+
subject do
|
29
|
+
@post = create(:post)
|
30
|
+
@post.tag_list.add('foo')
|
31
|
+
@post.save!
|
32
|
+
Ecm::Tags::TagSearch.new(tag_list: 'f', fuzzy: true).do_work
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should return a hash' do
|
36
|
+
expect(subject).to be_a(Hash)
|
37
|
+
end
|
38
|
+
|
39
|
+
it { expect(subject.keys).to include('Post') }
|
40
|
+
it { expect(subject['Post'].size).to eq(1) }
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
2
|
+
ENV['RAILS_ENV'] ||= 'test'
|
3
|
+
require File.expand_path('../dummy/config/environment', __FILE__)
|
4
|
+
# Prevent database truncation if the environment is production
|
5
|
+
abort('The Rails environment is running in production mode!') if Rails.env.production?
|
6
|
+
require 'spec_helper'
|
7
|
+
require 'rspec/rails'
|
8
|
+
# Add additional requires below this line. Rails is not loaded until this point!
|
9
|
+
|
10
|
+
# Requires supporting ruby files with custom matchers and macros, etc, in
|
11
|
+
# spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are
|
12
|
+
# run as spec files by default. This means that files in spec/support that end
|
13
|
+
# in _spec.rb will both be required and run as specs, causing the specs to be
|
14
|
+
# run twice. It is recommended that you do not name files matching this glob to
|
15
|
+
# end with _spec.rb. You can configure this pattern with the --pattern
|
16
|
+
# option on the command line or in ~/.rspec, .rspec or `.rspec-local`.
|
17
|
+
#
|
18
|
+
# The following line is provided for convenience purposes. It has the downside
|
19
|
+
# of increasing the boot-up time by auto-requiring all files in the support
|
20
|
+
# directory. Alternatively, in the individual `*_spec.rb` files, manually
|
21
|
+
# require only the support files necessary.
|
22
|
+
#
|
23
|
+
Dir[Ecm::Tags::Engine.root.join('spec/support/**/*.rb')].each { |f| require f }
|
24
|
+
|
25
|
+
# Checks for pending migration and applies them before tests are run.
|
26
|
+
# If you are not using ActiveRecord, you can remove this line.
|
27
|
+
# ActiveRecord::Migration.maintain_test_schema!
|
28
|
+
|
29
|
+
RSpec.configure do |config|
|
30
|
+
# Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
|
31
|
+
config.fixture_path = "#{::Rails.root}/spec/fixtures"
|
32
|
+
|
33
|
+
# If you're not using ActiveRecord, or you'd prefer not to run each of your
|
34
|
+
# examples within a transaction, remove the following line or assign false
|
35
|
+
# instead of true.
|
36
|
+
config.use_transactional_fixtures = true
|
37
|
+
|
38
|
+
# RSpec Rails can automatically mix in different behaviours to your tests
|
39
|
+
# based on their file location, for example enabling you to call `get` and
|
40
|
+
# `post` in specs under `spec/controllers`.
|
41
|
+
#
|
42
|
+
# You can disable this behaviour by removing the line below, and instead
|
43
|
+
# explicitly tag your specs with their type, e.g.:
|
44
|
+
#
|
45
|
+
# RSpec.describe UsersController, :type => :controller do
|
46
|
+
# # ...
|
47
|
+
# end
|
48
|
+
#
|
49
|
+
# The different available types are documented in the features, such as in
|
50
|
+
# https://relishapp.com/rspec/rspec-rails/docs
|
51
|
+
config.infer_spec_type_from_file_location!
|
52
|
+
|
53
|
+
# Filter lines from Rails gems in backtraces.
|
54
|
+
config.filter_rails_from_backtrace!
|
55
|
+
# arbitrary gems may also be filtered via:
|
56
|
+
# config.filter_gems_from_backtrace("gem name")
|
57
|
+
end
|