media-path 0.1.1 → 0.1.2

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.
data/Rakefile CHANGED
@@ -1,79 +1,24 @@
1
- #!/usr/bin/env rake1.9
2
1
  # encoding: utf-8
3
2
 
4
- # http://support.runcoderun.com/faqs/builds/how-do-i-run-rake-with-trace-enabled
5
- Rake.application.options.trace = true
6
-
7
- task :setup => ["submodules:init"]
8
-
9
- namespace :submodules do
10
- desc "Init submodules"
11
- task :init do
12
- sh "git submodule init"
13
- end
3
+ require_relative "lib/media-path/version"
14
4
 
15
- desc "Update submodules"
16
- task :update do
17
- Dir["vendor/*"].each do |path|
18
- if File.directory?(path) && File.directory?(File.join(path, ".git"))
19
- Dir.chdir(path) do
20
- puts "=> #{path}"
21
- puts %x[git reset --hard]
22
- puts %x[git fetch]
23
- puts %x[git reset origin/master --hard]
24
- puts
25
- end
26
- end
27
- end
28
- end
29
- end
5
+ # ENV setup for external commands
6
+ ENV["RUBYLIB"] = Dir["vendor/*/lib"].join(":")
7
+ $LOAD_PATH.clear.push(*Dir["vendor/*/lib"])
30
8
 
31
- task :gem do
32
- sh "gem build media-path.gemspec"
33
- end
34
-
35
- namespace :gem do
36
- task :prerelease do
37
- require_relative "lib/media-path"
38
- gemspec = Dir["*.gemspec"].first
39
- content = File.read(gemspec)
40
- prename = "#{gemspec.split(".").first}.pre.gemspec"
41
- version = MediaPath::VERSION.sub(/^(\d+)\.(\d+)\.\d+$/) { "#$1.#{$1.to_i + 1}" }
42
- File.open(prename, "w") do |file|
43
- file.puts(content.gsub(/(\w+::VERSION)/, "'#{version}.pre'"))
44
- end
45
- sh "gem build #{prename}"
46
- rm prename
47
- end
48
- end
49
-
50
- desc "Release new version of media-path"
51
- task release: ["release:tag", "release:gemcutter"]
52
-
53
- namespace :release do
54
- desc "Create Git tag"
55
- task :tag do
56
- require_relative "lib/media-path"
57
- puts "Creating new git tag #{MediaPath::VERSION} and pushing it online ..."
58
- sh "git tag -a -m 'Version #{MediaPath::VERSION}' #{MediaPath::VERSION}"
59
- sh "git push --tags"
60
- puts "Tag #{MediaPath::VERSION} was created and pushed to GitHub."
61
- end
9
+ # http://support.runcoderun.com/faqs/builds/how-do-i-run-rake-with-trace-enabled
10
+ Rake.application.options.trace = true
62
11
 
63
- desc "Push gem to Gemcutter"
64
- task :gemcutter do
65
- puts "Pushing to Gemcutter ..."
66
- sh "gem push #{Dir["*.gem"].last}"
12
+ # default task for RunCodeRun.com
13
+ task :default => ["submodules:init", :spec]
14
+
15
+ # load tasks
16
+ Dir["tasks/*.rake"].each do |taskfile|
17
+ begin
18
+ load File.join(Dir.pwd, taskfile)
19
+ rescue Exception => exception
20
+ puts "Exception #{exception.class} occured during loading #{taskfile}:"
21
+ puts exception.message
22
+ puts exception.backtrace
67
23
  end
68
-
69
- desc "Create and push prerelease gem"
70
- task :pre => ["gem:prerelease", :gemcutter]
71
- end
72
-
73
- desc "Run specs"
74
- task :default => :setup do
75
- rubylib = (ENV["RUBYLIB"] || String.new).split(":")
76
- libdirs = Dir["vendor/*/lib"]
77
- ENV["RUBYLIB"] = (libdirs + rubylib).join(":")
78
- exec "./script/spec --options spec/spec.opts spec"
79
24
  end
@@ -1,10 +1,6 @@
1
1
  # coding: utf-8
2
2
 
3
- require "rubyexts/class"
4
-
5
3
  class MediaPath
6
- VERSION ||= "0.1.1"
7
-
8
4
  # @since 0.0.1
9
5
  def self.first_file(*choices)
10
6
  choices.find { |file| File.file?(File.expand_path(file)) }
@@ -25,7 +21,10 @@ class MediaPath
25
21
  end
26
22
 
27
23
  # @since 0.0.1
28
- cattr_reader :media_root
24
+ def self.media_root
25
+ @@media_root rescue nil
26
+ end
27
+
29
28
  def self.media_root=(path)
30
29
  @@media_root = self.check_directory_path(path)
31
30
  end
@@ -41,7 +40,10 @@ class MediaPath
41
40
  end
42
41
 
43
42
  # @since 0.0.1
44
- cattr_reader :rewrite_rules
43
+ def self.rewrite_rules
44
+ @@rewrite_rules rescue Array.new
45
+ end
46
+
45
47
  def self.rewrite_rules=(rules)
46
48
  @@rewrite_rules = rules
47
49
  end
@@ -0,0 +1,7 @@
1
+ # encoding: utf-8
2
+
3
+ # NOTE: Do not edit this file manually, this
4
+ # file is regenerated by task rake version:increase
5
+ module MediaPath
6
+ VERSION ||= "0.1.2"
7
+ end
@@ -1,16 +1,8 @@
1
- #!/usr/bin/env gem1.9 build
1
+ #!/usr/bin/env gem build
2
2
  # encoding: utf-8
3
3
 
4
- Dir[File.join(File.dirname(__FILE__), "vendor", "*")].each do |path|
5
- if File.directory?(path) && Dir["#{path}/*"].empty?
6
- warn "Dependency #{File.basename(path)} in vendor seems to be empty. Run git submodule init && git submodule update to checkout it."
7
- elsif File.directory?(path) && File.directory?(File.join(path, "lib"))
8
- $:.unshift File.join(path, "lib")
9
- end
10
- end
11
-
12
4
  # NOTE: we can't use require_relative because when we run gem build, it use eval for executing this file
13
- require File.join(File.dirname(__FILE__), "lib", "media-path")
5
+ require File.join(File.dirname(__FILE__), "lib", "media-path", "version")
14
6
 
15
7
  Gem::Specification.new do |s|
16
8
  s.name = "media-path"
@@ -30,9 +22,6 @@ Gem::Specification.new do |s|
30
22
  # Ruby version
31
23
  s.required_ruby_version = ::Gem::Requirement.new("~> 1.9")
32
24
 
33
- # runtime dependencies
34
- s.add_dependency "rubyexts"
35
-
36
25
  # RubyForge
37
26
  s.rubyforge_project = "media-path"
38
27
  end
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+
3
+ # http://github.com/somebee/rbench/tree/master
4
+ desc "Run all benchmarks"
5
+ task :bm do
6
+ abort "Benchmarks doesn't work at the moment"
7
+ require "rbench"
8
+ Dir["#{Dir.pwd}/benchmarks/bm/*.rb"].each do |benchmark|
9
+ load benchmark
10
+ end
11
+ end
@@ -0,0 +1,23 @@
1
+ # encoding: utf-8
2
+
3
+ desc "Build the gem"
4
+ task :build do
5
+ sh "gem build media-path.gemspec"
6
+ end
7
+
8
+ namespace :build do
9
+ desc "Build the prerelease gem"
10
+ task :prerelease do
11
+ gemspec = "media-path.gemspec"
12
+ content = File.read(gemspec)
13
+ prename = "#{gemspec.split(".").first}.pre.gemspec"
14
+ # 0.1.1 => 0.2
15
+ version = MediaPath::VERSION.sub(/^(\d+)\.(\d+).*$/) { "#$1.#{$2.to_i + 1}" }
16
+ puts "Current #{MediaPath::VERSION} => #{version} pre"
17
+ File.open(prename, "w") do |file|
18
+ file.puts(content.gsub(/(\w+::VERSION)/, "'#{version}.pre'"))
19
+ end
20
+ sh "gem build #{prename}"
21
+ rm prename
22
+ end
23
+ end
@@ -0,0 +1,12 @@
1
+ # encoding: utf-8
2
+
3
+ desc "Install Git hooks"
4
+ task :hooks do
5
+ if Dir.exist?(".git/hooks")
6
+ abort "You must remove .git/hooks first"
7
+ else
8
+ # do not symlink them, otherwise git will add samples
9
+ # FIXME: permissions
10
+ cp_r "support/hooks", ".git/hooks"
11
+ end
12
+ end
@@ -0,0 +1,47 @@
1
+ # encoding: utf-8
2
+
3
+ desc "Release new version of media-path"
4
+ task release: ["version:increase", "release:tag", "release:gemcutter"]
5
+
6
+ namespace :version do
7
+ task :increase do
8
+ puts "Which version are you just releasing (previous version is #{MediaPath::VERSION})"
9
+ version = STDIN.gets.chomp
10
+ File.open("lib/media-path/version.rb", "w") do |file|
11
+ file.puts <<-EOF
12
+ # encoding: utf-8
13
+
14
+ # NOTE: Do not edit this file manually, this
15
+ # file is regenerated by task rake version:increase
16
+ module MediaPath
17
+ VERSION ||= "#{version}"
18
+ end
19
+ EOF
20
+ end
21
+
22
+ MediaPath.const_set("VERSION", version) # so other release tasks will work
23
+ sh "git commit lib/media-path/version.rb -m 'Increased version to #{version}'"
24
+ end
25
+ end
26
+
27
+ namespace :release do
28
+ desc "Create Git tag"
29
+ task :tag do
30
+ puts "Creating new git tag #{MediaPath::VERSION} and pushing it online ..."
31
+ sh "git tag -a -m 'Version #{MediaPath::VERSION}' #{MediaPath::VERSION}"
32
+ sh "git push --tags"
33
+ puts "Tag #{MediaPath::VERSION} was created and pushed to GitHub."
34
+ end
35
+
36
+ desc "Push gem to Gemcutter"
37
+ task :gemcutter => :build do
38
+ puts "Pushing to Gemcutter ..."
39
+ sh "gem push #{Dir["*.gem"].last}"
40
+ end
41
+ end
42
+
43
+ desc "Create and push prerelease gem"
44
+ task :prerelease => "build:prerelease" do
45
+ puts "Pushing to Gemcutter ..."
46
+ sh "gem push #{Dir["*.pre.gem"].last}"
47
+ end
@@ -0,0 +1,27 @@
1
+ # encoding: utf-8
2
+
3
+ desc "Run specs"
4
+ task :spec, :path do |task, args|
5
+ exec "./script/spec --options spec/spec.opts #{args.path || "spec"}"
6
+ end
7
+
8
+ desc "Create stubs of all library files."
9
+ task "spec:stubs" do
10
+ Dir.glob("lib/**/*.rb").each do |file|
11
+ specfile = file.sub(/^lib/, "spec").sub(/\.rb$/, '_spec.rb')
12
+ unless File.exist?(specfile)
13
+ %x[mkdir -p #{File.dirname(specfile)}]
14
+ %x[touch #{specfile}]
15
+ puts "Created #{specfile}"
16
+ end
17
+ end
18
+ (Dir.glob("spec/media-path/**/*.rb") + ["spec/media-path_spec.rb"]).each do |file|
19
+ libfile = file.sub(/spec/, "lib").sub(/_spec\.rb$/, '.rb')
20
+ if !File.exist?(libfile) && File.zero?(file)
21
+ %x[rm #{file}]
22
+ puts "Removed empty file #{file}"
23
+ elsif !File.exist?(libfile)
24
+ puts "File exists just in spec, not in lib: #{file}"
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,33 @@
1
+ # encoding: utf-8
2
+
3
+ # === Helpers === #
4
+ def submodules(&block)
5
+ File.foreach(File.join(File.dirname(__FILE__), "..", ".gitmodules")) do |line|
6
+ if line.match(%r{submodule "(.+)"})
7
+ block.call($1)
8
+ end
9
+ end
10
+ end
11
+
12
+ # === Tasks === #
13
+ namespace :submodules do
14
+ desc "Init submodules"
15
+ task :init do
16
+ sh "git submodule init"
17
+ end
18
+
19
+ desc "Update submodules"
20
+ task :update do
21
+ submodules do |path|
22
+ if File.directory?(path) && File.directory?(File.join(path, ".git"))
23
+ Dir.chdir(path) do
24
+ puts "=> #{path}"
25
+ sh "git reset --hard"
26
+ sh "git fetch"
27
+ sh "git reset origin/master --hard"
28
+ puts
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+
3
+ # template, textile or rdoc or md
4
+ # -t: template [available: default, javadoc]
5
+ # -m: markup style used in documentation [available: textile, markdown, rdoc]
6
+ desc "Generate Yardoc documentation for media-path"
7
+ task :yardoc do
8
+ sh "yardoc -r README.textile lib/**/*.rb -t default"
9
+ end
metadata CHANGED
@@ -1,26 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: media-path
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Jakub \xC5\xA0\xC5\xA5astn\xC3\xBD aka Botanicus"
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain:
11
- date: 2009-12-04 00:00:00 +00:00
11
+ date: 2009-12-24 00:00:00 +00:00
12
12
  default_executable:
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: rubyexts
16
- type: :runtime
17
- version_requirement:
18
- version_requirements: !ruby/object:Gem::Requirement
19
- requirements:
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: "0"
23
- version:
13
+ dependencies: []
14
+
24
15
  description: ""
25
16
  email: knava.bestvinensis@gmail.com
26
17
  executables: []
@@ -31,10 +22,9 @@ extra_rdoc_files: []
31
22
 
32
23
  files:
33
24
  - CHANGELOG
34
- - deps.rip
25
+ - lib/media-path/version.rb
35
26
  - lib/media-path.rb
36
27
  - LICENSE
37
- - media-path-0.1.1.gem
38
28
  - media-path.gemspec
39
29
  - Rakefile
40
30
  - README.textile
@@ -42,6 +32,13 @@ files:
42
32
  - spec/media-path_spec.rb
43
33
  - spec/spec.opts
44
34
  - spec/stubs/blog/public/js/moo.js
35
+ - tasks/benchmark.rake
36
+ - tasks/gem.rake
37
+ - tasks/hooks.rake
38
+ - tasks/release.rake
39
+ - tasks/spec.rake
40
+ - tasks/submodules.rake
41
+ - tasks/yardoc.rake
45
42
  - TODO.txt
46
43
  - url.rb
47
44
  - url_spec.rb
data/deps.rip DELETED
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env rip install
2
-
3
- # Syntax:
4
- # repository [tag or commit to install]
5
- git://github.com/botanicus/rubyexts.git