royw-imdb 0.0.20 → 0.0.21

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.
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :minor: 0
3
- :patch: 20
3
+ :patch: 21
4
4
  :major: 0
@@ -1,14 +1,18 @@
1
1
  # == Synopsis
2
2
  # add a mkdirs method to the File class
3
3
  class File
4
- ##
5
- # make directories including any missing in the path
6
- #
7
- # @param [String] dirspec the path to make sure exists
8
- def File.mkdirs(dirspec)
9
- unless File.exists?(dirspec)
10
- mkdirs(File.dirname(dirspec))
11
- Dir.mkdir(dirspec)
4
+ class << self
5
+ my_extension("mkdirs") do
6
+ ##
7
+ # make directories including any missing in the path
8
+ #
9
+ # @param [String] dirspec the path to make sure exists
10
+ def File.mkdirs(dirspec)
11
+ unless File.exists?(dirspec)
12
+ mkdirs(File.dirname(dirspec))
13
+ Dir.mkdir(dirspec)
14
+ end
15
+ end
12
16
  end
13
17
  end
14
18
  end
@@ -1,17 +1,20 @@
1
+ $:.unshift(File.dirname(__FILE__)) unless
2
+ $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
+
1
4
  require 'rubygems'
2
5
  require 'open-uri'
3
6
  require 'date'
4
7
  require 'cgi'
5
8
  require 'hpricot'
6
9
  require 'chronic'
7
- require 'ruby-debug'
8
10
  require 'xmlsimple'
9
11
 
10
- require File.dirname(__FILE__) + '/imdb/optional_logger'
11
- require File.dirname(__FILE__) + '/imdb/imdb_search'
12
- require File.dirname(__FILE__) + '/imdb/imdb_movie'
13
- require File.dirname(__FILE__) + '/imdb/imdb_profile'
14
- require File.dirname(__FILE__) + '/imdb/imdb_image'
15
- require File.dirname(__FILE__) + '/string_extensions'
16
- require File.dirname(__FILE__) + '/file_extensions'
17
- require File.dirname(__FILE__) + '/object_extensions'
12
+ require 'imdb/optional_logger'
13
+ require 'imdb/imdb_search'
14
+ require 'imdb/imdb_movie'
15
+ require 'imdb/imdb_profile'
16
+ require 'imdb/imdb_image'
17
+ require 'module_extensions'
18
+ require 'string_extensions'
19
+ require 'file_extensions'
20
+ require 'object_extensions'
@@ -0,0 +1,27 @@
1
+ ######################################################################
2
+ # my extensions to Module. (taken from rake, named changed to not clash
3
+ # when rake is used for this rails project.
4
+ #
5
+ class Module
6
+ # Check for an existing method in the current class before extending. IF
7
+ # the method already exists, then a warning is printed and the extension is
8
+ # not added. Otherwise the block is yielded and any definitions in the
9
+ # block will take effect.
10
+ #
11
+ # Usage:
12
+ #
13
+ # class String
14
+ # rake_extension("xyz") do
15
+ # def xyz
16
+ # ...
17
+ # end
18
+ # end
19
+ # end
20
+ #
21
+ def my_extension(method)
22
+ unless instance_methods.include?(method.to_s) || instance_methods.include?(method.to_sym)
23
+ yield
24
+ end
25
+ end
26
+ end # module Module
27
+
@@ -1,16 +1,32 @@
1
1
  require 'cgi'
2
2
  require 'iconv'
3
3
 
4
- module ImdbStringExtensions
5
-
6
- def unescape_html
7
- Iconv.conv("UTF-8", 'ISO-8859-1', CGI::unescapeHTML(self))
4
+ class String
5
+ my_extension("unescape_html") do
6
+ def unescape_html
7
+ Iconv.conv("UTF-8", 'ISO-8859-1', CGI::unescapeHTML(self))
8
+ end
8
9
  end
9
-
10
- def strip_tags
11
- gsub(/<\/?[^>]*>/, "")
10
+
11
+ my_extension("strip_tags") do
12
+ def strip_tags
13
+ gsub(/<\/?[^>]*>/, "")
14
+ end
15
+ end
16
+
17
+ my_extension("ext") do
18
+ # Replace the file extension with +newext+. If there is no extenson on
19
+ # the string, append the new extension to the end. If the new extension
20
+ # is not given, or is the empty string, remove any existing extension.
21
+ #
22
+ # +ext+ is a user added method for the String class.
23
+ def ext(newext='')
24
+ return self.dup if ['.', '..'].include? self
25
+ if newext != ''
26
+ newext = (newext =~ /^\./) ? newext : ("." + newext)
27
+ end
28
+ dup.sub!(%r(([^/\\])\.[^./\\]*$)) { $1 + newext } || self + newext
29
+ end
12
30
  end
13
-
14
31
  end
15
32
 
16
- String.send :include, ImdbStringExtensions
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: royw-imdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.20
4
+ version: 0.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roy Wright
@@ -32,6 +32,7 @@ files:
32
32
  - lib/imdb/imdb_profile.rb
33
33
  - lib/imdb/imdb_search.rb
34
34
  - lib/imdb/optional_logger.rb
35
+ - lib/module_extensions.rb
35
36
  - lib/object_extensions.rb
36
37
  - lib/string_extensions.rb
37
38
  - spec/cache_extensions.rb