monk 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,10 +6,14 @@ require "yaml"
6
6
  class Monk < Thor
7
7
  include Thor::Actions
8
8
 
9
+ [:skip, :pretend, :force, :quiet].each do |task|
10
+ class_options.delete task
11
+ end
12
+
9
13
  desc "init", "Initialize a Monk application"
10
14
  method_option :skeleton, :type => :string, :aliases => "-s"
11
15
  def init(target = ".")
12
- clone(source(options[:skeleton] || "default"), target) ?
16
+ clone(source(options[:skeleton] || "default") || options[:skeleton], target) ?
13
17
  cleanup(target) :
14
18
  say_status(:error, clone_error(target))
15
19
  end
@@ -64,13 +68,13 @@ private
64
68
  def monk_config
65
69
  @monk_config ||= begin
66
70
  write_monk_config_file unless File.exists?(monk_config_file)
67
- @monk_config = YAML.load_file(monk_config_file)
71
+ YAML.load_file(monk_config_file)
68
72
  end
69
73
  end
70
74
 
71
75
  def write_monk_config_file
72
- remove_file monk_config_file
73
- create_file monk_config_file do
76
+ remove_file(monk_config_file, :verbose => false)
77
+ create_file(monk_config_file, nil, :verbose => false) do
74
78
  config = @monk_config || { "default" => "git://github.com/monkrb/skeleton.git" }
75
79
  config.to_yaml
76
80
  end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "monk"
3
- s.version = "0.0.6"
3
+ s.version = "0.0.7"
4
4
  s.summary = "Monk, the glue framework"
5
5
  s.description = "Monk is a glue framework for web development. It means that instead of installing all the tools you need for your projects, you can rely on a git repository and a list of dependencies, and Monk will care of the rest. By default, it ships with a Sinatra application that includes Contest, Stories, Webrat, Ohm and some other niceties, along with a structure and helpful documentation to get your hands wet in no time."
6
6
  s.authors = ["Damian Janowski", "Michel Martens"]
@@ -24,6 +24,14 @@ class TestMonk < Test::Unit::TestCase
24
24
  assert_match /initialized.* monk-test/, out
25
25
  end
26
26
  end
27
+
28
+ should "be able to pull from a url instead of a known skeleton" do
29
+ Dir.chdir(root("test", "tmp")) do
30
+ FileUtils.rm_rf "monk-test"
31
+ out, err = monk("init monk-test --skeleton git://github.com/monkrb/skeleton.git")
32
+ assert_match /initialized.* monk-test/, out
33
+ end
34
+ end
27
35
  end
28
36
 
29
37
  context "monk init" do
@@ -1,6 +1,7 @@
1
1
  require "rubygems"
2
2
  require "contest"
3
3
  require "hpricot"
4
+ require "fileutils"
4
5
 
5
6
  ROOT = File.expand_path(File.join(File.dirname(__FILE__), ".."))
6
7
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: monk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Damian Janowski
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2009-09-01 00:00:00 -03:00
13
+ date: 2009-09-17 00:00:00 -03:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -54,10 +54,8 @@ files:
54
54
  - test/integration_test.rb
55
55
  - test/monk_test.rb
56
56
  - test/test_helper.rb
57
- has_rdoc: true
57
+ has_rdoc: false
58
58
  homepage: http://monkrb.com
59
- licenses: []
60
-
61
59
  post_install_message:
62
60
  rdoc_options: []
63
61
 
@@ -78,9 +76,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
78
76
  requirements:
79
77
  - git
80
78
  rubyforge_project: monk
81
- rubygems_version: 1.3.4
79
+ rubygems_version: 1.3.1
82
80
  signing_key:
83
- specification_version: 3
81
+ specification_version: 2
84
82
  summary: Monk, the glue framework
85
83
  test_files: []
86
84