crystalline 1.0.0 → 1.1.0
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/.travis.yml +6 -0
- data/CHANGELOG +10 -0
- data/bin/crystallize +22 -0
- data/crystalline.gemspec +3 -0
- data/lib/crystalline.rb +2 -1
- data/lib/crystalline/generators.rb +8 -0
- data/lib/crystalline/generators/generator.rb +49 -0
- data/lib/crystalline/generators/rakefile.rb +13 -0
- data/lib/crystalline/generators/readme.rb +30 -0
- data/lib/crystalline/generators/spec_helper.rb +17 -0
- data/lib/crystalline/generators/travis.rb +17 -0
- data/lib/crystalline/gli_helpers.rb +20 -0
- data/lib/crystalline/templates/README.md.erb +23 -0
- data/lib/crystalline/templates/Rakefile.erb +3 -0
- data/lib/crystalline/templates/spec_helper.rb.erb +8 -0
- data/lib/crystalline/templates/travis.yml.erb +6 -0
- data/lib/crystalline/version.rb +1 -1
- metadata +51 -5
data/.travis.yml
ADDED
data/CHANGELOG
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
1.1.0:
|
2
|
+
Implemented Generators for various files:
|
3
|
+
- Rakefile - includes crystalline tasks and bundler/setup
|
4
|
+
- spec_helper - includes crystalline spec_helper/helper macros, and
|
5
|
+
- travis - creates a standard .travis.yml file that tests all major ruby
|
6
|
+
versions >1.9 (including JRuby and Rubinius)
|
7
|
+
- README - creates a standard boilerplate README.md that includes badge
|
8
|
+
links for common services (travis, coveralls, codeclimate, and
|
9
|
+
gem version from fury)
|
10
|
+
|
1
11
|
1.0.0:
|
2
12
|
Basic functionality -- include 'crystalline/spec' in your spec_helper, include
|
3
13
|
'crystalline/rake' in your rake file. Receive usefule stuff.
|
data/bin/crystallize
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'gli'
|
4
|
+
begin # XXX: Remove this begin/rescue before distributing your app
|
5
|
+
require 'crystalline'
|
6
|
+
rescue LoadError
|
7
|
+
STDERR.puts "In development, you need to use `bundle exec bin/crystalline` to run your app"
|
8
|
+
STDERR.puts "At install-time, RubyGems will make sure lib, etc. are in the load path"
|
9
|
+
exit 64
|
10
|
+
end
|
11
|
+
|
12
|
+
include GLI::App
|
13
|
+
|
14
|
+
program_desc ''
|
15
|
+
|
16
|
+
version Crystalline::VERSION
|
17
|
+
|
18
|
+
generator_command Crystalline::Generators::Readme
|
19
|
+
generator_command Crystalline::Generators::SpecHelper
|
20
|
+
generator_command Crystalline::Generators::Rakefile
|
21
|
+
|
22
|
+
exit run(ARGV)
|
data/crystalline.gemspec
CHANGED
@@ -25,6 +25,9 @@ Gem::Specification.new do |gem|
|
|
25
25
|
|
26
26
|
gem.add_dependency "rake"
|
27
27
|
|
28
|
+
gem.add_dependency 'gli'
|
29
|
+
gem.add_dependency 'tilt'
|
30
|
+
|
28
31
|
gem.files = `git ls-files`.split($/)
|
29
32
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
30
33
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
data/lib/crystalline.rb
CHANGED
@@ -0,0 +1,49 @@
|
|
1
|
+
module Crystalline
|
2
|
+
module Generators
|
3
|
+
class Generator
|
4
|
+
def self.generate!(user, name)
|
5
|
+
new(user, name).generate!
|
6
|
+
end
|
7
|
+
|
8
|
+
def initialize(user, name)
|
9
|
+
@user = user
|
10
|
+
@name = name
|
11
|
+
end
|
12
|
+
|
13
|
+
def template
|
14
|
+
@template ||= Tilt.new path
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.generate!(user, name)
|
18
|
+
new(user, name).generate!
|
19
|
+
end
|
20
|
+
|
21
|
+
def generate!
|
22
|
+
template.render self
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.template_name
|
26
|
+
"#{file_name}.erb"
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.prefix
|
30
|
+
''
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.hidden?
|
34
|
+
false
|
35
|
+
end
|
36
|
+
|
37
|
+
def path
|
38
|
+
File.expand_path(
|
39
|
+
File.join(
|
40
|
+
File.dirname(File.expand_path(__FILE__)),
|
41
|
+
'..',
|
42
|
+
'templates',
|
43
|
+
self.class.template_name
|
44
|
+
)
|
45
|
+
)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Crystalline
|
2
|
+
module Generators
|
3
|
+
class Readme < Generator
|
4
|
+
def self.file_name
|
5
|
+
'README.md'
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.command_name
|
9
|
+
:readme
|
10
|
+
end
|
11
|
+
|
12
|
+
def build_status_badge
|
13
|
+
"[](http://travis-ci.org/#{@user}/#{@name})"
|
14
|
+
end
|
15
|
+
|
16
|
+
def code_climate_badge
|
17
|
+
"[](https://codeclimate.com/github/#{@user}/#{@name})"
|
18
|
+
end
|
19
|
+
|
20
|
+
def coverage_status_badge
|
21
|
+
"[](https://coveralls.io/r/#{@user}/#{@name})"
|
22
|
+
end
|
23
|
+
|
24
|
+
def gem_version_badge
|
25
|
+
"[](http://badge.fury.io/rb/#{@name})"
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
def generator_command(klass)
|
2
|
+
desc "Generate a #{klass.file_name} for the current app"
|
3
|
+
command klass.command_name do |c|
|
4
|
+
c.action do |global, options, args|
|
5
|
+
gem_name = File.basename(File.expand_path('.'))
|
6
|
+
user = ENV['USER']
|
7
|
+
|
8
|
+
file_name = if klass.hidden? then ".#{klass.file_name}" else klass.file_name end
|
9
|
+
file_path = File.join('./', klass.prefix, file_name)
|
10
|
+
|
11
|
+
if File.exists?(file_path)
|
12
|
+
puts klass.generate!(user, gem_name)
|
13
|
+
else
|
14
|
+
File.open(file_path, 'w') do |f|
|
15
|
+
f.puts klass.generate!(user, gem_name)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# <%= @name %> <%= gem_version_badge %><%= build_status_badge %><%= code_climate_badge %><%= coverage_status_badge %>
|
2
|
+
|
3
|
+
## Installation
|
4
|
+
|
5
|
+
Add this line to your application's Gemfile:
|
6
|
+
|
7
|
+
gem '<%= @name %>'
|
8
|
+
|
9
|
+
And then execute:
|
10
|
+
|
11
|
+
$ bundle
|
12
|
+
|
13
|
+
Or install it yourself as:
|
14
|
+
|
15
|
+
$ gem install <%= @name %>
|
16
|
+
|
17
|
+
## Contributing
|
18
|
+
|
19
|
+
1. Fork it
|
20
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
21
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
22
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
23
|
+
5. Create new Pull Request
|
data/lib/crystalline/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crystalline
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-04-
|
12
|
+
date: 2013-04-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
@@ -139,23 +139,65 @@ dependencies:
|
|
139
139
|
- - ! '>='
|
140
140
|
- !ruby/object:Gem::Version
|
141
141
|
version: '0'
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: gli
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ! '>='
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '0'
|
150
|
+
type: :runtime
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0'
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: tilt
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ! '>='
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0'
|
166
|
+
type: :runtime
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
142
174
|
description: A tool which installs common Rake tasks, Gem dependencies, and RSpec
|
143
175
|
Helpers used in my gems.
|
144
176
|
email:
|
145
177
|
- jfredett@gmail.com
|
146
|
-
executables:
|
178
|
+
executables:
|
179
|
+
- crystallize
|
147
180
|
extensions: []
|
148
181
|
extra_rdoc_files: []
|
149
182
|
files:
|
150
183
|
- .gitignore
|
184
|
+
- .travis.yml
|
151
185
|
- CHANGELOG
|
152
186
|
- Gemfile
|
153
187
|
- LICENSE.txt
|
154
188
|
- README.md
|
155
189
|
- Rakefile
|
190
|
+
- bin/crystallize
|
156
191
|
- crystalline.gemspec
|
157
192
|
- lib/.rvmrc
|
158
193
|
- lib/crystalline.rb
|
194
|
+
- lib/crystalline/generators.rb
|
195
|
+
- lib/crystalline/generators/generator.rb
|
196
|
+
- lib/crystalline/generators/rakefile.rb
|
197
|
+
- lib/crystalline/generators/readme.rb
|
198
|
+
- lib/crystalline/generators/spec_helper.rb
|
199
|
+
- lib/crystalline/generators/travis.rb
|
200
|
+
- lib/crystalline/gli_helpers.rb
|
159
201
|
- lib/crystalline/rake.rb
|
160
202
|
- lib/crystalline/rake/flay.rb
|
161
203
|
- lib/crystalline/rake/flog.rb
|
@@ -165,6 +207,10 @@ files:
|
|
165
207
|
- lib/crystalline/spec/macros.rb
|
166
208
|
- lib/crystalline/spec/mock.rb
|
167
209
|
- lib/crystalline/spec/rspec.rb
|
210
|
+
- lib/crystalline/templates/README.md.erb
|
211
|
+
- lib/crystalline/templates/Rakefile.erb
|
212
|
+
- lib/crystalline/templates/spec_helper.rb.erb
|
213
|
+
- lib/crystalline/templates/travis.yml.erb
|
168
214
|
- lib/crystalline/version.rb
|
169
215
|
homepage: ''
|
170
216
|
licenses: []
|
@@ -180,7 +226,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
180
226
|
version: '0'
|
181
227
|
segments:
|
182
228
|
- 0
|
183
|
-
hash:
|
229
|
+
hash: 692393435356578607
|
184
230
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
185
231
|
none: false
|
186
232
|
requirements:
|
@@ -189,7 +235,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
189
235
|
version: '0'
|
190
236
|
segments:
|
191
237
|
- 0
|
192
|
-
hash:
|
238
|
+
hash: 692393435356578607
|
193
239
|
requirements: []
|
194
240
|
rubyforge_project:
|
195
241
|
rubygems_version: 1.8.24
|