pupu 0.1.pre → 0.1

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 (141) hide show
  1. data/.gitignore +9 -0
  2. data/CHANGELOG +23 -4
  3. data/Gemfile +9 -0
  4. data/LICENSE +1 -1
  5. data/README.textile +3 -3
  6. data/TODO.txt +8 -3
  7. data/bin/pupu +19 -24
  8. data/examples/merb/.gitignore +17 -0
  9. data/examples/merb/Gemfile +27 -0
  10. data/examples/merb/README.textile +3 -5
  11. data/examples/merb/Rakefile +3 -3
  12. data/examples/merb/config/framework.rb +4 -4
  13. data/examples/merb/config/init.rb +7 -0
  14. data/examples/merb/public/pupu/autocompleter/.gitignore +5 -0
  15. data/examples/merb/public/pupu/autocompleter/README.textile +2 -2
  16. data/examples/merb/public/pupu/autocompleter/config.rb +1 -1
  17. data/examples/merb/public/pupu/blueprint/.gitignore +5 -0
  18. data/examples/merb/public/pupu/blueprint/config.rb +7 -7
  19. data/examples/merb/public/pupu/flash/.gitignore +5 -0
  20. data/examples/merb/public/pupu/flash/config.rb +1 -1
  21. data/examples/merb/public/pupu/lighter/.gitignore +10 -0
  22. data/examples/merb/public/pupu/lighter/config.rb +2 -2
  23. data/{spec/pupu/adapters/merb_spec.rb → examples/merb/public/pupu/lighter/images/.gitignore} +0 -0
  24. data/examples/merb/public/pupu/mootools/.gitignore +5 -0
  25. data/examples/merb/public/pupu/mootools/README.textile +1 -1
  26. data/examples/merb/public/pupu/mootools/config.rb +1 -1
  27. data/examples/rails/.gitignore +7 -0
  28. data/examples/rails/Gemfile +28 -0
  29. data/examples/rails/README.textile +5 -0
  30. data/examples/rails/Rakefile +10 -0
  31. data/examples/rails/app/controllers/application_controller.rb +10 -0
  32. data/examples/rails/app/controllers/home_controller.rb +8 -0
  33. data/examples/rails/app/helpers/application_helper.rb +3 -0
  34. data/{spec/pupu/adapters/rango_spec.rb → examples/rails/app/views/examples/arguments.html.erb} +0 -0
  35. data/examples/rails/app/views/examples/dependencies.html.erb +0 -0
  36. data/examples/rails/app/views/examples/simple.html.erb +4 -0
  37. data/examples/rails/app/views/index.html.erb +7 -0
  38. data/examples/rails/app/views/layout.html.erb +12 -0
  39. data/examples/rails/config/boot.rb +110 -0
  40. data/examples/rails/config/environment.rb +55 -0
  41. data/examples/rails/config/environments/development.rb +17 -0
  42. data/examples/rails/config/environments/production.rb +28 -0
  43. data/examples/rails/config/environments/test.rb +28 -0
  44. data/examples/rails/config/initializers/backtrace_silencers.rb +7 -0
  45. data/examples/rails/config/initializers/inflections.rb +10 -0
  46. data/examples/rails/config/initializers/mime_types.rb +5 -0
  47. data/examples/rails/config/initializers/new_rails_defaults.rb +21 -0
  48. data/examples/rails/config/initializers/session_store.rb +15 -0
  49. data/examples/rails/config/routes.rb +43 -0
  50. data/examples/rails/db/seeds.rb +7 -0
  51. data/examples/rails/public/404.html +30 -0
  52. data/examples/rails/public/422.html +30 -0
  53. data/examples/rails/public/500.html +30 -0
  54. data/examples/rails/public/favicon.ico +0 -0
  55. data/examples/rails/public/robots.txt +5 -0
  56. data/examples/rails/script/about +4 -0
  57. data/examples/rails/script/console +3 -0
  58. data/examples/rails/script/dbconsole +3 -0
  59. data/examples/rails/script/destroy +3 -0
  60. data/examples/rails/script/generate +3 -0
  61. data/examples/rails/script/performance/benchmarker +3 -0
  62. data/examples/rails/script/performance/profiler +3 -0
  63. data/examples/rails/script/plugin +3 -0
  64. data/examples/rails/script/runner +3 -0
  65. data/examples/rails/script/server +3 -0
  66. data/examples/rails/spec/application_spec.rb +37 -0
  67. data/examples/rails/spec/spec_helper.rb +0 -0
  68. data/examples/rango/.gitignore +4 -0
  69. data/examples/rango/Gemfile +56 -0
  70. data/examples/rango/README.textile +4 -6
  71. data/examples/rango/init.rb +7 -0
  72. data/examples/rango/media/pupu/autocompleter/.gitignore +5 -0
  73. data/examples/rango/media/pupu/autocompleter/README.textile +2 -2
  74. data/examples/rango/media/pupu/autocompleter/config.rb +1 -1
  75. data/examples/rango/media/pupu/blueprint/.gitignore +5 -0
  76. data/examples/rango/media/pupu/blueprint/config.rb +7 -7
  77. data/examples/rango/media/pupu/flash/.gitignore +5 -0
  78. data/examples/rango/media/pupu/flash/config.rb +1 -1
  79. data/examples/rango/media/pupu/lighter/.gitignore +10 -0
  80. data/examples/rango/media/pupu/lighter/config.rb +2 -2
  81. data/examples/rango/media/pupu/lighter/images/.gitignore +0 -0
  82. data/examples/rango/media/pupu/mootools/.gitignore +5 -0
  83. data/examples/rango/media/pupu/mootools/README.textile +1 -1
  84. data/examples/rango/media/pupu/mootools/config.rb +1 -1
  85. data/gems/cache/media-path-0.1.2.gem +0 -0
  86. data/gems/cache/nake-0.0.8.gem +0 -0
  87. data/gems/cache/rspec-1.3.0.gem +0 -0
  88. data/gems/cache/term-ansicolor-1.0.4.gem +0 -0
  89. data/lib/pupu.rb +2 -1
  90. data/lib/pupu/adapters/merb.rb +12 -0
  91. data/lib/pupu/adapters/rails.rb +12 -0
  92. data/lib/pupu/adapters/rango.rb +25 -3
  93. data/lib/pupu/cli.rb +13 -11
  94. data/lib/pupu/dsl.rb +34 -13
  95. data/lib/pupu/exceptions.rb +5 -0
  96. data/lib/pupu/github.rb +26 -14
  97. data/lib/pupu/helpers.rb +8 -2
  98. data/lib/pupu/metadata.rb +2 -0
  99. data/lib/pupu/parser.rb +19 -4
  100. data/lib/pupu/pupu.rb +53 -27
  101. data/lib/pupu/tasks/pupu.nake +52 -0
  102. data/lib/pupu/version.rb +1 -3
  103. data/pupu.gemspec +15 -7
  104. data/pupu.pre.gemspec +5 -33
  105. data/spec/data/public/pupu/autocompleter/.gitignore +5 -0
  106. data/spec/data/public/pupu/autocompleter/README.textile +2 -2
  107. data/spec/data/public/pupu/autocompleter/config.rb +3 -1
  108. data/spec/pupu/dsl_spec.rb +3 -0
  109. data/spec/pupu/exceptions_spec.rb +3 -0
  110. data/spec/pupu/github_spec.rb +4 -1
  111. data/spec/pupu/helpers_spec.rb +5 -2
  112. data/spec/pupu/metadata_spec.rb +3 -0
  113. data/spec/pupu/parser_spec.rb +4 -1
  114. data/spec/pupu/pupu_spec.rb +3 -0
  115. data/stubs/pupu/content/%name%.gemspec.rbt +47 -0
  116. data/stubs/pupu/content/%name%.pre.gemspec.rbt +8 -0
  117. data/stubs/pupu/content/.gitignore +12 -0
  118. data/stubs/pupu/content/config.rb.rbt +3 -1
  119. data/stubs/pupu/content/deps.rip +5 -0
  120. data/stubs/pupu/content/images/.gitignore +0 -0
  121. data/stubs/pupu/content/init.rb.rbt +17 -0
  122. data/stubs/pupu/content/lib/%name%.rb.rbt +4 -0
  123. data/stubs/pupu/content/lib/%name%/adapters/rails.rb +0 -0
  124. data/stubs/pupu/content/lib/%name%/adapters/rango.rb +0 -0
  125. data/stubs/pupu/content/spec/%name%/.gitignore +0 -0
  126. data/stubs/pupu/content/spec/%name%_spec.rb.rbt +10 -0
  127. data/stubs/pupu/content/spec/spec.opts +5 -0
  128. data/stubs/pupu/content/spec/spec_helper.rb.rbt +7 -0
  129. data/stubs/pupu/postprocess.rb +8 -0
  130. data/stubs/pupu/setup.rb +4 -0
  131. data/tasks.rb +37 -0
  132. metadata +284 -200
  133. data/Rakefile +0 -28
  134. data/script/spec +0 -14
  135. data/tasks/benchmark.rake +0 -11
  136. data/tasks/gem.rake +0 -23
  137. data/tasks/hooks.rake +0 -12
  138. data/tasks/release.rake +0 -68
  139. data/tasks/spec.rake +0 -27
  140. data/tasks/submodules.rake +0 -33
  141. data/tasks/yardoc.rake +0 -9
data/Rakefile DELETED
@@ -1,28 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require_relative "lib/pupu/version"
4
-
5
- # ENV setup for external commands
6
- ENV["RUBYLIB"] = Dir["vendor/*/lib"].join(":")
7
- $LOAD_PATH.clear.push(*Dir["vendor/*/lib"])
8
-
9
- # encoding
10
- Encoding.default_internal = "utf-8"
11
- Encoding.default_external = "utf-8"
12
-
13
- # http://support.runcoderun.com/faqs/builds/how-do-i-run-rake-with-trace-enabled
14
- Rake.application.options.trace = true
15
-
16
- # default task for RunCodeRun.com
17
- task :default => ["submodules:init", :spec]
18
-
19
- # load tasks
20
- Dir["tasks/*.rake"].each do |taskfile|
21
- begin
22
- load File.join(Dir.pwd, taskfile)
23
- rescue Exception => exception
24
- puts "Exception #{exception.class} occured during loading #{taskfile}:"
25
- puts exception.message
26
- puts exception.backtrace
27
- end
28
- end
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby1.9
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
- ARGV.push("spec") if ARGV.empty?
13
-
14
- load File.expand_path(File.join(File.dirname(__FILE__), "..", "vendor", "rspec", "bin", "spec"))
@@ -1,11 +0,0 @@
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
@@ -1,23 +0,0 @@
1
- # encoding: utf-8
2
-
3
- desc "Build the gem"
4
- task :build do
5
- sh "gem build pupu.gemspec"
6
- end
7
-
8
- namespace :build do
9
- desc "Build the prerelease gem"
10
- task :prerelease do
11
- gemspec = "pupu.gemspec"
12
- content = File.read(gemspec)
13
- prename = "#{gemspec.split(".").first}.pre.gemspec"
14
- # 0.1.1 => 0.2
15
- version = Pupu::VERSION.sub(/^(\d+)\.(\d+).*$/) { "#$1.#{$2.to_i + 1}" }
16
- puts "Current #{Pupu::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
@@ -1,12 +0,0 @@
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
@@ -1,68 +0,0 @@
1
- # encoding: utf-8
2
-
3
- desc "Release new version of pupu"
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 #{Pupu::VERSION})"
9
- version = STDIN.gets.chomp
10
- File.open("lib/pupu/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 Pupu
17
- VERSION ||= "#{version}"
18
- end
19
- EOF
20
- end
21
-
22
- Pupu.const_set("VERSION", version) # so other release tasks will work
23
- sh "git commit lib/pupu/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 #{Pupu::VERSION} and pushing it online ..."
31
- sh "git tag -a -m 'Version #{Pupu::VERSION}' #{Pupu::VERSION}"
32
- sh "git push --tags"
33
- puts "Tag #{Pupu::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
@@ -1,27 +0,0 @@
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/pupu/**/*.rb") + ["spec/pupu_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
@@ -1,33 +0,0 @@
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
@@ -1,9 +0,0 @@
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 pupu"
7
- task :yardoc do
8
- sh "yardoc -r README.textile lib/**/*.rb -t default"
9
- end