ecm_tags 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3af1c6b3c207991a3e21da8de87a37063c0d3bdb
4
+ data.tar.gz: fcfd503932e892b2e11d62314d251d0799459ecd
5
+ SHA512:
6
+ metadata.gz: b8b8a60cca9248069f94e2b87a042c2d73d46f51d26b93c6360e13085b190d196c568337a3d11cc6228ce0ef9659b157e8e562424dbe740b3157231fc8cb071b
7
+ data.tar.gz: e59833e2fdaee0ede0d7550e170da1d9e8ccb9b73f464921670c7a42abadde3db862eabecb906f36f7e4ff28d01be57e4f0cb79e00d3bce9e77276c6034221de
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2016 Roberto Vasquez Angel
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,22 @@
1
+ = Ecm::Tags
2
+
3
+ = Installation
4
+
5
+ Add it to your gemfile:
6
+
7
+ # Gemfile
8
+ gem 'ecm_tags'
9
+
10
+ Add migrations:
11
+
12
+ $ rake ecm_tags:install:migrations
13
+
14
+ Migrate:
15
+
16
+ $ rake db:migrate
17
+
18
+
19
+ = How do I run tests?
20
+
21
+ $ RAILS_ENV=test rake db:migrate
22
+ $ guard
data/Rakefile ADDED
@@ -0,0 +1,19 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'Ecm::Tags'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+ Bundler::GemHelper.install_tasks
18
+
19
+ require 'rails/dummy/tasks'
@@ -0,0 +1,13 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file.
9
+ //
10
+ // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require_tree .
@@ -0,0 +1,14 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. It is generally better to create a new file per style scope.
11
+ *
12
+ *= require_tree .
13
+ *= require_self
14
+ */
@@ -0,0 +1,8 @@
1
+ class TagListRenderer < ResourceRenderer::AttributeRenderer::Base
2
+ def display(attribute_name, _label, _options = {}, &_block)
3
+ tag_list = value_for_attribute(attribute_name)
4
+ output = tag_list.collect do |tag|
5
+ h.content_tag(:span, tag, class: 'label label-default')
6
+ end.join('&nbsp;').html_safe
7
+ end
8
+ end
@@ -0,0 +1,6 @@
1
+ module Ecm
2
+ module Tags
3
+ class ApplicationController < ActionController::Base
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,35 @@
1
+ module Ecm
2
+ module Tags
3
+ class TagSearchsController < Ecm::Tags::Configuration.base_controller.constantize
4
+ respond_to :html, :json
5
+
6
+ def new
7
+ @tag_search = TagSearch.new
8
+ @result = {}
9
+ respond_with @tag_search do |format|
10
+ format.html
11
+ format.json { render json: @tag_search }
12
+ end
13
+ end
14
+
15
+ def create
16
+ @tag_search = TagSearch.new(permitted_params)
17
+ @result = @tag_search.result
18
+ respond_with @tag_search do |format|
19
+ format.html { render :new }
20
+ format.json { render json: @tag_search }
21
+ end
22
+ end
23
+
24
+ private
25
+
26
+ def new_resource_path
27
+ url_for(action: :new)
28
+ end
29
+
30
+ def permitted_params
31
+ params.require(:tag_search).permit(:tag_list, :fuzzy)
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,10 @@
1
+ module Ecm
2
+ module Tags
3
+ module ApplicationHelper
4
+ def tags_search_box
5
+ @tag_search ||= Ecm::Tags::TagSearch.new
6
+ render partial: 'ecm/tags/search_box'
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,4 @@
1
+ module Ecm::Tags
2
+ class Tag < ActsAsTaggableOn::Tag
3
+ end
4
+ end
@@ -0,0 +1,68 @@
1
+ module Ecm::Tags
2
+ class TagSearch
3
+ include ActiveModel::Model
4
+
5
+ attr_accessor :tag_list, :result, :taggable_classes, :fuzzy
6
+
7
+ def self.call(*args)
8
+ new(*args).do_work
9
+ end
10
+
11
+ def do_work
12
+ say "#{self.class.name} running..."
13
+ output = result
14
+ output.each do |klass, resources|
15
+ say "Found #{resources.size} #{klass.constantize.model_name.human(count: :other)}:", indent: 1
16
+ say resources.inspect, indent: 2
17
+ end
18
+ say 'done'
19
+ output
20
+ end
21
+
22
+ def tag_list
23
+ @tag_list ||= ''
24
+ end
25
+
26
+ def result
27
+ @result ||= search
28
+ end
29
+
30
+ def result!
31
+ @result = nil
32
+ result
33
+ end
34
+
35
+ def taggable_classes
36
+ @taggable_classes ||= Ecm::Tags::Tagging.uniq.pluck(:taggable_type)
37
+ end
38
+
39
+ def fuzzy
40
+ @fuzzy ||= false
41
+ end
42
+
43
+ def fuzzy=(value)
44
+ @fuzzy = ActiveRecord::Type::Boolean.new.type_cast_from_database(value)
45
+ end
46
+
47
+ private
48
+
49
+ def say(what, options = {})
50
+ options.reverse_merge!(indent: 0)
51
+ indent = options.delete(:indent)
52
+
53
+ puts "#{' ' * indent * 2}#{what}"
54
+ end
55
+
56
+ def wild
57
+ @wild ||= fuzzy
58
+ end
59
+
60
+ def any
61
+ @any ||= fuzzy
62
+ end
63
+
64
+ def search
65
+ taggable_classes.each_with_object({}) { |klass, result| result[klass] = klass.constantize.tagged_with(tag_list.split(', '), any: any, wild: wild) }
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,7 @@
1
+ module Ecm::Tags
2
+ class Tagging < ActsAsTaggableOn::Tagging
3
+ def human
4
+ "#{taggable} - #{tag}"
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,2 @@
1
+ = simple_form_for(@tag_search, url: ecm_tags.tag_searchs_path, html: { class: 'navbar-form navbar-left' }) do |f|
2
+ = f.input :tag_list, label: false, placeholder: t('.search')
@@ -0,0 +1,10 @@
1
+ = simple_form_for(@tag_search, url: ecm_tags.tag_searchs_path) do |f|
2
+ = f.input :tag_list
3
+ = f.input :fuzzy, as: :boolean
4
+ = f.button :submit, class: 'btn btn-primary'
5
+
6
+ #tag_search_result
7
+ - @result.each do |class_name, resources|
8
+ - next if resources.empty?
9
+ %h2= class_name.constantize.model_name.human(count: :other)
10
+ = render partial: "#{class_name.tableize}/#{class_name.demodulize.underscore}", collection: resources, as: class_name.demodulize.underscore.to_sym
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Tags</title>
5
+ <%= stylesheet_link_tag "ecm/tags/application", media: "all" %>
6
+ <%= javascript_include_tag "ecm/tags/application" %>
7
+ <%= csrf_meta_tags %>
8
+ </head>
9
+ <body>
10
+
11
+ <%= yield %>
12
+
13
+ </body>
14
+ </html>
@@ -0,0 +1,29 @@
1
+ de:
2
+ attributes:
3
+ tag_list: Tags
4
+ activerecord:
5
+ attributes:
6
+ ecm/tags/tag:
7
+ name: Name
8
+ taggings_count: Getagte Objekte
9
+ ecm/tags/tagging:
10
+ tag: Tag
11
+ taggable: Getagtes Objekt
12
+ tagger: Ersteller
13
+ created_at: Erstellt am
14
+ udpated_at: Aktualisiert am
15
+ model:
16
+ ecm/tags/tag:
17
+ one: Tag
18
+ other: Tags
19
+ ecm/tags/tag:
20
+ one: Tagging
21
+ other: Taggings
22
+ ecm:
23
+ tags:
24
+ search_box:
25
+ search: "Katzen, Baum, grün, ..."
26
+ helpers:
27
+ submit:
28
+ tag_search:
29
+ create: 'Suchen'
@@ -0,0 +1,29 @@
1
+ en:
2
+ attributes:
3
+ tag_list: Tags
4
+ activerecord:
5
+ attributes:
6
+ ecm/tags/tag:
7
+ name: Name
8
+ taggings_count: Tagged Items
9
+ ecm/tags/tagging:
10
+ tag: Tag
11
+ taggable: Tagged Item
12
+ tagger: Tagger
13
+ created_at: Created at
14
+ udpated_at: Updated at
15
+ model:
16
+ ecm/tags/tag:
17
+ one: Tag
18
+ other: Tags
19
+ ecm/tags/tag:
20
+ one: Tagging
21
+ other: Taggings
22
+ ecm:
23
+ tags:
24
+ search_box:
25
+ search: "cats, tree, green, ..."
26
+ helpers:
27
+ submit:
28
+ tag_search:
29
+ create: 'Search'
data/config/routes.rb ADDED
@@ -0,0 +1,5 @@
1
+ Ecm::Tags::Engine.routes.draw do
2
+ resources :tag_searchs, only: [:new, :create]
3
+
4
+ root to: 'tag_searchs#new'
5
+ end
@@ -0,0 +1,10 @@
1
+ class CreateEcmTagsTags < ActiveRecord::Migration
2
+ def change
3
+ create_table :ecm_tags_tags do |t|
4
+ t.string 'name'
5
+ t.integer 'taggings_count', default: 0
6
+ end
7
+
8
+ add_index 'ecm_tags_tags', ['name'], name: 'index_tags_on_name', unique: true
9
+ end
10
+ end
@@ -0,0 +1,17 @@
1
+ # This migration comes from ecm_tags (originally 20160208121300)
2
+ class CreateEcmTagsTaggings < ActiveRecord::Migration
3
+ def change
4
+ create_table :ecm_tags_taggings do |t|
5
+ t.integer 'tag_id'
6
+ t.integer 'taggable_id'
7
+ t.string 'taggable_type'
8
+ t.integer 'tagger_id'
9
+ t.string 'tagger_type'
10
+ t.string 'context', limit: 128
11
+ t.datetime 'created_at'
12
+ end
13
+
14
+ add_index 'ecm_tags_taggings', %w(tag_id taggable_id taggable_type context tagger_id tagger_type), name: 'taggings_idx', unique: true
15
+ add_index 'ecm_tags_taggings', %w(taggable_id taggable_type context), name: 'index_taggings_on_taggable_id_and_taggable_type_and_context'
16
+ end
17
+ end
@@ -0,0 +1,14 @@
1
+ require 'active_support/core_ext/module/delegation'
2
+ require 'active_support/core_ext/module/attribute_accessors'
3
+ require 'active_support/hash_with_indifferent_access'
4
+
5
+ module Ecm
6
+ module Tags
7
+ module Configuration
8
+ def configure
9
+ yield self
10
+ end
11
+ mattr_accessor(:base_controller) { 'FrontendController' }
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,7 @@
1
+ module Ecm
2
+ module Tags
3
+ class Engine < ::Rails::Engine
4
+ isolate_namespace Ecm::Tags
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ module Ecm
2
+ module Tags
3
+ VERSION = '0.0.1'.freeze
4
+ end
5
+ end
data/lib/ecm/tags.rb ADDED
@@ -0,0 +1,7 @@
1
+ require 'ecm/tags/configuration'
2
+
3
+ module Ecm
4
+ module Tags
5
+ extend Configuration
6
+ end
7
+ end
data/lib/ecm_tags.rb ADDED
@@ -0,0 +1,21 @@
1
+ require 'acts-as-taggable-on'
2
+ require 'haml-rails'
3
+ require 'responders'
4
+ require 'simple_form'
5
+
6
+ require 'ecm/tags'
7
+ require 'ecm/tags/engine'
8
+
9
+ require 'acts_as_taggable_on/tag'
10
+ module ActsAsTaggableOn
11
+ class Tag
12
+ self.table_name = 'ecm_tags_tags'
13
+ end
14
+ end
15
+
16
+ require 'acts_as_taggable_on/tagging'
17
+ module ActsAsTaggableOn
18
+ class Tagging
19
+ self.table_name = 'ecm_tags_taggings'
20
+ end
21
+ end
@@ -0,0 +1,25 @@
1
+ module Ecm
2
+ module Tags
3
+ module Generators
4
+ class InstallGenerator < Rails::Generators::Base
5
+ desc 'Generates the initializer'
6
+
7
+ source_root File.expand_path('../templates', __FILE__)
8
+
9
+ def generate_initializer
10
+ copy_file 'initializer.rb', 'config/initializers/ecm_tags.rb'
11
+ end
12
+
13
+ def generate_routes
14
+ route File.read(File.join(File.expand_path('../templates', __FILE__), 'routes.source'))
15
+ end
16
+
17
+ def add_helpers_to_application_controller
18
+ inject_into_file 'app/controllers/application_controller.rb', before: "\nend" do
19
+ File.read(File.join(File.expand_path('../templates', __FILE__), 'application_controller.source'))
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,3 @@
1
+
2
+ # From ECM Tags
3
+ helper Ecm::Tags::ApplicationHelper
@@ -0,0 +1,7 @@
1
+ Ecm::Tags.configure do |config|
2
+ # Set the base controller
3
+ #
4
+ # Default: config.base_controller = 'FrontendController'
5
+ #
6
+ config.base_controller = 'FrontendController'
7
+ end
@@ -0,0 +1,4 @@
1
+
2
+ localized do
3
+ mount Ecm::Tags::Engine, at: '/tags'
4
+ end
@@ -0,0 +1,9 @@
1
+ namespace :ecm do
2
+ namespace :tags do
3
+ desc 'Searches for things by tags'
4
+ task :tag_search, [:tag_list, :fuzzy] => [:environment] do |_t, args|
5
+ Tenant.set_current_by_identifier ENV['TENANT']
6
+ Ecm::Tags::TagSearch.call(args)
7
+ end
8
+ end
9
+ end
metadata ADDED
@@ -0,0 +1,285 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ecm_tags
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Roberto Vasquez Angel
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-03-07 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: acts-as-taggable-on
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: haml-rails
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: responders
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: simple_form
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: capybara
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: formulaic
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: factory_girl_rails
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rspec-rails
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: shoulda-matchers
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: guard-bundler
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: guard-rails
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: guard-rspec
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: rails-dummy
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: sqlite3
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ description: ECM Tags Module
224
+ email:
225
+ - roberto@vasquez-angel.de
226
+ executables: []
227
+ extensions: []
228
+ extra_rdoc_files: []
229
+ files:
230
+ - MIT-LICENSE
231
+ - README.rdoc
232
+ - Rakefile
233
+ - app/assets/javascripts/ecm/tags/application.js
234
+ - app/assets/stylesheets/ecm/tags/application.css
235
+ - app/attribute_renderers/tag_list_renderer.rb
236
+ - app/controllers/ecm/tags/application_controller.rb
237
+ - app/controllers/ecm/tags/tag_searchs_controller.rb
238
+ - app/helpers/ecm/tags/application_helper.rb
239
+ - app/models/ecm/tags/tag.rb
240
+ - app/models/ecm/tags/tag_search.rb
241
+ - app/models/ecm/tags/tagging.rb
242
+ - app/views/ecm/tags/_search_box.haml
243
+ - app/views/ecm/tags/tag_searchs/new.haml
244
+ - app/views/layouts/ecm/tags/application.html.erb
245
+ - config/locales/de.yml
246
+ - config/locales/en.yml
247
+ - config/routes.rb
248
+ - db/migrate/20160208121254_create_ecm_tags_tags.rb
249
+ - db/migrate/20160208121300_create_ecm_tags_taggings.rb
250
+ - lib/ecm/tags.rb
251
+ - lib/ecm/tags/configuration.rb
252
+ - lib/ecm/tags/engine.rb
253
+ - lib/ecm/tags/version.rb
254
+ - lib/ecm_tags.rb
255
+ - lib/generators/ecm/tags/install/install_generator.rb
256
+ - lib/generators/ecm/tags/install/templates/application_controller.source
257
+ - lib/generators/ecm/tags/install/templates/initializer.rb
258
+ - lib/generators/ecm/tags/install/templates/routes.source
259
+ - lib/tasks/ecm/tags_tasks.rake
260
+ homepage: https://github.com/robotex82/ecm_tags
261
+ licenses:
262
+ - MIT
263
+ metadata: {}
264
+ post_install_message:
265
+ rdoc_options: []
266
+ require_paths:
267
+ - lib
268
+ required_ruby_version: !ruby/object:Gem::Requirement
269
+ requirements:
270
+ - - ">="
271
+ - !ruby/object:Gem::Version
272
+ version: '0'
273
+ required_rubygems_version: !ruby/object:Gem::Requirement
274
+ requirements:
275
+ - - ">="
276
+ - !ruby/object:Gem::Version
277
+ version: '0'
278
+ requirements: []
279
+ rubyforge_project:
280
+ rubygems_version: 2.4.8
281
+ signing_key:
282
+ specification_version: 4
283
+ summary: Easy tagging for itsf backend
284
+ test_files: []
285
+ has_rdoc: