arigato 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/.document ADDED
@@ -0,0 +1,3 @@
1
+ -
2
+ ChangeLog.rdoc
3
+ LICENSE.txt
data/.gitignore ADDED
@@ -0,0 +1,10 @@
1
+ Gemfile.lock
2
+ doc/
3
+ pkg/
4
+ vendor/cache/*.gem
5
+ coverage/
6
+ thanks/
7
+ .DS_Store
8
+ *~
9
+ .*.sw*
10
+
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --colour --format documentation
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - "1.9.3"
4
+ script: bundle exec rake --trace spec
data/.yardopts ADDED
@@ -0,0 +1 @@
1
+ --markup rdoc --title "arigato Documentation" --protected
data/ChangeLog.rdoc ADDED
@@ -0,0 +1,4 @@
1
+ === 0.1.0 / 2013-03-25
2
+
3
+ * Initial release:
4
+
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ # The source :rubygems is deprecated because HTTP requests are insecure.
2
+ # Please change your source to 'https://rubygems.org' if possible, or 'http://rubygems.org' if not.
3
+ #source :rubygems
4
+ source 'http://rubygems.org'
5
+
6
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2013 tnantoka
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,42 @@
1
+ = Arigato
2
+
3
+ {<img src="https://travis-ci.org/tnantoka/arigato.png?branch=master" alt="Build Status" />}[https://travis-ci.org/tnantoka/arigato]
4
+ {<img src="https://coveralls.io/repos/tnantoka/arigato/badge.png?branch=master" alt="Coverage Status" />}[https://coveralls.io/r/tnantoka/arigato]
5
+ {<img src="https://gemnasium.com/tnantoka/konnyaku.png" alt="Dependency Status" />}[https://gemnasium.com/tnantoka/konnyaku]
6
+ {<img src="https://codeclimate.com/github/tnantoka/arigato.png" alt="Code Climate" />}[https://codeclimate.com/github/tnantoka/arigato]
7
+ {<img src="http://api.coderwall.com/tnantoka/endorsecount.png" alt="endorse" />}[http://coderwall.com/tnantoka]
8
+
9
+ * {Homepage}[https://github.com/tnantoka/arigato#readme]
10
+ * {Issues}[https://github.com/tnantoka/arigato/issues]
11
+ * {Documentation}[http://rubydoc.info/gems/arigato/frames]
12
+ * {Email}[mailto:bornneet at livedoor.com]
13
+
14
+ == Description
15
+
16
+ Special Thanks Page Generator
17
+
18
+ == Features
19
+
20
+ Generate HTML or JSON, YAML, CSV form your Gemfile
21
+
22
+ == Examples
23
+
24
+ $ cd path/to/your_project
25
+ $ bundle
26
+ $ thanks g bootstrap
27
+ create thanks
28
+ create thanks/index.html
29
+
30
+ == Requirements
31
+
32
+ Ruby 1.9+
33
+
34
+ == Install
35
+
36
+ $ gem install arigato
37
+
38
+ == Copyright
39
+
40
+ Copyright (c) 2013 tnantoka
41
+
42
+ See LICENSE.txt for details.
data/Rakefile ADDED
@@ -0,0 +1,34 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+
5
+ begin
6
+ require 'bundler'
7
+ rescue LoadError => e
8
+ warn e.message
9
+ warn "Run `gem install bundler` to install Bundler."
10
+ exit -1
11
+ end
12
+
13
+ begin
14
+ Bundler.setup(:development)
15
+ rescue Bundler::BundlerError => e
16
+ warn e.message
17
+ warn "Run `bundle install` to install missing gems."
18
+ exit e.status_code
19
+ end
20
+
21
+ require 'rake'
22
+
23
+ require 'rubygems/tasks'
24
+ Gem::Tasks.new
25
+
26
+ require 'rspec/core/rake_task'
27
+ RSpec::Core::RakeTask.new
28
+
29
+ task :test => :spec
30
+ task :default => :spec
31
+
32
+ require 'yard'
33
+ YARD::Rake::YardocTask.new
34
+ task :doc => :yard
data/arigato.gemspec ADDED
@@ -0,0 +1,30 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ require File.expand_path('../lib/arigato/version', __FILE__)
4
+
5
+ Gem::Specification.new do |gem|
6
+ gem.name = "arigato"
7
+ gem.version = Arigato::VERSION
8
+ gem.summary = 'Special thanks page generator'
9
+ gem.description = 'Generate HTML or JSON, YAML, CSV form your Gemfile'
10
+ gem.license = "MIT"
11
+ gem.authors = ["tnantoka"]
12
+ gem.email = "bornneet@livedoor.com"
13
+ gem.homepage = "https://github.com/tnantoka/arigato#readme"
14
+
15
+ gem.files = `git ls-files`.split($/)
16
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
+ gem.require_paths = ['lib']
19
+
20
+ gem.add_development_dependency 'bundler', '~> 1.3.2'
21
+ gem.add_development_dependency 'rake', '~> 0.8'
22
+ gem.add_development_dependency 'rspec', '~> 2.4'
23
+ gem.add_development_dependency 'rubygems-tasks', '~> 0.2'
24
+ gem.add_development_dependency 'yard', '~> 0.8'
25
+ gem.add_development_dependency 'simplecov'
26
+ gem.add_development_dependency 'coveralls'
27
+
28
+ gem.add_dependency 'thor', '~> 0.17.0'
29
+ gem.add_dependency 'bundler', '~> 1.3.2'
30
+ end
data/bin/thanks ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'arigato'
4
+
5
+ Arigato::CLI.start
@@ -0,0 +1,58 @@
1
+ require 'arigato/version'
2
+
3
+ require 'thor'
4
+ require 'bundler'
5
+ require 'json'
6
+ require 'yaml'
7
+ require 'csv'
8
+
9
+ module Arigato
10
+ class CLI < Thor
11
+ include Thor::Actions
12
+
13
+ HTML_DIR = 'thanks'
14
+ HTML_FILE = File.join(HTML_DIR, 'index.html')
15
+
16
+ map 'g' => :generate
17
+
18
+ map '--version' => :version
19
+ map '-v' => :version
20
+
21
+ desc 'generate [THEME] [options]', 'Generate HTML from Gemfile'
22
+ option :file, aliases: '-f', desc: 'Path to Gemfile', default: './Gemfile'
23
+ def generate(theme = 'default')
24
+ empty_directory(HTML_DIR)
25
+ gemfile = options[:file]
26
+ view = View.new(theme, gemfile)
27
+ create_file(HTML_FILE, view.render)
28
+ end
29
+
30
+ desc '-v, [--version]', 'Prints the version'
31
+ def version
32
+ say "Arigato #{Arigato::VERSION}"
33
+ end
34
+
35
+ desc 'themes', 'Shows all themes'
36
+ def themes
37
+ puts Dir::entries(Arigato.themes_dir).reject { |e| e =~ /^\./ }
38
+ end
39
+
40
+ desc 'json [FILE]', 'Displays thanks as JSON'
41
+ def json(file = './Gemfile')
42
+ say JSON.pretty_generate(Arigato.specs_array(file))
43
+ end
44
+
45
+ desc 'yaml [FILE]', 'Displays thanks as YAML'
46
+ def yaml(file = './Gemfile')
47
+ say Arigato.specs_hash(file).to_yaml
48
+ end
49
+
50
+ desc 'csv [FILE]', 'Displays thanks as CSV'
51
+ def csv(file = './Gemfile')
52
+ Arigato.specs_array(file, false).each do |spec|
53
+ say spec.values.to_csv
54
+ end
55
+ end
56
+
57
+ end
58
+ end
@@ -0,0 +1,18 @@
1
+ <div class="page-header">
2
+ <h1><%= @title %></h1>
3
+ </div>
4
+
5
+ <table class="table table-condensed table-striped table-hover">
6
+ <%- @specs.each do |spec| -%>
7
+ <tr>
8
+ <td><%= link_to spec.name, spec.homepage %></td>
9
+ <td><%= author(spec) %></td>
10
+ </tr>
11
+ <%- end -%>
12
+ </table>
13
+
14
+ <hr />
15
+
16
+ </p>
17
+ <a href="/" class="btn">Back to Home</a>
18
+ </p>
@@ -0,0 +1,18 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <title><%= @title %></title>
6
+ <link href="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css" rel="stylesheet">
7
+ <link href="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-responsive.min.css" rel="stylesheet">
8
+ </head>
9
+ <body>
10
+
11
+ <div class="container">
12
+ <%= content -%>
13
+ </div>
14
+
15
+ <script src="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>
16
+
17
+ </body>
18
+ </html>
@@ -0,0 +1,16 @@
1
+ <h1><%= @title %></h1>
2
+
3
+ <table>
4
+ <%- @specs.each do |spec| -%>
5
+ <tr>
6
+ <td><%= link_to spec.name, spec.homepage %></td>
7
+ <td><%= author(spec) %></td>
8
+ </tr>
9
+ <%- end -%>
10
+ </table>
11
+
12
+ <hr />
13
+
14
+ </p>
15
+ <a href="/">Back to Home</a>
16
+ </p>
@@ -0,0 +1,12 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <title><%= @title %></title>
6
+ </head>
7
+ <body>
8
+
9
+ <%= content -%>
10
+
11
+ </body>
12
+ </html>
@@ -0,0 +1,4 @@
1
+ module Arigato
2
+ # arigato version
3
+ VERSION = "0.1.0"
4
+ end
@@ -0,0 +1,73 @@
1
+ require 'arigato/version'
2
+
3
+ module Arigato
4
+ class View
5
+
6
+ attr_accessor :theme, :layout, :gemfile, :title
7
+
8
+ def initialize(theme, gemfile = './Gemfile', layout = true)
9
+ @theme = theme
10
+ @specs = Arigato.specs(gemfile)
11
+ @layout = layout
12
+ @title = 'Special Thanks'
13
+ end
14
+
15
+ def render
16
+ @layout ? render_with_layout : render_without_layout
17
+ end
18
+
19
+ def render_without_layout
20
+ content
21
+ end
22
+
23
+ def render_with_layout
24
+ layout
25
+ end
26
+
27
+ def content
28
+ erb(content_file).result(binding)
29
+ end
30
+
31
+ def layout
32
+ erb(layout_file).result(binding)
33
+ end
34
+
35
+ def erb(path)
36
+ erb = ERB.new(File.read(path), nil, '-')
37
+ erb.filename = path
38
+ erb
39
+ end
40
+
41
+ def theme_dir
42
+ Pathname.new(File.join(Arigato.themes_dir, theme))
43
+ end
44
+
45
+ def content_file
46
+ file('content')
47
+ end
48
+
49
+ def layout_file
50
+ file('layout')
51
+ end
52
+
53
+ def link_to(label, href, target = '_blank')
54
+ if href
55
+ %!<a href="#{href}" target="#{target}">#{label}</a>!
56
+ else
57
+ label
58
+ end
59
+ end
60
+
61
+ def author(spec)
62
+ spec.author ? "by #{spec.author}" : ''
63
+ end
64
+
65
+ private
66
+
67
+ def file(name)
68
+ File.join(theme_dir, "#{name}.html.erb")
69
+ end
70
+
71
+ end
72
+ end
73
+
data/lib/arigato.rb ADDED
@@ -0,0 +1,53 @@
1
+ require 'arigato/version'
2
+ require 'arigato/cli'
3
+ require 'arigato/view'
4
+
5
+ module Arigato
6
+ class << self
7
+ def themes_dir
8
+ Pathname.new(File.join(File.dirname(__FILE__), 'arigato', 'themes'))
9
+ end
10
+
11
+ def specs(file)
12
+ path = Pathname.new(file)
13
+ dsl = Bundler::Dsl.new
14
+ dsl.eval_gemfile(file)
15
+ specs = dsl.to_definition(nil, {}).specs.to_a
16
+
17
+ specs.unshift(self.spec('Ruby', 'http://www.ruby-lang.org/', 'Yukihiro Matsumoto'))
18
+
19
+ specs.reject { |spec| spec.name == 'arigato' }
20
+ end
21
+
22
+ def specs_array(file, labeld = true)
23
+ specs(file).map do |spec|
24
+ {
25
+ name: spec.name,
26
+ homepage: spec.homepage,
27
+ author: spec.author
28
+ }
29
+ end
30
+ end
31
+
32
+ def specs_hash(file)
33
+ hash = {}
34
+ specs(file).each do |spec|
35
+ hash[spec.name] = {
36
+ homepage: spec.homepage,
37
+ author: spec.author
38
+ }
39
+ end
40
+ hash
41
+ end
42
+
43
+ def spec(name, homepage, author)
44
+ Gem::Specification.new do |gem|
45
+ gem.name = name
46
+ gem.authors = [author]
47
+ gem.homepage = homepage
48
+ end
49
+ end
50
+
51
+ end
52
+ end
53
+
@@ -0,0 +1,8 @@
1
+ require 'spec_helper'
2
+ require 'arigato'
3
+
4
+ describe Arigato do
5
+ it 'should have a VERSION constant' do
6
+ subject.const_get('VERSION').should_not be_empty
7
+ end
8
+ end
data/spec/cli_spec.rb ADDED
@@ -0,0 +1,101 @@
1
+ require 'spec_helper'
2
+ require 'arigato'
3
+
4
+ module Arigato
5
+
6
+ describe CLI do
7
+ subject do
8
+ CLI.new
9
+ end
10
+
11
+ describe '#version' do
12
+ it 'displays version' do
13
+ expect(capture(:stdout) { subject.invoke(:version) }.strip).to match(VERSION)
14
+ end
15
+ end
16
+
17
+ describe '#themes' do
18
+ it 'displays all themes' do
19
+ themes = capture(:stdout) { subject.invoke(:themes) }.strip
20
+ %w(default bootstrap).each do |theme|
21
+ expect(themes).to match(theme)
22
+ end
23
+ end
24
+ end
25
+
26
+ describe '#json' do
27
+ it 'displays specs as JSON' do
28
+ json = capture(:stdout) { subject.invoke(:json) }.strip
29
+ ['"name": "bundler",', '"name": "thor",'].each do |name|
30
+ expect(json).to match(name)
31
+ end
32
+ end
33
+ end
34
+
35
+ describe '#yaml' do
36
+ it 'displays specs as YAML' do
37
+ yaml = capture(:stdout) { subject.invoke(:yaml) }.strip
38
+ ['bundler:', 'thor:'].each do |name|
39
+ expect(yaml).to match(name)
40
+ end
41
+ end
42
+ end
43
+
44
+ describe '#csv' do
45
+ it 'displays specs as CSV' do
46
+ yaml = capture(:stdout) { subject.invoke(:csv) }.strip
47
+ ['bundler,', 'thor,'].each do |name|
48
+ expect(yaml).to match(name)
49
+ end
50
+ end
51
+ end
52
+
53
+ describe '#generate' do
54
+ before(:each) do
55
+ FileUtils.rm_rf(CLI::HTML_DIR) if File.exists?(CLI::HTML_DIR)
56
+ end
57
+
58
+ context 'when theme is default' do
59
+ before(:each) do
60
+ subject.invoke(:generate, nil, file: 'Gemfile')
61
+ end
62
+ it 'makes thanks directory' do
63
+ expect(File.exists?(CLI::HTML_DIR)).to be
64
+ end
65
+ it 'creates HTML file' do
66
+ expect(File.exists?(CLI::HTML_FILE)).to be
67
+ end
68
+ it 'generate HTML with specs' do
69
+ %w(thor bundler).each do |name|
70
+ expect(File.read(CLI::HTML_FILE)).to match(name)
71
+ end
72
+ end
73
+ end
74
+
75
+ context 'when theme is bootstrap' do
76
+ before(:each) do
77
+ subject.invoke(:generate, ['bootstrap'], file: 'Gemfile')
78
+ end
79
+ it 'generate HTML with bootstrap' do
80
+ expect(File.read(CLI::HTML_FILE)).to match('bootstrap')
81
+ end
82
+ end
83
+ end
84
+
85
+ end
86
+
87
+ # https://github.com/wycats/thor/blob/master/spec/helper.rb
88
+ def capture(stream)
89
+ begin
90
+ stream = stream.to_s
91
+ eval "$#{stream} = StringIO.new"
92
+ yield
93
+ result = eval("$#{stream}").string
94
+ ensure
95
+ eval("$#{stream} = #{stream.upcase}")
96
+ end
97
+
98
+ result
99
+ end
100
+
101
+ end
@@ -0,0 +1,14 @@
1
+ require 'rspec'
2
+ require 'arigato/version'
3
+
4
+ require 'simplecov'
5
+ require 'coveralls'
6
+ Coveralls.wear!
7
+
8
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
9
+ SimpleCov::Formatter::HTMLFormatter,
10
+ Coveralls::SimpleCov::Formatter
11
+ ]
12
+ SimpleCov.start
13
+
14
+ include Arigato
data/spec/view_spec.rb ADDED
@@ -0,0 +1,63 @@
1
+ require 'spec_helper'
2
+ require 'arigato'
3
+
4
+ module Arigato
5
+
6
+ describe View do
7
+
8
+ context 'when @layout is true' do
9
+ subject do
10
+ View.new('default')
11
+ end
12
+ describe '#render' do
13
+ it 'returns themed HTML with layout' do
14
+ expect(subject.render).to match('<!doctype html>')
15
+ end
16
+ it 'contains specs name' do
17
+ %w(thor bundler).each do |name|
18
+ expect(subject.render).to match(name)
19
+ end
20
+ end
21
+ it 'contains specs homepage' do
22
+ %w(http://gembundler.com http://whatisthor.com/).each do |homepage|
23
+ expect(subject.render).to match(homepage)
24
+ end
25
+ end
26
+ it 'contains specs author' do
27
+ %w(Arko Yehuda Katz).each do |author|
28
+ expect(subject.render).to match(author)
29
+ end
30
+ end
31
+ end
32
+ end
33
+
34
+ context 'when @layout is false' do
35
+ subject do
36
+ View.new('bootstrap', 'Gemfile', false)
37
+ end
38
+ describe '#render' do
39
+ it 'returns themed HTML without layout' do
40
+ expect(subject.render).to_not match('<!doctype html>')
41
+ end
42
+ it 'contains specs name' do
43
+ %w(thor bundler).each do |name|
44
+ expect(subject.render).to match(name)
45
+ end
46
+ end
47
+ it 'contains specs homepage' do
48
+ %w(http://gembundler.com http://whatisthor.com/).each do |homepage|
49
+ expect(subject.render).to match(homepage)
50
+ end
51
+ end
52
+ it 'contains specs author' do
53
+ %w(Arko Yehuda Katz).each do |author|
54
+ expect(subject.render).to match(author)
55
+ end
56
+ end
57
+ end
58
+ end
59
+
60
+ end
61
+
62
+ end
63
+
metadata ADDED
@@ -0,0 +1,224 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: arigato
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - tnantoka
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-03-27 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 1.3.2
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 1.3.2
30
+ - !ruby/object:Gem::Dependency
31
+ name: rake
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '0.8'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '0.8'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: '2.4'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '2.4'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rubygems-tasks
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: '0.2'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '0.2'
78
+ - !ruby/object:Gem::Dependency
79
+ name: yard
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: '0.8'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: '0.8'
94
+ - !ruby/object:Gem::Dependency
95
+ name: simplecov
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: coveralls
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: thor
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ version: 0.17.0
134
+ type: :runtime
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: 0.17.0
142
+ - !ruby/object:Gem::Dependency
143
+ name: bundler
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ~>
148
+ - !ruby/object:Gem::Version
149
+ version: 1.3.2
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: 1.3.2
158
+ description: Generate HTML or JSON, YAML, CSV form your Gemfile
159
+ email: bornneet@livedoor.com
160
+ executables:
161
+ - thanks
162
+ extensions: []
163
+ extra_rdoc_files: []
164
+ files:
165
+ - .document
166
+ - .gitignore
167
+ - .rspec
168
+ - .travis.yml
169
+ - .yardopts
170
+ - ChangeLog.rdoc
171
+ - Gemfile
172
+ - LICENSE.txt
173
+ - README.rdoc
174
+ - Rakefile
175
+ - arigato.gemspec
176
+ - bin/thanks
177
+ - lib/arigato.rb
178
+ - lib/arigato/cli.rb
179
+ - lib/arigato/themes/bootstrap/content.html.erb
180
+ - lib/arigato/themes/bootstrap/layout.html.erb
181
+ - lib/arigato/themes/default/content.html.erb
182
+ - lib/arigato/themes/default/layout.html.erb
183
+ - lib/arigato/version.rb
184
+ - lib/arigato/view.rb
185
+ - spec/arigato_spec.rb
186
+ - spec/cli_spec.rb
187
+ - spec/spec_helper.rb
188
+ - spec/view_spec.rb
189
+ homepage: https://github.com/tnantoka/arigato#readme
190
+ licenses:
191
+ - MIT
192
+ post_install_message:
193
+ rdoc_options: []
194
+ require_paths:
195
+ - lib
196
+ required_ruby_version: !ruby/object:Gem::Requirement
197
+ none: false
198
+ requirements:
199
+ - - ! '>='
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ segments:
203
+ - 0
204
+ hash: -3883293297200897022
205
+ required_rubygems_version: !ruby/object:Gem::Requirement
206
+ none: false
207
+ requirements:
208
+ - - ! '>='
209
+ - !ruby/object:Gem::Version
210
+ version: '0'
211
+ segments:
212
+ - 0
213
+ hash: -3883293297200897022
214
+ requirements: []
215
+ rubyforge_project:
216
+ rubygems_version: 1.8.25
217
+ signing_key:
218
+ specification_version: 3
219
+ summary: Special thanks page generator
220
+ test_files:
221
+ - spec/arigato_spec.rb
222
+ - spec/cli_spec.rb
223
+ - spec/spec_helper.rb
224
+ - spec/view_spec.rb