acts_as_unvlogable 1.0.3 → 1.0.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 119b6b929d2bfebafa60364c69adde19040c728c
4
- data.tar.gz: 100ce17b9848f5e24ef0da99e2a9c8eaa554094b
3
+ metadata.gz: b25f375e3d2dc060e172cf163354f29a29b73a96
4
+ data.tar.gz: 8c625c22a281163acb560298056741e6270bcb10
5
5
  SHA512:
6
- metadata.gz: 2d3460ba785a20703192566dfd8ade5d6363c8e9dd8ab6925b9dce5c08964464ed82d0360efc20826246c6221e41be94156a9da7cb5c120f79807bbb6cd956eb
7
- data.tar.gz: 85cbe903a240835ef4ac54c4abfb7c7aa550d3c71b5c9423f046a9f0b1451e3696f5d6c2cc479c24d8c179dd6286c9c593cac2ee1e3cdec88ad48de7e7850a00
6
+ metadata.gz: 8db16167584b6e00be1e57b40e5248645e6d0815230bcd8dd14368528591fac498924fa4fc3b18ed247e5a9defecf172ba2eb97760baf0fece3fd361d6b1608e
7
+ data.tar.gz: 1c4e49e5583e97bcc222e095d02daa3d6b2211ec9229dca72c233cbaf141afa38e04f70fc2e5919743ebbab88d4fe2828fda3c7a2d8df87a404bdfb44caf49d6
data/README.markdown CHANGED
@@ -91,7 +91,7 @@ At this moment we support the following video services:
91
91
  - [Metacafe](http://metacafe.com/)
92
92
  - [Dailymotion](http://dailymotion.com/)
93
93
  - [Collegehumor](http://collegehumor.com/)
94
- - [Blip.tv](http://blip.tv/)
94
+ - ~~[Blip.tv](http://blip.tv/)~~ Transformed into maker.tv
95
95
  - [Myspace](http://vids.myspace.com/)
96
96
  - [Ted Talks](http://www.ted.com/talks/)
97
97
  - [11870.com](http://11870.com/)
@@ -23,6 +23,7 @@ Gem::Specification.new do |s|
23
23
  s.add_development_dependency 'bundler', '~> 1.3'
24
24
  s.add_development_dependency 'rake'
25
25
  s.add_development_dependency 'rspec'
26
+ s.add_runtime_dependency("activesupport")
26
27
  s.add_runtime_dependency("nokogiri")
27
28
  s.add_runtime_dependency("xml-simple")
28
29
  s.add_runtime_dependency("yt")
@@ -3,6 +3,8 @@ require "cgi"
3
3
  require "json"
4
4
  require "net/http"
5
5
  require 'rexml/document'
6
+ require 'active_support'
7
+ require 'active_support/core_ext/hash'
6
8
  require "yt"
7
9
  require "nokogiri"
8
10
  require "acts_as_unvlogable/flickr"
@@ -1,3 +1,3 @@
1
1
  module ActsAsUnvlogable
2
- VERSION = "1.0.3"
2
+ VERSION = "1.0.4"
3
3
  end
@@ -12,7 +12,7 @@ class Vg11870
12
12
  end
13
13
 
14
14
  def title
15
- CGI::unescapeHTML @page.xpath("//span[@itemprop='name']").first.text.strip
15
+ CGI::unescapeHTML @page.xpath("//h2[@class='fn p-name']/a/span").first.text.strip
16
16
  end
17
17
 
18
18
  def thumbnail
@@ -4,40 +4,40 @@
4
4
  # ----------------------------------------------
5
5
 
6
6
 
7
- class VgBlip
7
+ # class VgBlip
8
8
 
9
- def initialize(url=nil, options={})
10
- @url = url.split("?").first if url
11
- res = Net::HTTP.get(URI.parse("#{url}?skin=rss"))
12
- @feed = REXML::Document.new(res)
13
- end
9
+ # def initialize(url=nil, options={})
10
+ # @url = url.split("?").first if url
11
+ # res = Net::HTTP.get(URI.parse("#{url}?skin=rss"))
12
+ # @feed = REXML::Document.new(res)
13
+ # end
14
14
 
15
- def title
16
- CGI::unescape REXML::XPath.first(@feed, "//media:title")[0].to_s
17
- end
15
+ # def title
16
+ # CGI::unescape REXML::XPath.first(@feed, "//media:title")[0].to_s
17
+ # end
18
18
 
19
- def thumbnail
20
- REXML::XPath.first(@feed, "//media:thumbnail").attributes['url']
21
- end
19
+ # def thumbnail
20
+ # REXML::XPath.first(@feed, "//media:thumbnail").attributes['url']
21
+ # end
22
22
 
23
- def duration
24
- nil
25
- end
23
+ # def duration
24
+ # nil
25
+ # end
26
26
 
27
- def embed_url
28
- emb = REXML::XPath.first(@feed, "//blip:embedUrl")[0].to_s
29
- end
27
+ # def embed_url
28
+ # emb = REXML::XPath.first(@feed, "//blip:embedUrl")[0].to_s
29
+ # end
30
30
 
31
- def embed_html(width=425, height=344, options={}, params={})
32
- "<iframe src='#{embed_url}.x?p=1' width='#{width}' height='#{height}' frameborder='0' allowfullscreen></iframe>"
33
- end
31
+ # def embed_html(width=425, height=344, options={}, params={})
32
+ # "<iframe src='#{embed_url}.x?p=1' width='#{width}' height='#{height}' frameborder='0' allowfullscreen></iframe>"
33
+ # end
34
34
 
35
- def download_url
36
- nil
37
- end
35
+ # def download_url
36
+ # nil
37
+ # end
38
38
 
39
- def service
40
- "Blip.tv"
41
- end
39
+ # def service
40
+ # "Blip.tv"
41
+ # end
42
42
 
43
- end
43
+ # end
@@ -8,10 +8,10 @@
8
8
 
9
9
 
10
10
  class VgDalealplay
11
-
11
+
12
12
  def initialize(url=nil, options={})
13
13
  @url = url
14
- @video_id = @url.query_param('con')
14
+ @video_id = parse_url(@url)
15
15
  @page = Nokogiri::HTML(open(@url))
16
16
  end
17
17
 
@@ -20,7 +20,7 @@ class VgDalealplay
20
20
  end
21
21
 
22
22
  def thumbnail
23
- @page.xpath("//meta[@itemprop='image']").first["content"]
23
+ @page.xpath("//meta[@itemprop='thumbnailUrl']").first["content"]
24
24
  end
25
25
 
26
26
  def embed_url
@@ -42,5 +42,21 @@ class VgDalealplay
42
42
  def service
43
43
  "dalealplay"
44
44
  end
45
+
46
+ def parse_url(url)
47
+ uri = URI.parse(url)
48
+ path = uri.path
49
+ videoargs = ''
50
+ if path
51
+ videoargs = path.split('_')[-1]
52
+ raise unless videoargs.size > 0
53
+ else
54
+ raise
55
+ end
56
+ videoargs
57
+ rescue
58
+ nil
59
+ end
60
+
45
61
 
46
62
  end
@@ -31,7 +31,7 @@ class VgVimeo
31
31
  end
32
32
 
33
33
  def embed_url
34
- "http://http://player.vimeo.com/video/#{@video_id}"
34
+ "http://player.vimeo.com/video/#{@video_id}"
35
35
  end
36
36
 
37
37
  def embed_html(width=425, height=344, options={}, params={})
@@ -19,7 +19,7 @@ describe UnvlogIt do
19
19
  # ----------------------------------------------------------
20
20
 
21
21
  context "with an existent youtube url" do
22
- let(:videotron) { UnvlogIt.new("http://www.youtube.com/watch?v=MVa4q-YVjD8", {:key => "AIzaSyCWdV1zQpyD1X1OdheU6UqfV3JR6JQXY9A" }) } # => Keith Moon´s drum kit explodes
22
+ let(:videotron) { UnvlogIt.new("http://www.youtube.com/watch?v=MVa4q-YVjD8", {:key => "AIzaSyAN2GQvZobD6qbsM0EI-Wy44LXVqbarz3Q" }) } # => Keith Moon´s drum kit explodes
23
23
 
24
24
  it "initialize a VgYoutube instance" do
25
25
  expect(VgYoutube).to eq(videotron.instance_values['object'].class)
@@ -35,18 +35,18 @@ describe UnvlogIt do
35
35
 
36
36
  context "with an existent youtube url that can not be embedded" do
37
37
  it {
38
- expect { UnvlogIt.new("https://www.youtube.com/watch?v=-PZYZ6fJbr4", {:key => "AIzaSyCWdV1zQpyD1X1OdheU6UqfV3JR6JQXY9A" }) }.to raise_error(ArgumentError, "Unsuported url or service")
38
+ expect { UnvlogIt.new("https://www.youtube.com/watch?v=-PZYZ6fJbr4", {:key => "AIzaSyAN2GQvZobD6qbsM0EI-Wy44LXVqbarz3Q" }) }.to raise_error(ArgumentError, "Unsuported url or service")
39
39
  }
40
40
  end
41
41
 
42
42
  context "with an inexistent youtube url" do
43
43
  it {
44
- expect { UnvlogIt.new("http://www.youtube.com/watch?v=inexistente", {:key => "AIzaSyCWdV1zQpyD1X1OdheU6UqfV3JR6JQXY9A" }) }.to raise_error(ArgumentError, "Unsuported url or service")
44
+ expect { UnvlogIt.new("http://www.youtube.com/watch?v=inexistente", {:key => "AIzaSyAN2GQvZobD6qbsM0EI-Wy44LXVqbarz3Q" }) }.to raise_error(ArgumentError, "Unsuported url or service")
45
45
  }
46
46
  end
47
47
 
48
48
  context "with a shortened youtube URL" do
49
- let(:videotron) { UnvlogIt.new("http://youtu.be/4pzMBtPMUq8", {:key => "AIzaSyCWdV1zQpyD1X1OdheU6UqfV3JR6JQXY9A" }) } # => Keith Moon´s drum kit explodes
49
+ let(:videotron) { UnvlogIt.new("http://youtu.be/4pzMBtPMUq8", {:key => "AIzaSyAN2GQvZobD6qbsM0EI-Wy44LXVqbarz3Q" }) } # => Keith Moon´s drum kit explodes
50
50
 
51
51
  it "initialize a VgYoutube instance" do
52
52
  expect(VgYoutu).to eq(videotron.instance_values['object'].class)
@@ -81,7 +81,7 @@ describe UnvlogIt do
81
81
  end
82
82
 
83
83
  context "with an existent 'youtubed' metacafe url" do
84
- let(:videotron) { UnvlogIt.new("http://www.metacafe.com/watch/yt-r07zdVLOWBA/pop_rocks_and_coke_myth/", {:key => "AIzaSyCWdV1zQpyD1X1OdheU6UqfV3JR6JQXY9A" }) } # => Pop Rocks and Coke Myth
84
+ let(:videotron) { UnvlogIt.new("http://www.metacafe.com/watch/yt-r07zdVLOWBA/pop_rocks_and_coke_myth/", {:key => "AIzaSyAN2GQvZobD6qbsM0EI-Wy44LXVqbarz3Q" }) } # => Pop Rocks and Coke Myth
85
85
 
86
86
  it "initialize a VgMetacafe instance" do
87
87
  expect(VgMetacafe).to eq(videotron.instance_values['object'].class)
@@ -135,22 +135,22 @@ describe UnvlogIt do
135
135
  end
136
136
 
137
137
  # ----------------------------------------------------------
138
- # Testing blip.tv
138
+ # Testing blip.tv => transformed to maker TV
139
139
  # ----------------------------------------------------------
140
140
 
141
- context "with an existent blip.tv url" do
142
- let(:videotron) { UnvlogIt.new("http://blip.tv/sarahrdtv/sarah-s-super-bowl-spread-healthy-recipe-classic-buffalo-wing-dip-6717535") } # => Sarah's Super Bowl Spread – Healthy Recipe - Classic Buffalo Wing Dip
141
+ # context "with an existent blip.tv url" do
142
+ # let(:videotron) { UnvlogIt.new("http://blip.tv/sarahrdtv/sarah-s-super-bowl-spread-healthy-recipe-classic-buffalo-wing-dip-6717535") } # => Sarah's Super Bowl Spread – Healthy Recipe - Classic Buffalo Wing Dip
143
143
 
144
- it "initialize a VgBlip instance" do
145
- expect(VgBlip).to eq(videotron.instance_values['object'].class)
146
- expect("http://blip.tv/sarahrdtv/sarah-s-super-bowl-spread-healthy-recipe-classic-buffalo-wing-dip-6717535").to eq(videotron.instance_values['object'].instance_values['url'])
147
- expect(videotron.instance_values['object'].instance_values['feed']).to_not be_nil
148
- end
144
+ # it "initialize a VgBlip instance" do
145
+ # expect(VgBlip).to eq(videotron.instance_values['object'].class)
146
+ # expect("http://blip.tv/sarahrdtv/sarah-s-super-bowl-spread-healthy-recipe-classic-buffalo-wing-dip-6717535").to eq(videotron.instance_values['object'].instance_values['url'])
147
+ # expect(videotron.instance_values['object'].instance_values['feed']).to_not be_nil
148
+ # end
149
149
 
150
- it "returns the video properties" do
151
- check_video_attributes({:title => "Sarah's Super Bowl Spread &#8211; Healthy Recipe - Classic Buffalo Wing Dip", :service => "Blip.tv"})
152
- end
153
- end
150
+ # it "returns the video properties" do
151
+ # check_video_attributes({:title => "Sarah's Super Bowl Spread &#8211; Healthy Recipe - Classic Buffalo Wing Dip", :service => "Blip.tv"})
152
+ # end
153
+ # end
154
154
 
155
155
  # ----------------------------------------------------------
156
156
  # Testing myspace.com
@@ -192,11 +192,11 @@ describe UnvlogIt do
192
192
  # Testing dalealplay.com
193
193
  # ----------------------------------------------------------
194
194
  context "with an existent dalealplay.com url" do
195
- let(:videotron) { UnvlogIt.new("http://www.dalealplay.com/informaciondecontenido.php?con=80280") } # => Camelos Semos Jonathan Tú si que vales
195
+ let(:videotron) { UnvlogIt.new("http://www.dalealplay.es/videos/CamelosSemos-Jonathan-Tu-si-que-vales_80280") } # => Camelos Semos Jonathan Tú si que vales
196
196
 
197
197
  it "initialize a VgDalealplay instance" do
198
198
  expect(VgDalealplay).to eq(videotron.instance_values['object'].class)
199
- expect("http://www.dalealplay.com/informaciondecontenido.php?con=80280").to eq(videotron.instance_values['object'].instance_values['url'])
199
+ expect("http://www.dalealplay.es/videos/CamelosSemos-Jonathan-Tu-si-que-vales_80280").to eq(videotron.instance_values['object'].instance_values['url'])
200
200
  expect("80280").to eq(videotron.instance_values['object'].instance_values['video_id'])
201
201
  expect(videotron.instance_values['object'].instance_values['page']).to_not be_nil
202
202
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_unvlogable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manuel Muñoz
@@ -10,90 +10,104 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-05-14 00:00:00.000000000 Z
13
+ date: 2016-01-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - "~>"
19
+ - - ~>
20
20
  - !ruby/object:Gem::Version
21
21
  version: '1.3'
22
22
  type: :development
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
- - - "~>"
26
+ - - ~>
27
27
  - !ruby/object:Gem::Version
28
28
  version: '1.3'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: rake
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - ">="
33
+ - - '>='
34
34
  - !ruby/object:Gem::Version
35
35
  version: '0'
36
36
  type: :development
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - ">="
40
+ - - '>='
41
41
  - !ruby/object:Gem::Version
42
42
  version: '0'
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: rspec
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ">="
47
+ - - '>='
48
48
  - !ruby/object:Gem::Version
49
49
  version: '0'
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - ">="
54
+ - - '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: activesupport
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ type: :runtime
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - '>='
55
69
  - !ruby/object:Gem::Version
56
70
  version: '0'
57
71
  - !ruby/object:Gem::Dependency
58
72
  name: nokogiri
59
73
  requirement: !ruby/object:Gem::Requirement
60
74
  requirements:
61
- - - ">="
75
+ - - '>='
62
76
  - !ruby/object:Gem::Version
63
77
  version: '0'
64
78
  type: :runtime
65
79
  prerelease: false
66
80
  version_requirements: !ruby/object:Gem::Requirement
67
81
  requirements:
68
- - - ">="
82
+ - - '>='
69
83
  - !ruby/object:Gem::Version
70
84
  version: '0'
71
85
  - !ruby/object:Gem::Dependency
72
86
  name: xml-simple
73
87
  requirement: !ruby/object:Gem::Requirement
74
88
  requirements:
75
- - - ">="
89
+ - - '>='
76
90
  - !ruby/object:Gem::Version
77
91
  version: '0'
78
92
  type: :runtime
79
93
  prerelease: false
80
94
  version_requirements: !ruby/object:Gem::Requirement
81
95
  requirements:
82
- - - ">="
96
+ - - '>='
83
97
  - !ruby/object:Gem::Version
84
98
  version: '0'
85
99
  - !ruby/object:Gem::Dependency
86
100
  name: yt
87
101
  requirement: !ruby/object:Gem::Requirement
88
102
  requirements:
89
- - - ">="
103
+ - - '>='
90
104
  - !ruby/object:Gem::Version
91
105
  version: '0'
92
106
  type: :runtime
93
107
  prerelease: false
94
108
  version_requirements: !ruby/object:Gem::Requirement
95
109
  requirements:
96
- - - ">="
110
+ - - '>='
97
111
  - !ruby/object:Gem::Version
98
112
  version: '0'
99
113
  description: An easy way to include external video services in a rails app. This gem
@@ -107,9 +121,9 @@ executables: []
107
121
  extensions: []
108
122
  extra_rdoc_files: []
109
123
  files:
110
- - ".coveralls.yml"
111
- - ".gitignore"
112
- - ".travis.yml"
124
+ - .coveralls.yml
125
+ - .gitignore
126
+ - .travis.yml
113
127
  - Gemfile
114
128
  - MIT-LICENSE
115
129
  - README.markdown
@@ -148,17 +162,17 @@ require_paths:
148
162
  - lib
149
163
  required_ruby_version: !ruby/object:Gem::Requirement
150
164
  requirements:
151
- - - ">="
165
+ - - '>='
152
166
  - !ruby/object:Gem::Version
153
167
  version: 1.9.3
154
168
  required_rubygems_version: !ruby/object:Gem::Requirement
155
169
  requirements:
156
- - - ">="
170
+ - - '>='
157
171
  - !ruby/object:Gem::Version
158
172
  version: '0'
159
173
  requirements: []
160
174
  rubyforge_project: acts_as_unvlogable
161
- rubygems_version: 2.2.2
175
+ rubygems_version: 2.5.0
162
176
  signing_key:
163
177
  specification_version: 4
164
178
  summary: An easy way to include external video services in a rails app