wren 0.0.1 → 0.0.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bae99aec469f979a480b127c0a6d1e0f14b65bb0
4
- data.tar.gz: a57be114c6c9f18ac9fa05f77f5b041b77ba7ae2
3
+ metadata.gz: f1278dc30341ffc9c70057312ca30c05b1170eb9
4
+ data.tar.gz: 632b5ba117a410450b4bfda0c009fb35a4dc5459
5
5
  SHA512:
6
- metadata.gz: f787ec1e90a7ebc401f2379364d65027b1023a348bbbdec74cac5ac99bdb0ef1fce986b509a7de20259680f0e8206d86de7fa68bca46c38aa27dd0ca3c79f309
7
- data.tar.gz: ebe6059ccb9492ea660db5a4ed621c2158491b17b9e1345ee66b9598a79be5d67cd1e41c27ae7eef45b101661352374a21c60a023f45db31df5d6442f00dc976
6
+ metadata.gz: 9f8cec0f1ecf7dbc538bafa798b5720d538288740819b14e44b62007ccad937a4b378afb92e98e228cade24c991ec1ba5147de0de79d31c9230c0c3cd7d8fa2c
7
+ data.tar.gz: 2a9b17694bc2165cdd9463c03cb2636eaffb422356def6706ecb2b4c5488ecc805e171e20a27941a6b1ee9d77061780c1c4e69f332f37706d93132fc65ea45e5
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # Wren
2
2
 
3
- TODO: Write a gem description
3
+ Creates very simple Ruby projects not intended to be gems, but just
4
+ to be well-designed programs.
4
5
 
5
6
  ## Installation
6
7
 
@@ -18,7 +19,8 @@ Or install it yourself as:
18
19
 
19
20
  ## Usage
20
21
 
21
- TODO: Write usage instructions here
22
+ Use `wren <project_name>` on the command line to create a new simple
23
+ Ruby project.
22
24
 
23
25
  ## Contributing
24
26
 
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ lib = File.expand_path(File.dirname(__FILE__) + '/../lib')
4
+ $LOAD_PATH.unshift(lib) if File.directory?(lib) && !$LOAD_PATH.include?(lib)
5
+
6
+ require "wren"
7
+
8
+ Wren::CLI.start
@@ -0,0 +1,7 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Add gems here like the following:
4
+ # gem 'nokogiri'
5
+ # gem 'rack', '~> 1.1'
6
+ #
7
+ # See bundler.io for more info.
@@ -0,0 +1,11 @@
1
+ # <%= name.camelize %>
2
+
3
+ TODO: Describe the purpose of this program.
4
+
5
+ ## Usage
6
+
7
+ TODO: Describe how to start this program.
8
+
9
+ To run the tests, run `rake` on the command line. `rake` is a Ruby program that
10
+ executes tasks from a file called a `Rakefile`. It is often used by Ruby
11
+ libraries to run tests and other tasks.
@@ -0,0 +1,7 @@
1
+ require 'rake/testtask'
2
+
3
+ Rake::TestTask.new do |t|
4
+ t.pattern = "test/*_test.rb"
5
+ end
6
+
7
+ task :default => :test
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ lib = File.expand_path(File.dirname(__FILE__) + '/../lib')
4
+ $LOAD_PATH.unshift(lib) if File.directory?(lib) && !$LOAD_PATH.include?(lib)
5
+
6
+ require "<%= name %>"
7
+
8
+ <%= name.camelize %>.new.run
@@ -0,0 +1,5 @@
1
+ class <%= name.camelize %>
2
+ def run
3
+ fail "You need to add some functionality here before you can use this."
4
+ end
5
+ end
@@ -0,0 +1,8 @@
1
+ require "minitest/autorun"
2
+ require "<%= name %>"
3
+
4
+ class <%= name.camelize %>Test < MiniTest::Unit::TestCase
5
+ def test_first_test
6
+ assert false, "Please add a test here"
7
+ end
8
+ end
@@ -1,5 +1,2 @@
1
1
  require "wren/version"
2
-
3
- module Wren
4
- # Your code goes here...
5
- end
2
+ require "wren/cli"
@@ -0,0 +1,17 @@
1
+ require 'wren/generator'
2
+
3
+ module Wren
4
+ class CLI < Thor
5
+
6
+ desc "new PROJECT", "Generates a new Ruby project."
7
+ method_option :exec,
8
+ :type => :boolean,
9
+ :default => true,
10
+ :aliases => "-x",
11
+ :desc => "Generates an executable file for your project."
12
+
13
+ def new(project)
14
+ invoke(Generator, [project], options)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,38 @@
1
+ require "thor"
2
+ require "active_support/core_ext/string"
3
+ require "pathname"
4
+
5
+ module Wren
6
+ class Generator < Thor::Group
7
+ include Thor::Actions
8
+
9
+ argument :name
10
+ class_option :exec => true, :aliases => "-x"
11
+
12
+ def self.source_root
13
+ Pathname.new(File.dirname(__FILE__)) + ".."
14
+ end
15
+
16
+ def create_rakefile
17
+ template "templates/Rakefile.tt", "#{name}/Rakefile"
18
+ end
19
+
20
+ def create_gemfile
21
+ template "templates/Gemfile.tt", "#{name}/Gemfile"
22
+ end
23
+
24
+ def create_lib_file
25
+ template "templates/lib.tt", "#{name}/lib/#{name}.rb"
26
+ end
27
+
28
+ def create_test_file
29
+ template "templates/test.tt", "#{name}/test/#{name}_test.rb"
30
+ end
31
+
32
+ def create_bin_file
33
+ return unless options[:exec]
34
+ template "templates/bin.tt", "#{name}/bin/#{name}"
35
+ chmod "#{name}/bin/#{name}", 0755
36
+ end
37
+ end
38
+ end
@@ -1,3 +1,3 @@
1
1
  module Wren
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -9,8 +9,9 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Clinton N. Dreisbach"]
10
10
  spec.email = ["clinton@dreisbach.us"]
11
11
  spec.summary = %q{A tool to automate Ruby projects.}
12
- # spec.description = %q{TODO: Write a longer description. Optional.}
13
- # spec.homepage = ""
12
+ spec.description = %q{Creates very simple Ruby projects not intended to be gems, but just
13
+ to be well-designed programs.}
14
+ spec.homepage = "https://github.com/cndreisbach/wren"
14
15
  spec.license = "MIT"
15
16
 
16
17
  spec.files = `git ls-files -z`.split("\x0")
@@ -18,6 +19,9 @@ Gem::Specification.new do |spec|
18
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
20
  spec.require_paths = ["lib"]
20
21
 
22
+ spec.add_runtime_dependency "activesupport", '~> 4.1'
23
+ spec.add_runtime_dependency 'thor', '~> 0.19'
24
+
21
25
  spec.add_development_dependency "bundler", "~> 1.6"
22
- spec.add_development_dependency "rake"
26
+ spec.add_development_dependency "rake", "~> 10"
23
27
  end
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wren
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clinton N. Dreisbach
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-21 00:00:00.000000000 Z
11
+ date: 2014-09-17 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '4.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '4.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: thor
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.19'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.19'
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: bundler
15
43
  requirement: !ruby/object:Gem::Requirement
@@ -28,20 +56,23 @@ dependencies:
28
56
  name: rake
29
57
  requirement: !ruby/object:Gem::Requirement
30
58
  requirements:
31
- - - ">="
59
+ - - "~>"
32
60
  - !ruby/object:Gem::Version
33
- version: '0'
61
+ version: '10'
34
62
  type: :development
35
63
  prerelease: false
36
64
  version_requirements: !ruby/object:Gem::Requirement
37
65
  requirements:
38
- - - ">="
66
+ - - "~>"
39
67
  - !ruby/object:Gem::Version
40
- version: '0'
41
- description:
68
+ version: '10'
69
+ description: |-
70
+ Creates very simple Ruby projects not intended to be gems, but just
71
+ to be well-designed programs.
42
72
  email:
43
73
  - clinton@dreisbach.us
44
- executables: []
74
+ executables:
75
+ - wren
45
76
  extensions: []
46
77
  extra_rdoc_files: []
47
78
  files:
@@ -50,10 +81,19 @@ files:
50
81
  - LICENSE.txt
51
82
  - README.md
52
83
  - Rakefile
84
+ - bin/wren
85
+ - lib/templates/Gemfile.tt
86
+ - lib/templates/README.tt
87
+ - lib/templates/Rakefile.tt
88
+ - lib/templates/bin.tt
89
+ - lib/templates/lib.tt
90
+ - lib/templates/test.tt
53
91
  - lib/wren.rb
92
+ - lib/wren/cli.rb
93
+ - lib/wren/generator.rb
54
94
  - lib/wren/version.rb
55
95
  - wren.gemspec
56
- homepage:
96
+ homepage: https://github.com/cndreisbach/wren
57
97
  licenses:
58
98
  - MIT
59
99
  metadata: {}