furikake 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +31 -2
- data/lib/furikake/config.rb +10 -1
- data/lib/furikake/resource.rb +42 -6
- data/lib/furikake/setup.rb +53 -1
- data/lib/furikake/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ce60a7c44eb3ad74187dcba6f5f774088b871d7322754e228783adcf18e987ad
|
4
|
+
data.tar.gz: beae7b1859b739092d464d876c05fd180e160d0727bf348a758bf9174a9fd6b9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a7dcc762d3dee0acd881c952c70c0453fc1fef651a94ccd5300141dc441125fd768593a75b8b0942782563dfd1813ae3bc993f2f96bd9bb3ecee7a68a546355
|
7
|
+
data.tar.gz: 8bd4226cdb20aeb9dcef8525565f2553bc3919d72973909932e7855230ee3d10e2a38fa8d58342ffe9d89100e5b2f6ee3a53e1073c17698251841d0c1eeac0ac
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -99,9 +99,38 @@ bundle exec furikake publish
|
|
99
99
|
|
100
100
|
## Tips
|
101
101
|
|
102
|
-
###
|
102
|
+
### 検索対象リソース追加 (addons ディレクトリ)
|
103
103
|
|
104
|
-
|
104
|
+
furikake コマンドを実行するカレントディレクトリに `addons` ディレクトリを作成し, 以下のようなコードを指定されたファイル名で作成することで, 検索対象リソースに追加することが可能です. (`setup` コマンドで自動的に生成することも可能です.)
|
105
|
+
|
106
|
+
```ruby
|
107
|
+
module Furikake::Resources
|
108
|
+
module Addons
|
109
|
+
class Example
|
110
|
+
def self.report(format = nil)
|
111
|
+
values = [['value1', 'value2'], ['value3', 'value4']]
|
112
|
+
contents = {
|
113
|
+
title: 'Example',
|
114
|
+
resources: [
|
115
|
+
{
|
116
|
+
subtitle: '',
|
117
|
+
header: ['Title1', 'Title2'],
|
118
|
+
resource: values
|
119
|
+
}
|
120
|
+
]
|
121
|
+
}
|
122
|
+
Furikake::Formatter.shaping(format, contents)
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
```
|
128
|
+
|
129
|
+
このスクリプトを `addons/furikake-resource-addon-${downcase_class_name}.rb` というファイル名で保存する必要があります.
|
130
|
+
|
131
|
+
### 検索対象リソース追加
|
132
|
+
|
133
|
+
`lib/furikake/resources/` 以下に任意のファイル名でコードを追加することで, ドキュメント化する対象のリソースを追加することが可能です.
|
105
134
|
|
106
135
|
```ruby
|
107
136
|
module Furikake
|
data/lib/furikake/config.rb
CHANGED
@@ -1,7 +1,16 @@
|
|
1
1
|
module Furikake
|
2
2
|
module Config
|
3
3
|
def read_furikake_yaml
|
4
|
-
open('.furikake.yml', 'r') { |f| YAML.load(f) }
|
4
|
+
# open('.furikake.yml', 'r') { |f| YAML.load(f) }
|
5
|
+
begin
|
6
|
+
YAML.load_file('.furikake.yml')
|
7
|
+
rescue Errno::ENOENT
|
8
|
+
puts '.furikake.yml が存在していません.'
|
9
|
+
exit 1
|
10
|
+
rescue => ex
|
11
|
+
puts '.furikake.yml の読み込みに失敗しました. ' + ex.message
|
12
|
+
exit 1
|
13
|
+
end
|
5
14
|
end
|
6
15
|
end
|
7
16
|
end
|
data/lib/furikake/resource.rb
CHANGED
@@ -10,9 +10,15 @@ module Furikake
|
|
10
10
|
eval "documents.concat(Furikake::Resources::Addons::#{type_name.camelize}.report)"
|
11
11
|
documents.concat("\n\n")
|
12
12
|
else
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
begin
|
14
|
+
require "furikake/resources/#{type}"
|
15
|
+
eval "documents.concat(Furikake::Resources::#{type.camelize}.report)"
|
16
|
+
documents.concat("\n\n")
|
17
|
+
rescue LoadError
|
18
|
+
puts "リソースタイプ: #{type} を読み込めませんでした."
|
19
|
+
rescue
|
20
|
+
puts "リソースタイプ: #{type} の情報を取得出来ませんでした."
|
21
|
+
end
|
16
22
|
end
|
17
23
|
end
|
18
24
|
documents
|
@@ -20,14 +26,44 @@ module Furikake
|
|
20
26
|
|
21
27
|
def self.load_resource_type
|
22
28
|
type = []
|
29
|
+
config_defined_resources = load_config_resource_type
|
30
|
+
default_resources = load_default_resource_type
|
31
|
+
if default_resources == config_defined_resources
|
32
|
+
type.push(default_resources)
|
33
|
+
else
|
34
|
+
type.push(config_defined_resources)
|
35
|
+
end
|
36
|
+
type.push(load_addons_resource_type)
|
37
|
+
type.flatten
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.load_default_resource_type
|
41
|
+
default_resource_type = []
|
23
42
|
Dir.glob(File.dirname(__FILE__) + '/resources/*').each do |r|
|
24
|
-
|
43
|
+
default_resource_type << File.basename(r, '.rb') unless r.include?('stub')
|
25
44
|
end
|
45
|
+
default_resource_type.sort
|
46
|
+
end
|
26
47
|
|
48
|
+
def self.load_addons_resource_type
|
49
|
+
addons_resource_type = []
|
27
50
|
Dir.glob(Dir.pwd + '/addons/furikake-resource-addon-*').each do |r|
|
28
|
-
|
51
|
+
addons_resource_type << File.basename(r, '.rb')
|
52
|
+
end
|
53
|
+
addons_resource_type.sort
|
54
|
+
end
|
55
|
+
|
56
|
+
def self.load_config_resource_type(path = nil)
|
57
|
+
path = '.furikake.yml' if path.nil?
|
58
|
+
begin
|
59
|
+
config = YAML.load_file(path)
|
60
|
+
config['resources']['aws'].sort
|
61
|
+
rescue Errno::ENOENT
|
62
|
+
puts '.furikake.yml が存在していません.'
|
63
|
+
rescue => ex
|
64
|
+
puts '.furikake.yml の読み込みに失敗しました. ' + ex.message
|
65
|
+
exit 1
|
29
66
|
end
|
30
|
-
type
|
31
67
|
end
|
32
68
|
end
|
33
69
|
end
|
data/lib/furikake/setup.rb
CHANGED
@@ -4,11 +4,12 @@ module Furikake
|
|
4
4
|
puts '[setup] creating .furikake.yml...'
|
5
5
|
create_furikake_yaml unless File.exist?('.furikake.yml')
|
6
6
|
puts '[setup] .furikake.yml already exists.'
|
7
|
+
setup_addons
|
7
8
|
exit
|
8
9
|
end
|
9
10
|
|
10
11
|
def self.create_furikake_yaml
|
11
|
-
resource_type = Furikake::Resource.
|
12
|
+
resource_type = Furikake::Resource.load_default_resource_type
|
12
13
|
yaml_contents = <<"EOS"
|
13
14
|
resources:
|
14
15
|
aws:
|
@@ -40,5 +41,56 @@ EOS
|
|
40
41
|
puts '[setup] .furikake.yml created.'
|
41
42
|
exit
|
42
43
|
end
|
44
|
+
|
45
|
+
def self.setup_addons
|
46
|
+
puts '[setup] create `addons` directory? [y/n]'
|
47
|
+
response = STDIN.gets.chomp
|
48
|
+
case response
|
49
|
+
when /^[yY]/
|
50
|
+
self.create_addons_directory unless FileTest.exist?('addons')
|
51
|
+
puts '[setup] `addons` directory already exists.'
|
52
|
+
exit
|
53
|
+
when /^[nN]/, /^$/
|
54
|
+
puts '[setup] `addons` directory not created.'
|
55
|
+
exit 0
|
56
|
+
else
|
57
|
+
puts 'Please input y(Y) or n(N)'
|
58
|
+
setup_addons
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def self.create_addons_directory
|
63
|
+
puts '[setup] creating `addons` directory.'
|
64
|
+
FileUtils.mkdir_p('addons')
|
65
|
+
f = File.open('addons/furikake-resource-addon-example.rb', 'w')
|
66
|
+
f.print <<EOS
|
67
|
+
module Furikake::Resources
|
68
|
+
module Addons
|
69
|
+
class Example
|
70
|
+
def self.report(format = nil)
|
71
|
+
values = [['value1', 'value2'], ['value3', 'value4']]
|
72
|
+
contents = {
|
73
|
+
title: 'Example',
|
74
|
+
resources: [
|
75
|
+
{
|
76
|
+
subtitle: '',
|
77
|
+
header: ['Title1', 'Title2'],
|
78
|
+
resource: values
|
79
|
+
}
|
80
|
+
]
|
81
|
+
}
|
82
|
+
Furikake::Formatter.shaping(format, contents)
|
83
|
+
end
|
84
|
+
|
85
|
+
def self.get_resources
|
86
|
+
... Please implement ...
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
EOS
|
92
|
+
puts '[setup] `addons` directory created.'
|
93
|
+
exit
|
94
|
+
end
|
43
95
|
end
|
44
96
|
end
|
data/lib/furikake/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: furikake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- inokappa
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-11-
|
11
|
+
date: 2018-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|