spud_videos 0.0.3 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/README.md +24 -0
  2. data/Rakefile +2 -14
  3. data/app/helpers/{videos_helper.rb → spud_videos_helper.rb} +10 -5
  4. data/app/models/spud_video.rb +11 -0
  5. data/app/views/videos/index.html.erb +2 -2
  6. data/lib/spud_videos.rb +2 -1
  7. data/lib/spud_videos/configuration.rb +3 -3
  8. data/lib/spud_videos/engine.rb +5 -0
  9. data/lib/spud_videos/liquid_tags.rb +51 -0
  10. data/lib/spud_videos/version.rb +1 -1
  11. metadata +160 -93
  12. data/README.rdoc +0 -3
  13. data/test/dummy/README.rdoc +0 -261
  14. data/test/dummy/Rakefile +0 -7
  15. data/test/dummy/app/assets/javascripts/application.js +0 -15
  16. data/test/dummy/app/assets/stylesheets/application.css +0 -13
  17. data/test/dummy/app/controllers/application_controller.rb +0 -3
  18. data/test/dummy/app/helpers/application_helper.rb +0 -2
  19. data/test/dummy/app/views/layouts/application.html.erb +0 -14
  20. data/test/dummy/config.ru +0 -4
  21. data/test/dummy/config/application.rb +0 -56
  22. data/test/dummy/config/boot.rb +0 -10
  23. data/test/dummy/config/database.yml +0 -25
  24. data/test/dummy/config/environment.rb +0 -5
  25. data/test/dummy/config/environments/development.rb +0 -37
  26. data/test/dummy/config/environments/production.rb +0 -67
  27. data/test/dummy/config/environments/test.rb +0 -37
  28. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  29. data/test/dummy/config/initializers/inflections.rb +0 -15
  30. data/test/dummy/config/initializers/mime_types.rb +0 -5
  31. data/test/dummy/config/initializers/secret_token.rb +0 -7
  32. data/test/dummy/config/initializers/session_store.rb +0 -8
  33. data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
  34. data/test/dummy/config/locales/en.yml +0 -5
  35. data/test/dummy/config/routes.rb +0 -4
  36. data/test/dummy/public/404.html +0 -26
  37. data/test/dummy/public/422.html +0 -26
  38. data/test/dummy/public/500.html +0 -25
  39. data/test/dummy/public/favicon.ico +0 -0
  40. data/test/dummy/script/rails +0 -6
  41. data/test/fixtures/spud_videos.yml +0 -15
  42. data/test/functional/spud/admin/videos_controller_test.rb +0 -7
  43. data/test/functional/videos_controller_test.rb +0 -7
  44. data/test/integration/navigation_test.rb +0 -10
  45. data/test/spud_videos_test.rb +0 -7
  46. data/test/test_helper.rb +0 -10
  47. data/test/unit/helpers/spud/admin/videos_helper_test.rb +0 -4
  48. data/test/unit/helpers/videos_helper_test.rb +0 -4
  49. data/test/unit/spud_video_test.rb +0 -7
data/README.md ADDED
@@ -0,0 +1,24 @@
1
+ Spud Video
2
+ ==========
3
+
4
+ Documentation goes here.
5
+
6
+ Testing
7
+ -----------------
8
+
9
+ Spud uses RSpec for testing. Get the tests running with a few short commands:
10
+
11
+ 1. Create and migrate the databases:
12
+
13
+ rake db:create
14
+ rake db:migrate
15
+
16
+ 2. Load the schema in to the test database:
17
+
18
+ rake app:db:test:prepare
19
+
20
+ 3. Run the tests with RSpec
21
+
22
+ rspec spec
23
+
24
+ After the tests have completed the current code coverage stats is available by opening ```/coverage/index.html``` in a browser.
data/Rakefile CHANGED
@@ -20,21 +20,9 @@ RDoc::Task.new(:rdoc) do |rdoc|
20
20
  rdoc.rdoc_files.include('lib/**/*.rb')
21
21
  end
22
22
 
23
- APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
23
+ APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
24
24
  load 'rails/tasks/engine.rake'
25
25
 
26
-
27
-
28
26
  Bundler::GemHelper.install_tasks
29
27
 
30
- require 'rake/testtask'
31
-
32
- Rake::TestTask.new(:test) do |t|
33
- t.libs << 'lib'
34
- t.libs << 'test'
35
- t.pattern = 'test/**/*_test.rb'
36
- t.verbose = false
37
- end
38
-
39
-
40
- task :default => :test
28
+ require 'rake'
@@ -1,10 +1,15 @@
1
- module VideosHelper
1
+ module SpudVideosHelper
2
2
 
3
- def embedded_video(video,options = {})
4
- height = options[:height] || 315
5
- width = options[:width] || 560
3
+ def spud_video(set_or_identifier,options = {})
4
+ height = options[:height] || Spud::Videos.default_dimensions[1]
5
+ width = options[:width] || Spud::Videos.default_dimensions[0]
6
+
7
+ if set_or_identifier.is_a?(SpudVideo)
8
+ video = set_or_identifier
9
+ else
10
+ video = SpudVideo.find_by_identifier(set_or_identifier)
11
+ end
6
12
 
7
-
8
13
  if video.source == 'youtube'
9
14
  extracted_video_id = video.embed_link.gsub(/h?t?t?p?\:?\/?\/?w?w?w?\.?youtu\.be\//,"").gsub("http://www.youtube.com/watch?v=","")
10
15
  source = "http://www.youtube.com/embed/#{extracted_video_id}"
@@ -2,4 +2,15 @@ class SpudVideo < ActiveRecord::Base
2
2
  validates :name, :presence => true
3
3
  validates :source,:presence => true
4
4
  validates :embed_link,:presence => true
5
+ attr_accessible :name, :video_order, :source, :description, :embed_link
6
+ def self.find_by_identifier(identifier)
7
+ if identifier.class == String
8
+ video = SpudVideo.find_by_name(identifier)
9
+ elsif identifier.class == Symbol
10
+ video = SpudVideo.find_by_name(identifier.to_s.titleize)
11
+ else
12
+ video = SpudVideo.find(identifier)
13
+ end
14
+ return video
15
+ end
5
16
  end
@@ -1,5 +1,5 @@
1
1
  <%@videos.each do |video|%>
2
2
  <div>
3
- <%=embedded_video(video,{:width=>560,:height => 315})%>
3
+ <%=spud_video(video,{:width=>560,:height => 315})%>
4
4
  </div>
5
- <%end%>
5
+ <%end%>
data/lib/spud_videos.rb CHANGED
@@ -1,5 +1,6 @@
1
- require "spud_videos/engine"
2
1
  require 'spud_videos/configuration'
2
+ require 'spud_videos/liquid_tags'
3
+ require "spud_videos/engine"
3
4
  module Spud
4
5
  module Videos
5
6
  end
@@ -2,10 +2,10 @@ module Spud
2
2
  module Videos
3
3
  include ActiveSupport::Configurable
4
4
 
5
- config_accessor :base_layout,:enable_videos_route
5
+ config_accessor :base_layout,:enable_videos_route, :default_dimensions
6
6
 
7
7
  self.base_layout = "application"
8
8
  self.enable_videos_route = true
9
-
9
+ self.default_dimensions = [560,315]
10
10
  end
11
- end
11
+ end
@@ -1,4 +1,5 @@
1
1
  require 'spud_core'
2
+ require 'liquid'
2
3
  module Spud
3
4
  module Videos
4
5
  class Engine < ::Rails::Engine
@@ -8,6 +9,10 @@ module Spud
8
9
  config.admin_applications += [{:name => "Videos",:thumbnail => "spud/admin/videos_thumb.png",:url => "/spud/admin/videos",:order => 6,:retina => true}]
9
10
  end
10
11
  end
12
+
13
+ initializer :liquid do
14
+ Liquid::Template.register_tag('video', Spud::Videos::VideoTag) if defined?(Liquid::Template)
15
+ end
11
16
  end
12
17
  end
13
18
  end
@@ -0,0 +1,51 @@
1
+ require 'liquid'
2
+ require 'csv'
3
+ require_relative '../../app/helpers/spud_videos_helper'
4
+
5
+ module Spud
6
+ module Videos
7
+ class VideoTag < Liquid::Tag
8
+
9
+ include Sprockets::Helpers::RailsHelper
10
+ include Sprockets::Helpers::IsolatedHelper
11
+ include ActionView::Helpers
12
+ include ActionView::Context
13
+ include SpudVideosHelper
14
+
15
+ def initialize(tag_name, params, tokens)
16
+ @params = parse_params params
17
+ @video = SpudVideo.find_by_identifier(@params[0])
18
+ end
19
+
20
+ def parse_params(params)
21
+ CSV.parse_line params, {:col_sep => ' '}
22
+ end
23
+
24
+ def tag_name
25
+ return 'video'
26
+ end
27
+
28
+ def tag_value
29
+ return @video.name
30
+ end
31
+
32
+ def render(context)
33
+ options = {}
34
+ @params[1..-1].each do |param|
35
+ if !param.blank?
36
+ args = param.to_s.split("=")
37
+ if args[0].downcase == 'width'
38
+ options[:width] = args[1]
39
+ elsif args[0].downcase == 'height'
40
+ options[:height] = args[1]
41
+ end
42
+ end
43
+
44
+
45
+ end
46
+ return spud_video(@video,options)
47
+ end
48
+
49
+ end
50
+ end
51
+ end
@@ -1,5 +1,5 @@
1
1
  module Spud
2
2
  module Videos
3
- VERSION = "0.0.3"
3
+ VERSION = "0.9.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spud_videos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.9.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-30 00:00:00.000000000 Z
12
+ date: 2013-01-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70251861562400 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,32 +21,172 @@ dependencies:
21
21
  version: 3.2.2
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70251861562400
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 3.2.2
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: spud_core
27
- requirement: &70251861561880 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: 0.8.0
33
- - - <
34
36
  - !ruby/object:Gem::Version
35
37
  version: 0.9.0
36
38
  type: :runtime
37
39
  prerelease: false
38
- version_requirements: *70251861561880
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 0.9.0
39
46
  - !ruby/object:Gem::Dependency
40
- name: mysql2
41
- requirement: &70251861561240 !ruby/object:Gem::Requirement
47
+ name: liquid
48
+ requirement: !ruby/object:Gem::Requirement
42
49
  none: false
43
50
  requirements:
44
51
  - - ! '>='
45
52
  - !ruby/object:Gem::Version
46
53
  version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: mysql2
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - '='
68
+ - !ruby/object:Gem::Version
69
+ version: 0.3.11
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - '='
76
+ - !ruby/object:Gem::Version
77
+ version: 0.3.11
78
+ - !ruby/object:Gem::Dependency
79
+ name: rspec
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - '='
84
+ - !ruby/object:Gem::Version
85
+ version: 2.8.0
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - '='
92
+ - !ruby/object:Gem::Version
93
+ version: 2.8.0
94
+ - !ruby/object:Gem::Dependency
95
+ name: rspec-rails
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - '='
100
+ - !ruby/object:Gem::Version
101
+ version: 2.8.1
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - '='
108
+ - !ruby/object:Gem::Version
109
+ version: 2.8.1
110
+ - !ruby/object:Gem::Dependency
111
+ name: shoulda
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 3.0.1
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 3.0.1
126
+ - !ruby/object:Gem::Dependency
127
+ name: factory_girl
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - '='
132
+ - !ruby/object:Gem::Version
133
+ version: 2.5.0
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - '='
140
+ - !ruby/object:Gem::Version
141
+ version: 2.5.0
142
+ - !ruby/object:Gem::Dependency
143
+ name: mocha
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - '='
148
+ - !ruby/object:Gem::Version
149
+ version: 0.10.3
47
150
  type: :development
48
151
  prerelease: false
49
- version_requirements: *70251861561240
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - '='
156
+ - !ruby/object:Gem::Version
157
+ version: 0.10.3
158
+ - !ruby/object:Gem::Dependency
159
+ name: database_cleaner
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - '='
164
+ - !ruby/object:Gem::Version
165
+ version: 0.7.1
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - '='
172
+ - !ruby/object:Gem::Version
173
+ version: 0.7.1
174
+ - !ruby/object:Gem::Dependency
175
+ name: simplecov
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ~>
180
+ - !ruby/object:Gem::Version
181
+ version: 0.6.4
182
+ type: :development
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ~>
188
+ - !ruby/object:Gem::Version
189
+ version: 0.6.4
50
190
  description: This is a basic vide management admin tool for spud. Useful for allowing
51
191
  customers to add videos to a video library, control order, link to vimeo or youtube.
52
192
  email:
@@ -61,7 +201,7 @@ files:
61
201
  - app/controllers/spud/admin/videos_controller.rb
62
202
  - app/controllers/spud_videos/application_controller.rb
63
203
  - app/controllers/videos_controller.rb
64
- - app/helpers/videos_helper.rb
204
+ - app/helpers/spud_videos_helper.rb
65
205
  - app/models/spud_video.rb
66
206
  - app/views/layouts/spud/admin/videos/detail.html.erb
67
207
  - app/views/layouts/spud_videos/application.html.erb
@@ -74,50 +214,14 @@ files:
74
214
  - db/migrate/20120330132808_create_spud_videos.rb
75
215
  - lib/spud_videos/configuration.rb
76
216
  - lib/spud_videos/engine.rb
217
+ - lib/spud_videos/liquid_tags.rb
77
218
  - lib/spud_videos/version.rb
78
219
  - lib/spud_videos.rb
79
220
  - lib/tasks/spud_videos_tasks.rake
80
221
  - MIT-LICENSE
81
222
  - Rakefile
82
- - README.rdoc
83
- - test/dummy/app/assets/javascripts/application.js
84
- - test/dummy/app/assets/stylesheets/application.css
85
- - test/dummy/app/controllers/application_controller.rb
86
- - test/dummy/app/helpers/application_helper.rb
87
- - test/dummy/app/views/layouts/application.html.erb
88
- - test/dummy/config/application.rb
89
- - test/dummy/config/boot.rb
90
- - test/dummy/config/database.yml
91
- - test/dummy/config/environment.rb
92
- - test/dummy/config/environments/development.rb
93
- - test/dummy/config/environments/production.rb
94
- - test/dummy/config/environments/test.rb
95
- - test/dummy/config/initializers/backtrace_silencers.rb
96
- - test/dummy/config/initializers/inflections.rb
97
- - test/dummy/config/initializers/mime_types.rb
98
- - test/dummy/config/initializers/secret_token.rb
99
- - test/dummy/config/initializers/session_store.rb
100
- - test/dummy/config/initializers/wrap_parameters.rb
101
- - test/dummy/config/locales/en.yml
102
- - test/dummy/config/routes.rb
103
- - test/dummy/config.ru
104
- - test/dummy/public/404.html
105
- - test/dummy/public/422.html
106
- - test/dummy/public/500.html
107
- - test/dummy/public/favicon.ico
108
- - test/dummy/Rakefile
109
- - test/dummy/README.rdoc
110
- - test/dummy/script/rails
111
- - test/fixtures/spud_videos.yml
112
- - test/functional/spud/admin/videos_controller_test.rb
113
- - test/functional/videos_controller_test.rb
114
- - test/integration/navigation_test.rb
115
- - test/spud_videos_test.rb
116
- - test/test_helper.rb
117
- - test/unit/helpers/spud/admin/videos_helper_test.rb
118
- - test/unit/helpers/videos_helper_test.rb
119
- - test/unit/spud_video_test.rb
120
- homepage: http://github.com/davydotcom/spud_videos
223
+ - README.md
224
+ homepage: http://github.com/spud-rails/spud_videos
121
225
  licenses: []
122
226
  post_install_message:
123
227
  rdoc_options: []
@@ -131,7 +235,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
131
235
  version: '0'
132
236
  segments:
133
237
  - 0
134
- hash: -3134667528447898360
238
+ hash: 976809633072896379
135
239
  required_rubygems_version: !ruby/object:Gem::Requirement
136
240
  none: false
137
241
  requirements:
@@ -140,49 +244,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
244
  version: '0'
141
245
  segments:
142
246
  - 0
143
- hash: -3134667528447898360
247
+ hash: 976809633072896379
144
248
  requirements: []
145
249
  rubyforge_project:
146
- rubygems_version: 1.8.15
250
+ rubygems_version: 1.8.24
147
251
  signing_key:
148
252
  specification_version: 3
149
253
  summary: Video Management addon for Spud with helpers to render youtube players and
150
254
  vimeo players
151
- test_files:
152
- - test/dummy/app/assets/javascripts/application.js
153
- - test/dummy/app/assets/stylesheets/application.css
154
- - test/dummy/app/controllers/application_controller.rb
155
- - test/dummy/app/helpers/application_helper.rb
156
- - test/dummy/app/views/layouts/application.html.erb
157
- - test/dummy/config/application.rb
158
- - test/dummy/config/boot.rb
159
- - test/dummy/config/database.yml
160
- - test/dummy/config/environment.rb
161
- - test/dummy/config/environments/development.rb
162
- - test/dummy/config/environments/production.rb
163
- - test/dummy/config/environments/test.rb
164
- - test/dummy/config/initializers/backtrace_silencers.rb
165
- - test/dummy/config/initializers/inflections.rb
166
- - test/dummy/config/initializers/mime_types.rb
167
- - test/dummy/config/initializers/secret_token.rb
168
- - test/dummy/config/initializers/session_store.rb
169
- - test/dummy/config/initializers/wrap_parameters.rb
170
- - test/dummy/config/locales/en.yml
171
- - test/dummy/config/routes.rb
172
- - test/dummy/config.ru
173
- - test/dummy/public/404.html
174
- - test/dummy/public/422.html
175
- - test/dummy/public/500.html
176
- - test/dummy/public/favicon.ico
177
- - test/dummy/Rakefile
178
- - test/dummy/README.rdoc
179
- - test/dummy/script/rails
180
- - test/fixtures/spud_videos.yml
181
- - test/functional/spud/admin/videos_controller_test.rb
182
- - test/functional/videos_controller_test.rb
183
- - test/integration/navigation_test.rb
184
- - test/spud_videos_test.rb
185
- - test/test_helper.rb
186
- - test/unit/helpers/spud/admin/videos_helper_test.rb
187
- - test/unit/helpers/videos_helper_test.rb
188
- - test/unit/spud_video_test.rb
255
+ test_files: []