furikake 0.0.3 → 0.0.4
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 +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
|