smallcage 0.0.8

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 (71) hide show
  1. data/History.txt +15 -0
  2. data/License.txt +20 -0
  3. data/Manifest.txt +70 -0
  4. data/README.txt +1 -0
  5. data/Rakefile +4 -0
  6. data/bin/smc +136 -0
  7. data/config/hoe.rb +70 -0
  8. data/config/requirements.rb +17 -0
  9. data/lib/smallcage/commands/Manifest.erb +19 -0
  10. data/lib/smallcage/commands/auto.rb +52 -0
  11. data/lib/smallcage/commands/clean.rb +24 -0
  12. data/lib/smallcage/commands/import.rb +212 -0
  13. data/lib/smallcage/commands/manifest.rb +39 -0
  14. data/lib/smallcage/commands/server.rb +24 -0
  15. data/lib/smallcage/commands/update.rb +40 -0
  16. data/lib/smallcage/erb_base.rb +16 -0
  17. data/lib/smallcage/loader.rb +239 -0
  18. data/lib/smallcage/misc.rb +13 -0
  19. data/lib/smallcage/renderer.rb +19 -0
  20. data/lib/smallcage/runner.rb +36 -0
  21. data/lib/smallcage/version.rb +9 -0
  22. data/lib/smallcage.rb +22 -0
  23. data/log/debug.log +0 -0
  24. data/project/default/_smc/helpers/base_helper.rb +34 -0
  25. data/project/default/_smc/helpers/site_helper.rb +5 -0
  26. data/project/default/_smc/templates/default.rhtml +5 -0
  27. data/project/default/_smc/templates/footer.rhtml +0 -0
  28. data/project/default/_smc/templates/header.rhtml +0 -0
  29. data/project/nkf/_smc/filters/filters.yml +3 -0
  30. data/project/nkf/_smc/filters/nkf_filter.rb +15 -0
  31. data/project/relpath/_smc/filters/filters.yml +2 -0
  32. data/project/relpath/_smc/filters/relpath_filter.rb +13 -0
  33. data/project/standard/_dir.smc +2 -0
  34. data/project/standard/_smc/helpers/menu_helper.rb +23 -0
  35. data/project/standard/_smc/templates/footer.rhtml +12 -0
  36. data/project/standard/_smc/templates/header.rhtml +35 -0
  37. data/project/standard/_smc/templates/redirect.rhtml +13 -0
  38. data/project/standard/_smc/templates/sidebar.rhtml +9 -0
  39. data/project/standard/_smc/templates/topic_path.rhtml +6 -0
  40. data/project/standard/about/_dir.smc +1 -0
  41. data/project/standard/about/index.html.smc +3 -0
  42. data/project/standard/common/css/default.css +97 -0
  43. data/project/standard/common/css/print.css +0 -0
  44. data/project/standard/index.html.smc +3 -0
  45. data/project/standard/sample1/_dir.smc +1 -0
  46. data/project/standard/sample1/index.html.smc +7 -0
  47. data/project/standard/sample1/index2.html.smc +5 -0
  48. data/project/standard/sample1/redirect.html.smc +2 -0
  49. data/project/standard/sample2/_dir.smc +1 -0
  50. data/project/standard/sample2/index.html.smc +3 -0
  51. data/script/destroy +14 -0
  52. data/script/destroy.cmd +1 -0
  53. data/script/generate +14 -0
  54. data/script/generate.cmd +1 -0
  55. data/setup.rb +1585 -0
  56. data/spec/data/htdocs1/_dir.smc +0 -0
  57. data/spec/data/htdocs1/a/b/c/index.html.smc +1 -0
  58. data/spec/import_spec.rb +20 -0
  59. data/spec/loader_spec.rb +41 -0
  60. data/spec/manifest_spec.rb +32 -0
  61. data/spec/misc_spec.rb +25 -0
  62. data/spec/smallcage_spec.rb +34 -0
  63. data/spec/spec.opts +1 -0
  64. data/spec/spec_helper.rb +9 -0
  65. data/tasks/deployment.rake +27 -0
  66. data/tasks/environment.rake +7 -0
  67. data/tasks/rspec.rake +21 -0
  68. data/tasks/website.rake +9 -0
  69. data/test/test_helper.rb +2 -0
  70. data/test/test_smallcage.rb +11 -0
  71. metadata +132 -0
File without changes
@@ -0,0 +1 @@
1
+ xyz: 123
@@ -0,0 +1,20 @@
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
2
+ require 'smallcage'
3
+
4
+ describe "SmallCage::Commands::Import" do
5
+ root = Pathname.new(File.dirname(__FILE__) + "/data")
6
+
7
+ it "should import default project" do
8
+ tmpdir = root + "tmp"
9
+ Dir.mkdir(tmpdir) unless tmpdir.directory?
10
+
11
+ opts = { :command => "import", :from => "default", :to => tmpdir.to_s, :quiet => true }
12
+ SmallCage::Runner.run(opts)
13
+
14
+ (tmpdir + "_smc").directory?.should be_true
15
+ (tmpdir + "_smc/helpers/base_helper.rb").file?.should be_true
16
+
17
+ FileUtils.rm_r(tmpdir)
18
+ end
19
+
20
+ end
@@ -0,0 +1,41 @@
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
2
+ require 'smallcage'
3
+
4
+ describe "SmallCage::Loader" do
5
+
6
+ docroot = Pathname.new(File.dirname(__FILE__) + "/data/htdocs1")
7
+
8
+ it "should load path value which returns Pathname object" do
9
+ ldr = SmallCage::Loader.new(docroot)
10
+ obj = ldr.load(docroot + "a/b/c/index.html.smc")
11
+
12
+ obj["path"].should be_an_instance_of(Pathname)
13
+ obj["path"].smc.should be_an_instance_of(Pathname)
14
+
15
+ obj["path"].to_s.should =~ %r{^.+/a/b/c/index\.html$}
16
+ obj["path"].smc.to_s.should =~ %r{^.+/a/b/c/index\.html\.smc$}
17
+ end
18
+
19
+ it "should be able to omit smc extention" do
20
+ ldr = SmallCage::Loader.new(docroot + "a/b/c/index.html")
21
+ objects = []
22
+ ldr.each_smc_obj do |o|
23
+ objects << o
24
+ end
25
+ objects.size.should == 1
26
+ obj = objects[0]
27
+ obj["uri"].should == "/a/b/c/index.html"
28
+ obj["uri"].smc.should == "/a/b/c/index.html.smc"
29
+ end
30
+
31
+ it "should find smc root dir" do
32
+ path = docroot + "a/b/c/index.html.smc"
33
+
34
+ depth = 5
35
+ root = SmallCage::Loader.find_root(path, depth)
36
+ root.to_s.should =~ %r{^.+/data/htdocs1$}
37
+
38
+ depth = 3
39
+ lambda { SmallCage::Loader.find_root(path, depth) }.should raise_error
40
+ end
41
+ end
@@ -0,0 +1,32 @@
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
2
+ require 'smallcage'
3
+
4
+ describe "SmallCage::Commands::Manifest" do
5
+ docroot = Pathname.new(File.dirname(__FILE__) + "/data/htdocs1")
6
+
7
+ it "should create Manifest.html" do
8
+ opts = { :command => "manifest", :path => docroot.to_s }
9
+ SmallCage::Runner.run(opts)
10
+
11
+ manifest = docroot + "Manifest.html"
12
+ manifest.file?.should be_true
13
+
14
+ source = manifest.read
15
+ source.include?(<<'EOT').should be_true
16
+ <ul class="files">
17
+ <li><a href="./a/">./a/</a></li>
18
+ <li><a href="./a/b/">./a/b/</a></li>
19
+ <li><a href="./a/b/c/">./a/b/c/</a></li>
20
+ <li><a href="./a/b/c/index.html.smc">./a/b/c/index.html.smc</a></li>
21
+ <li><a href="./_dir.smc">./_dir.smc</a></li>
22
+ <li><a href="./_smc/">./_smc/</a></li>
23
+ <li><a href="./_smc/helpers/">./_smc/helpers/</a></li>
24
+ <li><a href="./_smc/templates/">./_smc/templates/</a></li>
25
+ </ul>
26
+ EOT
27
+
28
+ manifest.delete
29
+ manifest.file?.should be_false
30
+ end
31
+
32
+ end
data/spec/misc_spec.rb ADDED
@@ -0,0 +1,25 @@
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
2
+ require 'smallcage'
3
+
4
+ describe "misc" do
5
+
6
+ it "should camelize String" do
7
+ s = "smallcage"
8
+ s.camelize.should == "Smallcage"
9
+
10
+ s = "abc_def_ghi"
11
+ s.camelize.should == "AbcDefGhi"
12
+
13
+ s = ""
14
+ s.camelize.should == ""
15
+ end
16
+
17
+ it "should camelize with first character in lower case" do
18
+ s = "smallcage"
19
+ s.camelize(false).should == "smallcage"
20
+
21
+ s = "abc_def_ghi"
22
+ s.camelize(false).should == "abcDefGhi"
23
+ end
24
+
25
+ end
@@ -0,0 +1,34 @@
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
2
+ require 'smallcage'
3
+
4
+ describe "smallcage" do
5
+
6
+ docroot = Pathname.new(File.dirname(__FILE__) + "/data/htdocs1")
7
+
8
+ it "show version" do
9
+ # puts "------- version:" + SmallCage::VERSION::STRING
10
+ end
11
+
12
+ it "should update not docroot directory" do
13
+ path = docroot + "a/b/"
14
+
15
+ opts = { :command => "update", :path => path.to_s, :quiet => true }
16
+ SmallCage::Runner.run(opts)
17
+
18
+ out = docroot + "a/b/c/index.html"
19
+ out.file?.should be_true
20
+ out.delete
21
+
22
+ pwd = Dir.pwd
23
+ Dir.chdir(path)
24
+
25
+ opts[:path] = "."
26
+ SmallCage::Runner.run(opts)
27
+
28
+ Dir.chdir(pwd)
29
+
30
+ out.file?.should be_true
31
+ out.delete
32
+ end
33
+
34
+ end
data/spec/spec.opts ADDED
@@ -0,0 +1 @@
1
+ --colour
@@ -0,0 +1,9 @@
1
+ $LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
2
+
3
+ begin
4
+ require 'spec'
5
+ rescue LoadError
6
+ require 'rubygems'
7
+ gem 'rspec'
8
+ require 'spec'
9
+ end
@@ -0,0 +1,27 @@
1
+ desc 'Release the website and new gem version'
2
+ task :deploy => [:check_version, :website, :release] do
3
+ puts "Remember to create SVN tag:"
4
+ puts "svn copy svn+ssh://#{RUBYFORGE_USERNAME}@rubyforge.org/var/svn/#{PATH}/trunk " +
5
+ "svn+ssh://#{RUBYFORGE_USERNAME}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} "
6
+ puts "Suggested comment:"
7
+ puts "Tagging release #{CHANGES}"
8
+ end
9
+
10
+ desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
11
+ task :local_deploy => [:website_generate, :install_gem]
12
+
13
+ task :check_version do
14
+ unless ENV['VERSION']
15
+ puts 'Must pass a VERSION=x.y.z release version'
16
+ exit
17
+ end
18
+ unless ENV['VERSION'] == VERS
19
+ puts "Please update your version.rb to match the release version, currently #{VERS}"
20
+ exit
21
+ end
22
+ end
23
+
24
+ desc 'Install the package as a gem, without generating documentation(ri/rdoc)'
25
+ task :install_gem_no_doc => [:clean, :package] do
26
+ sh "#{'sudo ' unless (Hoe::WINDOZE || /cygwin/ =~ RUBY_PLATFORM) }gem install pkg/*.gem --no-rdoc --no-ri"
27
+ end
@@ -0,0 +1,7 @@
1
+ task :ruby_env do
2
+ RUBY_APP = if RUBY_PLATFORM =~ /java/
3
+ "jruby"
4
+ else
5
+ "ruby"
6
+ end unless defined? RUBY_APP
7
+ end
data/tasks/rspec.rake ADDED
@@ -0,0 +1,21 @@
1
+ begin
2
+ require 'spec'
3
+ rescue LoadError
4
+ require 'rubygems'
5
+ require 'spec'
6
+ end
7
+ begin
8
+ require 'spec/rake/spectask'
9
+ rescue LoadError
10
+ puts <<-EOS
11
+ To use rspec for testing you must install rspec gem:
12
+ gem install rspec
13
+ EOS
14
+ exit(0)
15
+ end
16
+
17
+ desc "Run the specs under spec/models"
18
+ Spec::Rake::SpecTask.new do |t|
19
+ t.spec_opts = ['--options', "spec/spec.opts"]
20
+ t.spec_files = FileList['spec/*_spec.rb']
21
+ end
@@ -0,0 +1,9 @@
1
+ # stubs for the website generation
2
+ # To install the website framework:
3
+ # script/generate website
4
+
5
+ task :website_generate
6
+
7
+ task :website_upload
8
+
9
+ task :website => :publish_docs
@@ -0,0 +1,2 @@
1
+ require 'test/unit'
2
+ require File.dirname(__FILE__) + '/../lib/smallcage'
@@ -0,0 +1,11 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestSmallCage < Test::Unit::TestCase
4
+
5
+ def setup
6
+ end
7
+
8
+ def test_truth
9
+ assert true
10
+ end
11
+ end
metadata ADDED
@@ -0,0 +1,132 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: smallcage
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.8
5
+ platform: ruby
6
+ authors:
7
+ - SAITO Toshihiro
8
+ - KOSEKI Kengo
9
+ - SATO Akihiko
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+
14
+ date: 2008-01-18 00:00:00 +09:00
15
+ default_executable:
16
+ dependencies: []
17
+
18
+ description: Lightweigt CMS Package.
19
+ email:
20
+ - saito@bluemark.jp
21
+ - koseki@bluemark.jp
22
+ - gom@bluemark.jp
23
+ executables:
24
+ - smc
25
+ extensions: []
26
+
27
+ extra_rdoc_files:
28
+ - History.txt
29
+ - License.txt
30
+ - Manifest.txt
31
+ - README.txt
32
+ files:
33
+ - History.txt
34
+ - License.txt
35
+ - Manifest.txt
36
+ - README.txt
37
+ - Rakefile
38
+ - bin/smc
39
+ - config/hoe.rb
40
+ - config/requirements.rb
41
+ - lib/smallcage.rb
42
+ - lib/smallcage/commands/Manifest.erb
43
+ - lib/smallcage/commands/auto.rb
44
+ - lib/smallcage/commands/clean.rb
45
+ - lib/smallcage/commands/import.rb
46
+ - lib/smallcage/commands/manifest.rb
47
+ - lib/smallcage/commands/server.rb
48
+ - lib/smallcage/commands/update.rb
49
+ - lib/smallcage/erb_base.rb
50
+ - lib/smallcage/loader.rb
51
+ - lib/smallcage/misc.rb
52
+ - lib/smallcage/renderer.rb
53
+ - lib/smallcage/runner.rb
54
+ - lib/smallcage/version.rb
55
+ - log/debug.log
56
+ - project/default/_smc/helpers/base_helper.rb
57
+ - project/default/_smc/helpers/site_helper.rb
58
+ - project/default/_smc/templates/default.rhtml
59
+ - project/default/_smc/templates/footer.rhtml
60
+ - project/default/_smc/templates/header.rhtml
61
+ - project/nkf/_smc/filters/filters.yml
62
+ - project/nkf/_smc/filters/nkf_filter.rb
63
+ - project/relpath/_smc/filters/filters.yml
64
+ - project/relpath/_smc/filters/relpath_filter.rb
65
+ - project/standard/_dir.smc
66
+ - project/standard/_smc/helpers/menu_helper.rb
67
+ - project/standard/_smc/templates/footer.rhtml
68
+ - project/standard/_smc/templates/header.rhtml
69
+ - project/standard/_smc/templates/redirect.rhtml
70
+ - project/standard/_smc/templates/sidebar.rhtml
71
+ - project/standard/_smc/templates/topic_path.rhtml
72
+ - project/standard/about/_dir.smc
73
+ - project/standard/about/index.html.smc
74
+ - project/standard/common/css/default.css
75
+ - project/standard/common/css/print.css
76
+ - project/standard/index.html.smc
77
+ - project/standard/sample1/_dir.smc
78
+ - project/standard/sample1/index.html.smc
79
+ - project/standard/sample1/index2.html.smc
80
+ - project/standard/sample1/redirect.html.smc
81
+ - project/standard/sample2/_dir.smc
82
+ - project/standard/sample2/index.html.smc
83
+ - script/destroy
84
+ - script/destroy.cmd
85
+ - script/generate
86
+ - script/generate.cmd
87
+ - setup.rb
88
+ - spec/data/htdocs1/_dir.smc
89
+ - spec/data/htdocs1/a/b/c/index.html.smc
90
+ - spec/import_spec.rb
91
+ - spec/loader_spec.rb
92
+ - spec/manifest_spec.rb
93
+ - spec/misc_spec.rb
94
+ - spec/smallcage_spec.rb
95
+ - spec/spec.opts
96
+ - spec/spec_helper.rb
97
+ - tasks/deployment.rake
98
+ - tasks/environment.rake
99
+ - tasks/rspec.rake
100
+ - tasks/website.rake
101
+ - test/test_helper.rb
102
+ - test/test_smallcage.rb
103
+ has_rdoc: true
104
+ homepage: http://smallcage.rubyforge.org
105
+ post_install_message:
106
+ rdoc_options:
107
+ - --main
108
+ - README.txt
109
+ require_paths:
110
+ - lib
111
+ required_ruby_version: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: "0"
116
+ version:
117
+ required_rubygems_version: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: "0"
122
+ version:
123
+ requirements: []
124
+
125
+ rubyforge_project: smallcage
126
+ rubygems_version: 1.0.1
127
+ signing_key:
128
+ specification_version: 2
129
+ summary: Lightweigt CMS Package.
130
+ test_files:
131
+ - test/test_helper.rb
132
+ - test/test_smallcage.rb