media-path 0.1 → 0.1.1.pre

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"
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
data/lib/media-path.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  require "rubyexts/class"
4
4
 
5
5
  class MediaPath
6
- VERSION ||= "0.1"
6
+ VERSION ||= "0.1.1"
7
7
 
8
8
  # @since 0.0.1
9
9
  def self.first_file(*choices)
data/media-path.gemspec CHANGED
@@ -28,7 +28,7 @@ Gem::Specification.new do |s|
28
28
  s.require_paths = ["lib"]
29
29
 
30
30
  # Ruby version
31
- s.required_ruby_version = ::Gem::Requirement.new(">= 1.9.1")
31
+ s.required_ruby_version = ::Gem::Requirement.new("~> 1.9")
32
32
 
33
33
  # runtime dependencies
34
34
  s.add_dependency "rubyexts"
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env gem1.9 build
2
+ # encoding: utf-8
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
+ # 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")
14
+
15
+ Gem::Specification.new do |s|
16
+ s.name = "media-path"
17
+ s.version = '0.1.1.pre'
18
+ s.authors = ["Jakub Šťastný aka Botanicus"]
19
+ s.homepage = "http://github.com/botanicus/media-path"
20
+ s.summary = "MediaPath abstraction that provides easier interaction with paths and corresponding URLs." # TODO
21
+ s.description = "" # TODO
22
+ s.cert_chain = nil
23
+ s.email = ["knava.bestvinensis", "gmail.com"].join("@")
24
+ s.has_rdoc = true
25
+
26
+ # files
27
+ s.files = Dir.glob("**/*") - Dir.glob("pkg/*")
28
+ s.require_paths = ["lib"]
29
+
30
+ # Ruby version
31
+ s.required_ruby_version = ::Gem::Requirement.new("~> 1.9")
32
+
33
+ # runtime dependencies
34
+ s.add_dependency "rubyexts"
35
+
36
+ # RubyForge
37
+ s.rubyforge_project = "media-path"
38
+ 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
data/tasks/gem.rake ADDED
@@ -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+\.){2}.*$/) { "#$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
data/tasks/hooks.rake ADDED
@@ -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,68 @@
1
+ # encoding: utf-8
2
+
3
+ desc "Release new version of media-path"
4
+ task release: ["deps.rip", "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
48
+
49
+ dependencies = FileList["vendor/*/.git"].sub(/\/\.git$/, "")
50
+
51
+ desc "Regenerate deps.rip"
52
+ file "deps.rip" => dependencies do
53
+ commits = Hash.new
54
+ commits = dependencies.inject(Hash.new) do |hash, path|
55
+ Dir.chdir(path) do
56
+ revision = %x(git show | head -1).chomp.sub("commit ", "")
57
+ hash[File.basename(path)] = revision
58
+ hash
59
+ end
60
+ end
61
+ template = File.read("deps.rip.rbe")
62
+ deps_rip = eval("%Q{#{template}}")
63
+ File.open("deps.rip", "w") do |file|
64
+ file.puts(deps_rip)
65
+ end
66
+ sh "chmod +x deps.rip"
67
+ sh "git commit deps.rip -m 'Updated deps.rip'"
68
+ end
data/tasks/spec.rake ADDED
@@ -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
data/tasks/yardoc.rake ADDED
@@ -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,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: media-path
3
3
  version: !ruby/object:Gem::Version
4
- version: "0.1"
4
+ version: 0.1.1.pre
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-11-23 00:00:00 +00:00
11
+ date: 2009-12-08 00:00:00 +00:00
12
12
  default_executable:
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
@@ -34,14 +34,21 @@ files:
34
34
  - deps.rip
35
35
  - lib/media-path.rb
36
36
  - LICENSE
37
- - media-path-0.1.gem
38
37
  - media-path.gemspec
38
+ - media-path.pre.gemspec
39
39
  - Rakefile
40
40
  - README.textile
41
41
  - script/spec
42
42
  - spec/media-path_spec.rb
43
43
  - spec/spec.opts
44
44
  - spec/stubs/blog/public/js/moo.js
45
+ - tasks/benchmark.rake
46
+ - tasks/gem.rake
47
+ - tasks/hooks.rake
48
+ - tasks/release.rake
49
+ - tasks/spec.rake
50
+ - tasks/submodules.rake
51
+ - tasks/yardoc.rake
45
52
  - TODO.txt
46
53
  - url.rb
47
54
  - url_spec.rb
@@ -489,15 +496,15 @@ require_paths:
489
496
  - lib
490
497
  required_ruby_version: !ruby/object:Gem::Requirement
491
498
  requirements:
492
- - - ">="
499
+ - - ~>
493
500
  - !ruby/object:Gem::Version
494
- version: 1.9.1
501
+ version: "1.9"
495
502
  version:
496
503
  required_rubygems_version: !ruby/object:Gem::Requirement
497
504
  requirements:
498
- - - ">="
505
+ - - ">"
499
506
  - !ruby/object:Gem::Version
500
- version: "0"
507
+ version: 1.3.1
501
508
  version:
502
509
  requirements: []
503
510