spud_videos 0.0.3 → 0.9.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.
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: []