shubox 0.9 → 0.9.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.
- data/History.txt +5 -0
- data/Manifest.txt +5 -4
- data/README.rdoc +3 -5
- data/Rakefile +1 -1
- data/app_generators/clojure/clojure_generator.rb +8 -11
- data/app_generators/clojure/templates/README.rdoc +8 -5
- data/app_generators/clojure/templates/build.xml +15 -0
- data/app_generators/clojure/templates/src/repl.clj +1 -2
- data/app_generators/clojure/templates/test/{core → learning}/about_clojure_testing.clj +1 -1
- data/app_generators/clojure/templates/test/learning/about_forms.clj +18 -0
- data/app_generators/clojure/templates/test/learning/about_sequences.clj +24 -0
- data/app_generators/clojure/templates/test/test_runner.clj +19 -0
- data/lib/shubox.rb +1 -1
- data/test/generators/test_clojure_generator.rb +6 -6
- metadata +7 -6
- data/app_generators/clojure/templates/bin/runtests.sh +0 -3
- data/app_generators/clojure/templates/test/core/about_forms.clj +0 -22
- data/app_generators/clojure/templates/test/tests.clj +0 -11
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
@@ -8,16 +8,17 @@ app_generators/clojure/USAGE
|
|
8
8
|
app_generators/clojure/clojure_generator.rb
|
9
9
|
app_generators/clojure/templates/README.rdoc
|
10
10
|
app_generators/clojure/templates/bin/repl.sh
|
11
|
-
app_generators/clojure/templates/
|
11
|
+
app_generators/clojure/templates/build.xml
|
12
12
|
app_generators/clojure/templates/lib/clojure-contrib.jar
|
13
13
|
app_generators/clojure/templates/lib/clojure.jar
|
14
14
|
app_generators/clojure/templates/lib/jline-0.9.94.jar
|
15
15
|
app_generators/clojure/templates/project.iml
|
16
16
|
app_generators/clojure/templates/project.ipr
|
17
17
|
app_generators/clojure/templates/src/repl.clj
|
18
|
-
app_generators/clojure/templates/test/
|
19
|
-
app_generators/clojure/templates/test/
|
20
|
-
app_generators/clojure/templates/test/
|
18
|
+
app_generators/clojure/templates/test/learning/about_clojure_testing.clj
|
19
|
+
app_generators/clojure/templates/test/learning/about_forms.clj
|
20
|
+
app_generators/clojure/templates/test/learning/about_sequences.clj
|
21
|
+
app_generators/clojure/templates/test/test_runner.clj
|
21
22
|
app_generators/java/USAGE
|
22
23
|
app_generators/java/java_generator.rb
|
23
24
|
app_generators/java/templates/Greeting.java
|
data/README.rdoc
CHANGED
@@ -32,11 +32,9 @@ on newgem, so extending the framework is as simple as creating new generator scr
|
|
32
32
|
|
33
33
|
The <code>shubox</code> application is distributed as a RubyGem and is available immediately after installation.
|
34
34
|
|
35
|
-
<code>$ gem sources -a http:http://
|
35
|
+
<code>$ gem sources -a http:http://gemcutter.org</code>
|
36
36
|
|
37
|
-
<code>$ sudo gem install
|
38
|
-
|
39
|
-
Alternately, download the gem and install manually from github.
|
37
|
+
<code>$ sudo gem install shubox</code>
|
40
38
|
|
41
39
|
== RUBY USAGE
|
42
40
|
|
@@ -81,7 +79,7 @@ shubox also supports Clojure:
|
|
81
79
|
|
82
80
|
<code>$ cd /tmp/learn_clojure</code>
|
83
81
|
|
84
|
-
<code>$
|
82
|
+
<code>$ ant</code>
|
85
83
|
|
86
84
|
The Clojure command will also generate a <project name>.ipr file to allow the project to easily be
|
87
85
|
opened in IntelliJ 8.
|
data/Rakefile
CHANGED
@@ -33,7 +33,7 @@ Dir['tasks/**/*.rake'].each { |t| load t }
|
|
33
33
|
# task :default => [:spec, :features]
|
34
34
|
|
35
35
|
desc "Create the gem and install it"
|
36
|
-
task :dev => [:clean, :manifest, :
|
36
|
+
task :dev => [:clean, :manifest, :gemspec, :package, :install_gem, :uat]
|
37
37
|
|
38
38
|
desc "Strip out the entries in the .git folder for ppl who haven't updated .hoerc"
|
39
39
|
task :clean_manifest do
|
@@ -17,7 +17,7 @@ class ClojureGenerator < ShuboxAppGenerator
|
|
17
17
|
|
18
18
|
# bin
|
19
19
|
m.directory "bin"
|
20
|
-
m.
|
20
|
+
m.file "bin/repl.sh", "bin/repl.sh", script_options
|
21
21
|
|
22
22
|
# lib
|
23
23
|
m.directory "lib"
|
@@ -28,19 +28,16 @@ class ClojureGenerator < ShuboxAppGenerator
|
|
28
28
|
m.file("src/repl.clj", "src/repl.clj")
|
29
29
|
|
30
30
|
# test
|
31
|
-
m.directory "test/
|
32
|
-
m.file("test/
|
33
|
-
m.file("test/
|
34
|
-
m.file("test/
|
31
|
+
m.directory "test/learning"
|
32
|
+
m.file("test/learning/about_clojure_testing.clj", "test/learning/about_clojure_testing.clj")
|
33
|
+
m.file("test/learning/about_forms.clj", "test/learning/about_forms.clj")
|
34
|
+
m.file("test/learning/about_sequences.clj", "test/learning/about_sequences.clj")
|
35
|
+
m.file("test/test_runner.clj", "test/test_runner.clj")
|
36
|
+
m.file("build.xml", "build.xml")
|
35
37
|
end
|
36
38
|
end
|
37
39
|
|
38
40
|
protected
|
39
41
|
# Installation skeleton.
|
40
|
-
BASEDIRS = %w(
|
41
|
-
build
|
42
|
-
lib
|
43
|
-
src
|
44
|
-
test
|
45
|
-
)
|
42
|
+
BASEDIRS = %w(bin lib src test)
|
46
43
|
end
|
@@ -4,21 +4,24 @@ Generated from http://www.github.com/bobbyno/shubox
|
|
4
4
|
|
5
5
|
== Running via command line
|
6
6
|
|
7
|
-
|
7
|
+
Run Tests: <code>ant</code>
|
8
8
|
|
9
|
-
|
9
|
+
Start REPL: <code>bin/repl.sh</code>
|
10
10
|
|
11
11
|
== Running in IntelliJ
|
12
12
|
|
13
13
|
* Install the La Clojure plugin
|
14
|
-
* Create a run configuration for
|
14
|
+
* Create a run configuration for test/test-runner.clj
|
15
15
|
* Check "Run script in REPL" and uncheck "Display settings before launching"
|
16
|
-
* Run
|
16
|
+
* Run test-runner.clj - output displays in the run tab
|
17
17
|
* Enter <code>(. System exit 0)</code> or hit the stop button if the REPL doesn't exit.
|
18
|
+
* Run src/repl.clj in the "Run script in REPL" option to keep the REPL running in the IDE.
|
18
19
|
|
19
20
|
== Credits
|
20
21
|
|
21
|
-
|
22
|
+
Programming Clojure by Stuart Halloway: http://www.pragprog.com/titles/shcloj
|
23
|
+
|
24
|
+
Project structure based on Stu's clojure-bowling: http://github.com/stuarthalloway/clojure-bowling/
|
22
25
|
|
23
26
|
Note that this requires a post-1.0 version of Clojure and contrib to use the new 'are' syntax.
|
24
27
|
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<project name="learn_clojure" default="test" basedir=".">
|
2
|
+
|
3
|
+
<path id="test.classpath">
|
4
|
+
<fileset dir="lib" includes="*.jar"/>
|
5
|
+
</path>
|
6
|
+
|
7
|
+
<target name="test">
|
8
|
+
<java classname="clojure.main" classpathref="test.classpath" dir="test" fork="true" failonerror="true">
|
9
|
+
<classpath path="test"/>
|
10
|
+
<arg value="-e"/>
|
11
|
+
<arg value="(use 'test-runner)"/>
|
12
|
+
</java>
|
13
|
+
</target>
|
14
|
+
|
15
|
+
</project>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
(ns learning.about-forms
|
2
|
+
(:use clojure.test))
|
3
|
+
|
4
|
+
(deftest division
|
5
|
+
(are [desc expression expected] (= expression expected)
|
6
|
+
"do some simple division" (/ 6 2) 3
|
7
|
+
"show that ratio is a built-in type" (/ 1 2) 1/2
|
8
|
+
"use a floating-point literal for the dividend for decimal division" (/ 1 2.0) 0.5
|
9
|
+
"obtain the integer quotient" (quot 22 7) 3
|
10
|
+
"obtain the remainder" (rem 23 7) 2
|
11
|
+
))
|
12
|
+
|
13
|
+
(deftest strings
|
14
|
+
(are [desc expression expected] (= expression expected)
|
15
|
+
"convert a lowercase string to uppercase" (.toUpperCase "str") "STR"
|
16
|
+
"append several strings - show that nil is ignored" (str 1 nil "two") "1two"
|
17
|
+
))
|
18
|
+
|
@@ -0,0 +1,24 @@
|
|
1
|
+
(ns learning.about-sequences
|
2
|
+
(:use clojure.test))
|
3
|
+
|
4
|
+
(deftest seq-functions-work-for-lists
|
5
|
+
(are [x expected] (= x expected)
|
6
|
+
; first, rest, cons on lists
|
7
|
+
(first '(1 2 3)) 1
|
8
|
+
(rest '(1 2 3)) '(2 3)
|
9
|
+
(cons 0 '(1 2 3)) '(0 1 2 3)
|
10
|
+
))
|
11
|
+
|
12
|
+
(deftest seq-functions-work-on-vectors
|
13
|
+
(are [x expected] (= x expected)
|
14
|
+
; first, rest, cons on vectors
|
15
|
+
(first [1 2 3]) 1
|
16
|
+
(rest [1 2 3]) [2 3]
|
17
|
+
(cons 0 [1 2 3]) [0 1 2 3]
|
18
|
+
))
|
19
|
+
|
20
|
+
(deftest rest-and-cons-returns-a-seq-not-a-vector
|
21
|
+
(are [x expected] (= x expected)
|
22
|
+
; call class on rest to prove that lists and vectors are seqs
|
23
|
+
(class (rest [1 2 3])) clojure.lang.LazilyPersistentVector$ChunkedSeq
|
24
|
+
))
|
@@ -0,0 +1,19 @@
|
|
1
|
+
(ns test-runner
|
2
|
+
(:use clojure.test))
|
3
|
+
|
4
|
+
(defn load-test-namespaces [directory]
|
5
|
+
(let [test-files
|
6
|
+
(for [f (file-seq (java.io.File. directory)) :when (re-find #".clj$" (.getPath f))]
|
7
|
+
(re-find #"[^.]+" (.getPath f)))]
|
8
|
+
(doseq [file test-files] (load file))))
|
9
|
+
|
10
|
+
(defn run-learning-tests
|
11
|
+
"Finds, loads, and runs all tests."
|
12
|
+
[]
|
13
|
+
(try
|
14
|
+
(load-test-namespaces "learning")
|
15
|
+
(run-all-tests #"^learning.*")
|
16
|
+
(finally
|
17
|
+
(shutdown-agents))))
|
18
|
+
|
19
|
+
(run-learning-tests)
|
data/lib/shubox.rb
CHANGED
@@ -5,7 +5,7 @@ $:.unshift(File.dirname(__FILE__) + '/../cleaner_generators') unless
|
|
5
5
|
$:.include?(File.dirname(__FILE__) + '/../cleaner_generators') || $:.include?(File.expand_path(File.dirname(__FILE__) + '../cleaner_generators'))
|
6
6
|
|
7
7
|
module Shubox
|
8
|
-
VERSION = '0.9'
|
8
|
+
VERSION = '0.9.1'
|
9
9
|
end
|
10
10
|
|
11
11
|
require 'test_unit_cleaner/lib/test_unit_cleaner'
|
@@ -19,11 +19,11 @@ class TestClojureGenerator < Test::Unit::TestCase
|
|
19
19
|
assert_generated_file "README.rdoc"
|
20
20
|
assert_generated_file "myproject.ipr"
|
21
21
|
assert_generated_file "myproject.iml"
|
22
|
+
assert_generated_file "build.xml"
|
22
23
|
assert_file_contains(PROJECT_NAME, "myproject.ipr")
|
23
24
|
|
24
25
|
assert_directory_exists "bin"
|
25
26
|
assert_generated_file "bin/repl.sh"
|
26
|
-
assert_generated_file "bin/runtests.sh"
|
27
27
|
|
28
28
|
assert_directory_exists "lib"
|
29
29
|
assert_generated_file "lib/clojure.jar"
|
@@ -34,11 +34,11 @@ class TestClojureGenerator < Test::Unit::TestCase
|
|
34
34
|
assert_generated_file "src/repl.clj"
|
35
35
|
|
36
36
|
assert_directory_exists "test"
|
37
|
-
assert_directory_exists "test/
|
38
|
-
assert_generated_file "test/
|
39
|
-
assert_generated_file "test/
|
40
|
-
assert_generated_file "test/
|
37
|
+
assert_directory_exists "test/learning"
|
38
|
+
assert_generated_file "test/learning/about_clojure_testing.clj"
|
39
|
+
assert_generated_file "test/learning/about_forms.clj"
|
40
|
+
assert_generated_file "test/test_runner.clj"
|
41
41
|
|
42
|
-
run_generated_build_script("
|
42
|
+
run_generated_build_script("ant")
|
43
43
|
end
|
44
44
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shubox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bobby Norton
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-11-01 01:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -58,16 +58,17 @@ files:
|
|
58
58
|
- app_generators/clojure/clojure_generator.rb
|
59
59
|
- app_generators/clojure/templates/README.rdoc
|
60
60
|
- app_generators/clojure/templates/bin/repl.sh
|
61
|
-
- app_generators/clojure/templates/
|
61
|
+
- app_generators/clojure/templates/build.xml
|
62
62
|
- app_generators/clojure/templates/lib/clojure-contrib.jar
|
63
63
|
- app_generators/clojure/templates/lib/clojure.jar
|
64
64
|
- app_generators/clojure/templates/lib/jline-0.9.94.jar
|
65
65
|
- app_generators/clojure/templates/project.iml
|
66
66
|
- app_generators/clojure/templates/project.ipr
|
67
67
|
- app_generators/clojure/templates/src/repl.clj
|
68
|
-
- app_generators/clojure/templates/test/
|
69
|
-
- app_generators/clojure/templates/test/
|
70
|
-
- app_generators/clojure/templates/test/
|
68
|
+
- app_generators/clojure/templates/test/learning/about_clojure_testing.clj
|
69
|
+
- app_generators/clojure/templates/test/learning/about_forms.clj
|
70
|
+
- app_generators/clojure/templates/test/learning/about_sequences.clj
|
71
|
+
- app_generators/clojure/templates/test/test_runner.clj
|
71
72
|
- app_generators/java/USAGE
|
72
73
|
- app_generators/java/java_generator.rb
|
73
74
|
- app_generators/java/templates/Greeting.java
|
@@ -1,22 +0,0 @@
|
|
1
|
-
(ns core.about_forms
|
2
|
-
(:use clojure.test))
|
3
|
-
|
4
|
-
(deftest division-in-clojure-is-surprising
|
5
|
-
(are [expression expected] (= expression expected)
|
6
|
-
(/ 6 3) 2
|
7
|
-
; Ratio is a built-in type
|
8
|
-
(/ 3 6) 1/2
|
9
|
-
; use a floating-point literal for the dividend for decimal division
|
10
|
-
(/ 3.0 6) 0.5
|
11
|
-
; integer quotient
|
12
|
-
(quot 22 7) 3
|
13
|
-
; remainder
|
14
|
-
(rem 22 7) 1
|
15
|
-
))
|
16
|
-
|
17
|
-
(deftest strings
|
18
|
-
(are [expression expected] (= expression expected)
|
19
|
-
(.toUpperCase "str") "STR"
|
20
|
-
(str 1 2 nil 3) "123"
|
21
|
-
))
|
22
|
-
|