Class: Ruboty::Gen::Article

Inherits:
Object
  • Object
show all
Defined in:
lib/ruboty/gen/article.rb

Overview

Article

Constant Summary collapse

RUBOTY_MEGEN_FILE =
'Rubotyariticle'
RUBOTY_MEGEN_TEMPLATE =
<<-EOS
# encoding: utf-8

# user_name(github user name)
# user_name is required
# user_name allow only String
# user_name's default value => "user_name"
user_name "user_name"

# gem_name
# gem_name is required
# gem_name allow only String
# gem_name's default value => "your_gem_name"
# ex: sample_gem (not ruboty-sample_gem)
gem_name "your_gem_name"

# title
# title is required
# title allow only String
# title's default value => "title"
# ex: チャットを空メッセージ or 任意のメッセージで埋める ruboty-ume を作成しました
title "title"

# purpose
# purpose is required
# purpose allow only String
# purpose's default value => "purpose"
# ex: ruboty google_image で妙な画像を引き当ててしまった。
# ex: そんなときに限って、偉い人が近づいてくる。
# ex: 急いでチャット画面から画像を追い出すんだ。
# ex:
# ex: 内緒のメッセージのやりとり。
# ex: そんなときに限って、内緒のやりとりがばれるとまずい相手が近づいてくる。
# ex: 急いでチャット画面から画像を追い出すんだ。
# ex:
# ex: そんな時に空行を大量に追加してメッセージを画面外に追い出します。
purpose <<-PURPOSE
plugin の用途を詳細に記述
PURPOSE

# you can set multiple ENV variables
env do |e|
  # name
  # name allow only String
  # name's default value => ""
  e.name "environment variable name"

  # description
  # description allow only String
  # description's default value => ""
  e.description ""
end

# you can set multiple dependencies
dependency do |d|
  # name
  # name allow only String
  # name's default value => ""
  d.name ""

  # description
  # description allow only String
  # description's default value => ""
  d.description ""
end

# you can set multiple commands
command do |c|
  # name
  # name allow only String
  c.name ""

  # pattern
  # pattern allow only String
  c.pattern ""

  # description
  # description allow only String
  c.description ""

  # example
  # example allow only String
  c.example ""
end
EOS
RUBOTY_ARTICLE_TEMPLATE =
<<-EOS
# <%=title%> #ruboty

## <i class="fa fa-cubes" style="font-size:1em;"></i> 概要
<%=title%>

## <i class="fa fa-cube" style="font-size:1em;"></i> 用途
<%=purpose%>
## <i class="fa fa-cube" style="font-size:1em;"></i> Installation

Add this line to your application's Gemfile:

```ruby
gem 'ruboty-<%=gem_name%>'
```

And then execute:

    $ bundle

## <i class="fa fa-terminal" style="font-size:1em;"></i> Commands

|Command|Pattern|Description|
|:--|:--|:--|
<%=command_table%>

## <i class="fa fa-file-text-o" style="font-size:1em;"></i> Usage
<%=usages%>

## <i class="fa fa-gears" style="font-size:1em;"></i> ENV

|Name|Description|
|:--|:--|
<%=env_table%>

## <i class="fa fa-puzzle-piece" style="font-size:1em;"></i> Dependency

|Name|Description|
|:--|:--|
<%=dependency_table%>

## <i class="fa fa-arrow-circle-right" style="font-size:1em;"></i> 参照
* <i class="fa fa-external-link" style="font-size:1em;"></i> [ruboty-<%=gem_name%> GitHub](https://github.com/<%=user_name%>/ruboty-<%=gem_name%>)
* <i class="fa fa-external-link" style="font-size:1em;"></i> [ruboty-<%=gem_name%> RubyGems](http://rubygems.org/gems/ruboty-<%=gem_name%>)
EOS

Class Method Summary collapse

Class Method Details

.generateObject

generate ruboty Article Markdown template.



150
151
152
153
154
155
156
157
158
# File 'lib/ruboty/gen/article.rb', line 150

def self.generate
  src = read_dsl
  dsl = Ruboty::Dsl.new
  dsl.instance_eval src
  src = apply(dsl.ruboty_articlegen)
  File.open("ruboty-#{dsl.ruboty_articlegen.gem_name}.md", 'w:utf-8') do |file|
    file.puts src
  end
end

.initObject

generate Rubotyarticlegenfile to current directory.



143
144
145
146
147
# File 'lib/ruboty/gen/article.rb', line 143

def self.init
  File.open(RUBOTY_MEGEN_FILE, 'w') do |f|
    f.puts RUBOTY_MEGEN_TEMPLATE
  end
end