ecm_videos 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 11544491916d30e349719ce696c719b59c0d63f9
4
+ data.tar.gz: 2da66738e3dc0337dc8a423fb6de077be1f2b725
5
+ SHA512:
6
+ metadata.gz: 251fb6438accc05425b5ce969d2a54c1b34d17f3885dac4dac7aeb95d7d0bdff732c1a5e0a250a7ee7026e9df08a73fa91a78aee7974ffb546d0109037f734b4
7
+ data.tar.gz: b3f4e08c4d43a27f9f247471aa37f32de6c5d5e00fbf51335a4e364567119a40fe3717b56d65955c642ac7d24f56e15808e8dd7ef192cd0decba1dcde800410b
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,19 @@
1
+ = Ecm::Videos
2
+
3
+ This project rocks and uses MIT-LICENSE.
4
+
5
+ = When trying to upload new videos on ubuntu, I get the error message "errors while processing Ecm::Videos::Video ID <x>: Video Paperclip::Errors::NotIdentifiedByImageMagickError". What can I do?
6
+
7
+ Your system is missing ffmpeg. Install it:
8
+
9
+ sudo apt-get --purge remove ffmpeg
10
+ sudo apt-get --purge autoremove
11
+
12
+ sudo apt-get install ppa-purge
13
+ sudo ppa-purge ppa:jon-severinsson/ffmpeg
14
+
15
+ sudo add-apt-repository ppa:mc3man/trusty-media
16
+ sudo apt-get update
17
+ # sudo apt-get dist-upgrade
18
+
19
+ sudo apt-get install ffmpeg
data/Rakefile ADDED
@@ -0,0 +1,17 @@
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::Videos"
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
@@ -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,24 @@
1
+ require_dependency 'RedCloth'
2
+
3
+ module Models::MarkupConcern
4
+ extend ActiveSupport::Concern
5
+
6
+ class_methods do
7
+ def markup(*args)
8
+ args.extract_options!
9
+ markup_attributes = *args
10
+ markup_attributes.each do |attr|
11
+ define_method attr do |format = :default|
12
+ value = read_attribute(attr)
13
+ case format
14
+ when :html
15
+ return unless value
16
+ RedCloth.new(value).to_html.html_safe
17
+ else
18
+ value
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,26 @@
1
+ module Ecm
2
+ module Videos
3
+ class CategoriesController < Configuration.base_controller.constantize
4
+ include Controller::ResourceConcern
5
+ include Controller::ResourceInflectionsConcern
6
+ include Controller::ResourceUrlsConcern
7
+ include Controller::RestActionsConcern
8
+
9
+ helper ResourceRenderer::ViewHelper
10
+
11
+ def self.resource_class
12
+ Ecm::Videos::Category
13
+ end
14
+
15
+ private
16
+
17
+ def load_scope
18
+ resource_class.published
19
+ end
20
+
21
+ def collection_scope
22
+ resource_class.published.all
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ module Ecm
2
+ module Videos
3
+ class VideosController < Configuration.base_controller.constantize
4
+ include Controller::ResourceConcern
5
+ include Controller::ResourceInflectionsConcern
6
+ include Controller::ResourceUrlsConcern
7
+ include Controller::RestActionsConcern
8
+
9
+ helper ResourceRenderer::ViewHelper
10
+
11
+ def self.resource_class
12
+ Ecm::Videos::Video
13
+ end
14
+
15
+ private
16
+
17
+ def load_scope
18
+ resource_class.published
19
+ end
20
+
21
+ def collection_scope
22
+ resource_class.published.all
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,6 @@
1
+ module Ecm
2
+ module Videos
3
+ module ApplicationHelper
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,31 @@
1
+ module Ecm::Videos
2
+ class Category < ActiveRecord::Base
3
+ # markup support
4
+ include Models::MarkupConcern
5
+ markup :description
6
+
7
+ # acts as published
8
+ include ActsAsPublished::ActiveRecord
9
+ acts_as_published
10
+
11
+ has_many :videos, -> { order(position: :asc) }
12
+
13
+ validates :locale, :name, :markup_language, presence: true
14
+
15
+ after_initialize :set_defaults, if: :new_record?
16
+
17
+ def preview_image
18
+ videos.first.try(:preview_image)
19
+ end
20
+
21
+ def videos_count
22
+ videos.count
23
+ end
24
+
25
+ private
26
+
27
+ def set_defaults
28
+ self.markup_language = Configuration.default_markup_language
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,35 @@
1
+ module Ecm::Videos
2
+ class Video < ActiveRecord::Base
3
+ # markup support
4
+ include Models::MarkupConcern
5
+ markup :description
6
+
7
+ # acts as published
8
+ include ActsAsPublished::ActiveRecord
9
+ acts_as_published
10
+
11
+ # acts as list
12
+ acts_as_list scope: :category
13
+ default_scope { order(position: :asc) }
14
+
15
+ belongs_to :category
16
+
17
+ has_attached_file :clip, Configuration.paperclip_options.call(self)
18
+
19
+ validates :clip, attachment_presence: true
20
+ validates_attachment_content_type :clip, content_type: /\Avideo\/.*\Z/
21
+ validates :category, :name, :markup_language, presence: true
22
+
23
+ after_initialize :set_defaults, if: :new_record?
24
+
25
+ def preview_image
26
+ clip
27
+ end
28
+
29
+ private
30
+
31
+ def set_defaults
32
+ self.markup_language = Configuration.default_markup_language
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,7 @@
1
+ %h1= t('.title', inflections)
2
+
3
+ = render_collection(@collection, Ecm::Videos::Category, as: :bootstrap_media_object) do |list|
4
+ = list.media_object(title_method: :name, body: list.resource.description(:html), image_url: list.resource.videos.first.clip.url(:default_thumb))
5
+
6
+ .well.page-actions
7
+ = link_to(t('.back'), main_app.root_path, class: 'btn btn-default')
@@ -0,0 +1,12 @@
1
+ %h1= @resource.name
2
+
3
+ #video-category-description
4
+ = @resource.description(:html)
5
+
6
+
7
+ #video-category-videos
8
+ = render_collection(@resource.videos, Ecm::Videos::Video, as: :bootstrap_media_object) do |list|
9
+ = list.media_object(title_method: :name, body: list.resource.description(:html), image_url: list.resource.clip.url(:default_thumb))
10
+
11
+ .well.page-actions
12
+ = link_to(t('.back'), collection_path, class: 'btn btn-default')
@@ -0,0 +1,7 @@
1
+ %h1= t('.title', inflections)
2
+
3
+ = render_collection(@collection, Ecm::Videos::Video, as: :bootstrap_media_object) do |list|
4
+ = list.media_object(title_method: :name, body: list.resource.description(:html), image_url: list.resource.clip.url(:default_thumb))
5
+
6
+ .well.page-actions
7
+ = link_to(t('.back'), main_app.root_path, class: 'btn btn-default')
@@ -0,0 +1,13 @@
1
+ %h1#video-name= @resource.name
2
+
3
+ .row.bottom-margin-2
4
+ #video-clip
5
+ %video.col-xs-12.video-js{ controls: :true, preload: 'auto', width: "auto", height: "auto", 'data-setup': "{}" }
6
+ %source{ src: @resource.clip.url, type: @resource.clip_content_type } }
7
+
8
+
9
+ #video-description
10
+ = @resource.description(:html)
11
+
12
+ .well.page-actions
13
+ = link_to(t('.back'), collection_path, class: 'btn btn-default')
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Videos</title>
5
+ <%= stylesheet_link_tag "ecm/videos/application", media: "all" %>
6
+ <%= javascript_include_tag "ecm/videos/application" %>
7
+ <%= csrf_meta_tags %>
8
+ </head>
9
+ <body>
10
+
11
+ <%= yield %>
12
+
13
+ </body>
14
+ </html>
@@ -0,0 +1,51 @@
1
+ de:
2
+ attributes:
3
+ created_at: Erstellt am
4
+ updated_at: Aktualisiert am
5
+ activerecord:
6
+ models:
7
+ ecm/videos/category:
8
+ one: Kategorie
9
+ other: Kategorien
10
+ ecm/videos/video:
11
+ one: Video
12
+ other: Videos
13
+ attributes:
14
+ ecm/videos/category:
15
+ description: Beschreibung
16
+ locale: Sprache
17
+ markup_language: Markup Sprache
18
+ name: Name
19
+ published: Veröffentlicht
20
+ published_at: Veröffentlicht am
21
+ videos_count: Videos
22
+ ecm/videos/video:
23
+ category: Kategorie
24
+ category_id: Kategorie
25
+ clip: Video
26
+ clip_content_type: Videotyp
27
+ clip_file_name: Videoname
28
+ clip_file_size: Videogröße
29
+ clip_updated_at: Video aktualisiert am
30
+ description: Beschreibung
31
+ markup_language: Markup Sprache
32
+ name: Name
33
+ published: Veröffentlicht
34
+ published_at: Veröffentlicht am
35
+ ecm:
36
+ videos:
37
+ categories:
38
+ index:
39
+ back: "Zurück"
40
+ title: "%{collection_name}"
41
+ show:
42
+ back: "Zurück"
43
+ videos:
44
+ index:
45
+ back: "Zurück"
46
+ title: "%{collection_name}"
47
+ show:
48
+ back: "Zurück"
49
+ routes:
50
+ categories: 'kategorien'
51
+ videos: 'videos'
data/config/routes.rb ADDED
@@ -0,0 +1,6 @@
1
+ Ecm::Videos::Engine.routes.draw do
2
+ resources :categories, only: [:index, :show]
3
+ resources :videos, only: [:index, :show]
4
+
5
+ root to: 'categories#index'
6
+ end
@@ -0,0 +1,22 @@
1
+ class CreateEcmVideosCategories < ActiveRecord::Migration
2
+ def change
3
+ create_table :ecm_videos_categories do |t|
4
+ t.string :locale
5
+ t.string :name
6
+ t.text :description
7
+
8
+ t.string :markup_language
9
+
10
+ # acts_as_list
11
+ t.integer :position
12
+
13
+ # friendly_id
14
+ t.string :slug
15
+
16
+ # acts_as_published
17
+ t.timestamp :published_at
18
+
19
+ t.timestamps null: false
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,25 @@
1
+ class CreateEcmVideosVideos < ActiveRecord::Migration
2
+ def change
3
+ create_table :ecm_videos_videos do |t|
4
+ t.integer :category_id
5
+ t.string :name
6
+ t.text :description
7
+
8
+ t.string :markup_language
9
+
10
+ # acts_as_list
11
+ t.integer :position
12
+
13
+ # friendly_id
14
+ t.string :slug
15
+
16
+ # acts_as_published
17
+ t.timestamp :published_at
18
+
19
+ # paperclip
20
+ t.attachment :clip
21
+
22
+ t.timestamps null: false
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,19 @@
1
+ require 'active_support/core_ext/module/delegation'
2
+ require 'active_support/core_ext/module/attribute_accessors'
3
+
4
+ module Ecm
5
+ module Videos
6
+ module Configuration
7
+ def configure
8
+ yield self
9
+ end
10
+
11
+ mattr_accessor(:markup_languages) { ['textile'] }
12
+ mattr_accessor(:default_markup_language) { 'textile' }
13
+ mattr_accessor(:base_controller) { 'FrontendController' }
14
+ mattr_accessor(:paperclip_options) do
15
+ Proc.new { {} }
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,9 @@
1
+ module Ecm
2
+ module Videos
3
+ class Engine < ::Rails::Engine
4
+ isolate_namespace Ecm::Videos
5
+
6
+ config.eager_load_paths << root.join(*%w(app concerns))
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ module Ecm
2
+ module Videos
3
+ VERSION = "1.0.0".freeze
4
+ end
5
+ end
data/lib/ecm/videos.rb ADDED
@@ -0,0 +1,7 @@
1
+ require 'ecm/videos/configuration'
2
+
3
+ module Ecm
4
+ module Videos
5
+ extend Configuration
6
+ end
7
+ end
data/lib/ecm_videos.rb ADDED
@@ -0,0 +1,10 @@
1
+ require 'acts_as_list'
2
+ require 'acts_as_published'
3
+ require 'haml-rails'
4
+ require 'paperclip'
5
+ require 'paperclip/av/transcoder'
6
+ require 'rails_rad'
7
+ require 'resource_renderer'
8
+
9
+ require "ecm/videos"
10
+ require "ecm/videos/engine"
@@ -0,0 +1,21 @@
1
+ module Ecm
2
+ module Videos
3
+ module Generators
4
+ class InstallGenerator < Rails::Generators::Base
5
+ desc 'Generates the intializer'
6
+
7
+ source_root File.expand_path('../templates', __FILE__)
8
+
9
+ def generate_initializer
10
+ copy_file 'initializer.rb', 'config/initializers/ecm_videos.rb'
11
+ end
12
+
13
+ def generate_routes
14
+ inject_into_file 'config/routes.rb', before: "\nend" do
15
+ File.read(File.join(File.expand_path('../templates', __FILE__), 'routes.source'))
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,40 @@
1
+ Ecm::Videos.configure do |config|
2
+ # Accepted markup languages
3
+ #
4
+ # default: config.markup_languages = %w[ textile ]
5
+ config.markup_languages = %w( textile )
6
+
7
+ # Default markup language
8
+ #
9
+ # default: config.default_markup_language = 'textile'
10
+ config.default_markup_language = 'textile'
11
+
12
+ # Set the base controller
13
+ #
14
+ # Default: config.base_controller = 'FrontendController'
15
+ #
16
+ config.base_controller = 'FrontendController'
17
+
18
+ # Set the paperclip options. This should be a proc. The proc
19
+ # takes one parameter: The video model.
20
+ #
21
+ # Default: config.paperclip_options = Proc.new do |model|
22
+ # {
23
+ # styles: {
24
+ # small_thumb: '80x60',
25
+ # medium_thumb: '160x120',
26
+ # default_thumb: '260x180'
27
+ # }
28
+ # }
29
+ # end
30
+ #
31
+ config.paperclip_options = Proc.new do |model|
32
+ {
33
+ styles: {
34
+ small_thumb: '80x60',
35
+ medium_thumb: '160x120',
36
+ default_thumb: '260x180'
37
+ }
38
+ }
39
+ end
40
+ end
@@ -0,0 +1,5 @@
1
+
2
+ # ECM Videos Frontend Routing
3
+ localized do
4
+ mount Ecm::Videos::Engine, at: '/videos'
5
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :videos do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,200 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ecm_videos
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Roberto Vasquez Angel
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-02-20 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_list
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: acts_as_published
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: haml-rails
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: paperclip
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: paperclip-av-transcoder
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
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: rails_rad
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
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: resource_renderer
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
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: RedCloth
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ description: Ecm::Videos Module.
140
+ email:
141
+ - roberto@vasquez-angel.de
142
+ executables: []
143
+ extensions: []
144
+ extra_rdoc_files: []
145
+ files:
146
+ - MIT-LICENSE
147
+ - README.rdoc
148
+ - Rakefile
149
+ - app/assets/javascripts/ecm/videos/application.js
150
+ - app/assets/stylesheets/ecm/videos/application.css
151
+ - app/concerns/models/markup_concern.rb
152
+ - app/controllers/ecm/videos/categories_controller.rb
153
+ - app/controllers/ecm/videos/videos_controller.rb
154
+ - app/helpers/ecm/videos/application_helper.rb
155
+ - app/models/ecm/videos/category.rb
156
+ - app/models/ecm/videos/video.rb
157
+ - app/views/ecm/videos/categories/index.haml
158
+ - app/views/ecm/videos/categories/show.haml
159
+ - app/views/ecm/videos/videos/index.haml
160
+ - app/views/ecm/videos/videos/show.haml
161
+ - app/views/layouts/ecm/videos/application.html.erb
162
+ - config/locales/de.yml
163
+ - config/routes.rb
164
+ - db/migrate/20160214022529_create_ecm_videos_categories.rb
165
+ - db/migrate/20160214022929_create_ecm_videos_videos.rb
166
+ - lib/ecm/videos.rb
167
+ - lib/ecm/videos/configuration.rb
168
+ - lib/ecm/videos/engine.rb
169
+ - lib/ecm/videos/version.rb
170
+ - lib/ecm_videos.rb
171
+ - lib/generators/ecm/videos/install/install_generator.rb
172
+ - lib/generators/ecm/videos/install/templates/initializer.rb
173
+ - lib/generators/ecm/videos/install/templates/routes.source
174
+ - lib/tasks/ecm/videos_tasks.rake
175
+ homepage: https://github.com/robotex82/ecm_videos
176
+ licenses:
177
+ - MIT
178
+ metadata: {}
179
+ post_install_message:
180
+ rdoc_options: []
181
+ require_paths:
182
+ - lib
183
+ required_ruby_version: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ required_rubygems_version: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
193
+ requirements: []
194
+ rubyforge_project:
195
+ rubygems_version: 2.4.8
196
+ signing_key:
197
+ specification_version: 4
198
+ summary: Ecm::Videos.
199
+ test_files: []
200
+ has_rdoc: